Immagino che tu abbia citato un'università come punto di riferimento per l'ambiente e che non stia prendendo in considerazione la censura. Ma un server OpenSSH funzionerà bene qui. Anche se non è consigliabile, suppongo che userete l'utente root
, assicuratevi che venga utilizzata una password rispettabile, questo vale per qualsiasi utente autorizzato all'accesso SSH. Se l'autenticazione della password (tastiera interattiva) non è adatta a te, consulta l'autenticazione della chiave pubblica, utilizzando ED25519 521-bit o RSA 4096-bit.
Riguardo a /etc/ssh/sshd_config
, indurisci quanto segue:
Port 30000
LogLevel VERBOSE
LoginGraceTime 120
PermitRootLogin yes
PermitEmptyPasswords no
# Ideal session timeout
ClientAliveInterval 600
ClientAliveCountMax 0
# Enhanced Authentication
KexAlgorithms diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521
Ciphers aes256-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256
AllowUsers root
Vorrei sottolineare che il CTR è preferito su CBC per l'esclusiva OpenSSH, vedi: ' Attacchi di recupero in testo normale Contro SSH '. La porta utilizzata per l'SSH è la tua scelta se esposta a Internet usa una porta non standard, a causa delle botnet.
Fail2Ban è una scelta valida per la protezione da forza bruta. Considera la seguente configurazione:
[ssh]
enabled = true
filter = sshd
port = 3000
bantime = 600
findtime = 120
maxretry = 5
logpath = /var/log/auth.log
Ovviamente regolati in base alle tue esigenze, in quanto i bantimes lunghi possono essere un problema se ti blocchi per sbaglio. Inoltre, consiglierei di mantenere Fail2Ban abilitato se l'autenticazione della chiave pubblica è abilitata. Poiché ridurrà il traffico in caso di forza bruta botnet e quindi il consumo della CPU.
Verifica la tua configurazione con $ hydra -l root -P /root/rockyou.txt 192.168.1.100 -t 4 ssh
dove rockyou.txt
è una lista di parole. Questo per garantire che la protezione da forza bruta funzioni correttamente. È possibile generare un elenco di parole con john
o crunch
o scaricarne uno. Inoltre, utilizzando nmap
assicurati che le sole porte aperte siano quelle che desideri siano esposte alla tua interfaccia di rete.
Anche se non lo espanderò, OpenVPN è un'altra opzione praticabile, ma lo considero solo su SSH quando ho bisogno di eludere la censura.