Passa al contenuto principale

Gestione dell'accesso SSH su Rocky Linux

Questa procedura spiega come limitare l'accesso SSH a specifici IP pubblici oppure come esporre SSH su una porta pubblica personalizzata su un nodo Rocky Linux che esegue NethServer 8.

Con una subscription attiva, lascia il servizio SSH in ascolto sulla porta locale standard 22/tcp. Questo requisito e` necessario per il corretto funzionamento del servizio di supporto remoto integrato.

Limita l'accesso SSH a IP specifici sulla porta 22

Se vuoi consentire l'accesso SSH solo da specifici IP pubblici, aggiungi una regola rich di Firewalld e rimuovi l'esposizione predefinita del servizio ssh.

Esegui:

REMOTEIP=<IP_REMOTO>
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=${REMOTEIP} port port=22 protocol=tcp accept"
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Per esempio, per consentire l'accesso SSH solo da 99.88.77.66:

REMOTEIP=99.88.77.66
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=${REMOTEIP} port port=22 protocol=tcp accept"
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Per consentire un altro IP pubblico, ripeti gli stessi comandi con l'indirizzo aggiuntivo.

Esporre SSH su una porta pubblica personalizzata

Se vuoi esporre SSH su una porta pubblica diversa senza limitare l'accesso per IP sorgente, configura un redirect firewall verso la porta locale 22.

Esegui:

SSHPORT=<PORTA_REDIRECT>
firewall-cmd --permanent --add-forward-port=port=${SSHPORT}:proto=tcp:toport=22
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Per esempio, per esporre SSH sulla porta pubblica 2222:

SSHPORT=2222
firewall-cmd --permanent --add-forward-port=port=${SSHPORT}:proto=tcp:toport=22
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Esporre SSH su una porta pubblica personalizzata e limitare l'accesso per IP

Se il nodo e` ospitato su un VPS o in un altro ambiente pubblico, puoi combinare il redirect della porta con una limitazione per IP sorgente.

Esegui:

SSHPORT=<PORTA_REDIRECT>
REMOTEIP=<IP_REMOTO>
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=${REMOTEIP} forward-port port=${SSHPORT} protocol=tcp to-port=22"
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Per esempio, per consentire l'accesso SSH da 99.88.77.66 sulla porta pubblica 2222:

SSHPORT=2222
REMOTEIP=99.88.77.66
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=${REMOTEIP} forward-port port=${SSHPORT} protocol=tcp to-port=22"
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

Per consentire un IP pubblico aggiuntivo sulla stessa porta rediretta, esegui:

SSHPORT=2222
REMOTEIP=77.66.55.44
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=${REMOTEIP} forward-port port=${SSHPORT} protocol=tcp to-port=22"
firewall-cmd --reload
NethServer 8