105 lines
3.6 KiB
Plaintext
105 lines
3.6 KiB
Plaintext
## 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.
|
|
|
|
L'aggiunta 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 all'interfaccia di rete esposta sulla rete considerato ostile, in particoalre Internet.
|
|
|
|
### Verifica delle porte SSH
|
|
Usare il comando _netstat_ con l'account _root_:
|
|
|
|
[source,bash]
|
|
----
|
|
[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 l'account _root_.
|
|
|
|
.Verifica porte abilitate in SELInux per il servizio SSH
|
|
[source,bash]
|
|
----
|
|
[root@fedserv ~]# semanage port -l | grep ssh
|
|
ssh_port_t tcp 22
|
|
----
|
|
|
|
.Abilitazione porta alternativa, ad es. 2222
|
|
[source,bash]
|
|
----
|
|
[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 dall'abilitazione SELinux
|
|
[source,bash]
|
|
----
|
|
[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 sull'interfaccia 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 l'output del comando _firewall-cmd_ a partire dalle righe che contengono la paraola _active_ e le successive 13 righe.
|
|
|
|
[source,bash]
|
|
----
|
|
[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:
|
|
----
|
|
|
|
L'output mostra che risultano attive due zone: _FedoraWorkstation_ e _libvirt_. La prima è associata all'interfaccia di rete fisica *enp3s0*; la seconda all'interfaccia virtuale *virtbr0* (bridge) definita dal virtualizzatore per le connessioni fra macchine virtuali.
|
|
|
|
Il caso d'interesse è evidentemente quello che consente l'accesso SSH da Internet, ovvero, in questo caso, all'interfaccia di rete fisica *enp3s0*.
|
|
La zona attiva su quest'interfaccia, _FedoraWorkStation_ prevede già l'apertura delle porte di valore uguale o superiore a 1025 e, quindi, della porta scelta *2222*.
|
|
|
|
Se la zona attiva sull'interfaccia esterna non prevedesse già l'apertura della porta d'interesse, provvedere all'apertura con i seguenti comandi.
|
|
|
|
.Apertura porta firewall
|
|
[source,bash]
|
|
----
|
|
# Configurazione peristente del firewall
|
|
[root@minis ~]# firewall-cmd --permanent --service="ssh" --add-port="2222/tcp"
|
|
|
|
# Attivazione della configurazione
|
|
[root@minis ~]# firewall-cmd --reload
|
|
----
|
|
|