ModSecurity pe nginx funcționează ca un Web Application Firewall la nivel de server web, inspectând…

Configurarea SSH securizat pe servere Linux
Configurarea SSH securizat pe servere Linux. Protocolul SSH (Secure Shell) este metoda principală de administrare a serverelor Linux la distanță, iar o configurare incorectă transformă această ușă de acces într-o vulnerabilitate critică.
Atacatorii scanează permanent internetul pentru servere cu SSH expus și configurări slabe. Securizarea SSH este un pas obligatoriu pe orice server Linux.
Configurarea SSH securizat pe servere Linux
SSH oferă acces complet la linia de comandă a serverului. Un atacator care obține acces SSH are control total asupra sistemului, inclusiv asupra tuturor site-urilor WordPress găzduite pe acel server.
Configurarea corectă a SSH implică mai multe straturi de protecție care funcționează împreună pentru a minimiza riscul de acces neautorizat.
Generarea și utilizarea cheilor SSH
Autentificarea bazată pe chei SSH este semnificativ mai sigură decât parolele. O cheie SSH de 4096 biți este practic imposibil de spart prin forță brută.
Generați o pereche de chei pe computerul local, nu pe server.
# Generare cheie Ed25519 (recomandată, mai rapidă și mai sigură)
ssh-keygen -t ed25519 -a 100 -C "admin@wpsecurity.ro"
# Alternativ, generare cheie RSA 4096 biți
ssh-keygen -t rsa -b 4096 -C "admin@wpsecurity.ro"
# Copierea cheii publice pe server
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
# Verificare că autentificarea cu cheie funcționează
ssh -i ~/.ssh/id_ed25519 user@server_ip- Folosiți algoritmul Ed25519 pentru chei noi, este mai rapid și mai sigur decât RSA
- Protejați cheia privată cu o parolă locală (passphrase) puternică
- Nu copiați niciodată cheia privată pe server sau prin canale nesecurizate
- Generați chei separate pentru fiecare computer de pe care accesați serverul
- Setați permisiunile corecte: 700 pe directorul .ssh, 600 pe cheia privată
# Permisiuni corecte pe server
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pubHardening-ul fișierului sshd_config
Fișierul /etc/ssh/sshd_config controlează comportamentul serverului SSH. Modificarea setărilor implicite reduce dramatic suprafața de atac.
Faceți întotdeauna o copie de siguranță înainte de modificare și testați configurarea într-o sesiune SSH separată.
# Backup configurare curentă
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# Configurare recomandată completă
Port 2222
AddressFamily inet
ListenAddress 0.0.0.0
# Autentificare
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# Restricții acces
AllowUsers wordpress_admin deploy_user
MaxAuthTries 3
MaxSessions 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
# Dezactivare funcționalități inutile
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
PermitTunnel no
GatewayPorts no
# Securitate protocol
Protocol 2
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group16-sha512
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
# Logging
LogLevel VERBOSE
SyslogFacility AUTH- Schimbați portul implicit 22 cu un port nestandard (ex: 2222, 2345, 8022)
- Dezactivați complet autentificarea cu parolă după verificarea cheilor SSH
- Limitați accesul doar la utilizatorii care au nevoie de SSH
- Restricționați algoritmii criptografici la cei mai siguri disponibili
- Activați logarea detaliată pentru audit și investigare incidente
# Verificare configurare înainte de restart
sudo sshd -t
# Restart serviciu SSH (mențineți sesiunea curentă deschisă!)
sudo systemctl restart sshd
# Testare conexiune din alt terminal
ssh -p 2222 wordpress_admin@server_ipProtecția cu Fail2Ban pentru SSH
Fail2Ban monitorizează logurile SSH și blochează automat adresele IP care încearcă autentificări eșuate repetate.
Configurarea dedicată pentru SSH oprește atacurile brute force la nivel de rețea.
# Instalare Fail2Ban
sudo apt install fail2ban -y
# Creare configurare locală
sudo tee /etc/fail2ban/jail.local <<'JAILEOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
banaction = ufw
ignoreip = 127.0.0.1/8 YOUR_IP
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
findtime = 600
[sshd-aggressive]
enabled = true
port = 2222
filter = sshd[mode=aggressive]
logpath = /var/log/auth.log
maxretry = 1
bantime = 604800
findtime = 86400
JAILEOF
# Restart și verificare
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd- Configurați două reguli: una standard (3 încercări, ban 24 ore) și una agresivă (1 încercare, ban 7 zile)
- Adăugați adresa IP fixă a dumneavoastră în lista ignoreip
- Monitorizați zilnic IP-urile blocate pentru a identifica surse de atac persistente
Utilizarea SSH prin jump host sau bastion
Un jump host (sau bastion host) este un server intermediar prin care treceți pentru a accesa serverele interne. Acest model elimină expunerea directă a SSH pe serverele de producție.
Configurarea se face în fișierul ~/.ssh/config de pe computerul local.
# Configurare ~/.ssh/config
Host bastion
HostName bastion.wpsecurity.ro
User admin
Port 2222
IdentityFile ~/.ssh/id_ed25519
Host wp-server
HostName 10.0.1.50
User wordpress_admin
Port 22
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion- Serverul bastion este singurul cu SSH expus pe internet
- Serverele de producție acceptă SSH doar din rețeaua internă
- Fiecare conexiune este logată pe bastion pentru audit complet
- ProxyJump permite conexiune transparentă în doi pași
Audit și monitorizare SSH
Monitorizarea activă a conexiunilor SSH vă permite să detectați rapid accesul neautorizat sau comportament suspect.
# Vizualizare autentificări reușite recente
grep "Accepted" /var/log/auth.log | tail -20
# Vizualizare autentificări eșuate
grep "Failed" /var/log/auth.log | tail -20
# Sesiuni SSH active
who
w
# Istoric comenzi ale unui utilizator
sudo cat /home/wordpress_admin/.bash_history | tail -50
# Monitorizare în timp real
sudo tail -f /var/log/auth.log | grep sshd- Verificați zilnic logurile de autentificare SSH pentru activitate neobișnuită
- Configurați alerte prin email pentru autentificări reușite din IP-uri noi
- Auditați periodic cheile SSH autorizate pe fiecare cont de utilizator
- Rotiți cheile SSH anual sau când un membru al echipei pleacă
Configurarea SSH securizat este fundamentală pentru protecția serverelor Linux care găzduiesc WordPress. Pentru mai multe resurse despre securitatea serverelor, vizitați secțiunea de securitate cibernetică și blogul nostru. Pentru audit-uri de securitate SSH profesionale, contactați-ne sau consultați serviciile noastre speciale.
Despre autor
Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.