linux/sshd_add_ports.adoc

3.6 KiB
Raw Blame History

Configurazione porte SSH alterative

Per aggiungere una nuova porta al servizio SSH è necessario

  • Abilitare la porta in SELinux, se è attivo.

  • Aprire la porta nel firewall, se attivo.

  • Aggiungere la porta alla configurazione di OpenSSH.

Laggiunta di una nuova porta, eventualmente sostitutiva di quella predefinita 22, ha lo scopo di ridurre la possibilità di violazione del servizio SSH esposto su Internet. Pertanto, le operazioni descritte sono orientate alla configurazione del servizio rispetto allinterfaccia di rete esposta sulla rete considerato ostile, in particoalre Internet.

Verifica delle porte SSH

Usare il comando netstat con laccount root:

[root@fedserv ~]# netstat -tunlp | grep ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      813/sshd: /usr/sbin
tcp6       0      0 :::22                   :::*                    LISTEN      813/sshd: /usr/sbin

Configurazione SELinux

Usare il comando semanage con laccount root.

Verifica porte abilitate in SELInux per il servizio SSH
[root@fedserv ~]# semanage port -l | grep ssh
ssh_port_t                    tcp      22
Abilitazione porta alternativa, ad es. 2222
[root@fedserv ~]# semanage port -a -p tcp -t ssh_port_t 2222

# Verifica
[root@fedserv ~]# semanage port -l | grep ssh
ssh_port_t                     tcp      2222, 22
Comando per la rimozione di una porta dallabilitazione SELinux
[root@fedserv ~]# semanage port -d -t ssh_port_t -p tcp 2222

Configurazione firewall

La configurazione del firewall potrebbe non essere necessaria se la zona attiva sullinterfaccia di rete considerata comprende già la porta da aprire.

Si consideri la seguente configurazione predefinita estratta dal mini-pc minis nel quale è installato il software di virtualizzazione.

Tip
Il filtro grep seleziona loutput del comando firewall-cmd a partire dalle righe che contengono la paraola active e le successive 13 righe.
[camoroso@minis ~]$ firewall-cmd --list-all-zones |grep -A 13 active
FedoraWorkstation (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp3s0
  sources:
  services: dhcpv6-client mdns samba samba-client ssh
  ports: 1025-65535/udp 1025-65535/tcp
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
--
libvirt (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: virbr0
  sources:
  services: dhcp dhcpv6 dns ssh tftp
  ports:
  protocols: icmp ipv6-icmp
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Loutput mostra che risultano attive due zone: FedoraWorkstation e libvirt. La prima è associata allinterfaccia di rete fisica enp3s0; la seconda allinterfaccia virtuale virtbr0 (bridge) definita dal virtualizzatore per le connessioni fra macchine virtuali.

Il caso dinteresse è evidentemente quello che consente laccesso SSH da Internet, ovvero, in questo caso, allinterfaccia di rete fisica enp3s0. La zona attiva su questinterfaccia, FedoraWorkStation prevede già lapertura delle porte di valore uguale o superiore a 1025 e, quindi, della porta scelta 2222.

Se la zona attiva sullinterfaccia esterna non prevedesse già lapertura della porta dinteresse, provvedere allapertura con i seguenti comandi.

Apertura porta firewall
# Configurazione peristente del firewall
[root@minis ~]# firewall-cmd --permanent --service="ssh" --add-port="2222/tcp"

# Attivazione della configurazione
[root@minis ~]# firewall-cmd --reload