Modifica portul 22 pentru sshd
Jan. 20, 2019, 10:37 a.m. TestCat linux centos selinux
Mai devreme sau mai tarziu, modificarea portului standard de ssh este necesara, daca nu si recomandata.
Ar trebui sa avem in vedere pasii urmatori.
Adaugam intai un al doilea port (de exemplu 6666), lasand in acelasi timp si vechiul port 22 activ, pana ne asiguram ca avem o configuratie functionala.
Deschidem vi /etc/ssh/sshd_config
si cautam # Port 22
, vom adauga un nou port, sa spunem 6666
si lasam ambele porturi activate momentan:
Port 22
Port 6666
Sa verificam intai configuratia firewalld
, lista de porturi deschise (pt. alte comenzi firewall-cmd --help
):
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s25
sources:
services: dhcpv6-client http ssh https
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Adaugam noul port 6666
in configuratia firewalld
:
# deschidem portul in firewall,
# atentie nu supravietuieste unui server restart
firewall-cmd --add-port 6666/tcp
Daca avem SELinux activat, trebuie sa precizam ca dorim access la 6666
:
# deschide portul si in SELinux
semanage port -a -t ssh_port_t -p tcp 6666
Acum putem face restart pt serviciul sshd
:
systemctl restart sshd
Incercam o conexiune ssh
pe noul port:
# ---> now try to ssh from local
ssh username@remoteserver -p 6666
Daca am reusit sa ne conectam, facem ca setarile firewalld
sa fie persistente:
# adaugam port-ul 6666 ca fiind permanent
firewall-cmd --add-port 6666/tcp --permanent
# reincarcam noua configuratie firewalld
firewall-cmd --reload
Acum putem renunta la portul "default" ssh
22
:
# indepartam portul 22 din configuratia firewalld
firewall-cmd --remove-service ssh --permanent
# reincarcam configuratia
firewall-cmd --reload
# restartam sshd
systemctl restart sshd
Acum pentru verificare, listam toate porturile deschise in firewalld
. Observam prezenta noului port 6666
, si vechiul port 22 ssh
lipseste, pentru ca l-am dezactivat:
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s25
sources:
services: dhcpv6-client http https
ports: 6666/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Intrucat, am avut surpriza ca portul sa fie descoperit dupa ceva timp, si sa incep sa vad iarasi incercari "brute-force", de a ghici parola de acces ssh am cautat sa studiez problema.
Bineinteles am incercat fail2ban
, dar am inceput sa studiez si ansible
si lucrez la un playbook care sa modifice portul folosit de ssh la un anumit interval de timp.
Asta intr-un post din viitor...
to be continued