OpenSSH (Apri Secure Shell) è un insieme di applicazioni che consentono comunicazioni crittografate su una rete, utilizzando l'estensione protocollo SSH. È stato creato come alternativa gratuita e aperta al programma Secure Shell, che è un software proprietario. « wikipedia.
Alcuni utenti potrebbero pensare che le buone pratiche dovrebbero essere applicate solo sui server e non lo sono. Molte distribuzioni GNU / Linux includono OpenSSH per impostazione predefinita e ci sono alcune cose da tenere a mente.
Sicurezza
Questi sono i 6 punti più importanti da tenere a mente quando si configura SSH:
- Usa una password complessa.
- Cambia la porta predefinita di SSH.
- Usa sempre la versione 2 del protocollo SSH.
- Disabilita l'accesso root.
- Limita l'accesso degli utenti.
- Usa l'autenticazione con chiave.
- Altre opzioni
Una password complessa
Una buona password è quella che contiene caratteri alfanumerici o speciali, spazi, lettere maiuscole e minuscole... ecc. Qui dentro DesdeLinux Abbiamo mostrato diversi metodi per generare buone password. Può visitare questo articolo y quest'altro.
Cambia la porta predefinita
La porta predefinita di SSH è 22. Per cambiarla, tutto ciò che dobbiamo fare è modificare il file /etc/ssh/sshd_config. Cerchiamo la riga che dice:
#Port 22
lo decommentiamo e cambiamo il 22 con un altro numero .. per esempio:
Port 7022
Per conoscere le porte che non stiamo utilizzando nel nostro computer / server possiamo eseguire nel terminale:
$ netstat -ntap
Ora per accedere al nostro computer o server dobbiamo farlo con l'opzione -p come segue:
$ ssh -p 7022 usuario@servidor
Usa protocollo 2
Per assicurarci di utilizzare la versione 2 del protocollo SSH, dobbiamo modificare il file /etc/ssh/sshd_config e cerca la riga che dice:
# Protocollo 2
Lo rimuoviamo dal commento e riavviamo il servizio SSH.
Non consentire l'accesso come root
Per evitare che l'utente root possa accedere da remoto tramite SSH, guardiamo nel file/etc/ssh/sshd_config la linea:
#PermitRootLogin no
e lo rimuoviamo dal commento. Penso che valga la pena chiarire che prima di fare ciò dobbiamo assicurarci che il nostro utente disponga delle autorizzazioni necessarie per eseguire attività amministrative.
Limita l'accesso da parte degli utenti
Inoltre non fa male consentire l'accesso tramite SSH solo a determinati utenti fidati, quindi torniamo al file /etc/ssh/sshd_config e aggiungiamo la riga:
ConsentiUtenti elav usemoslinux kzkggaara
Dove ovviamente, gli utenti elav, usemoslinux e kzkggaara sono quelli che potranno accedere.
Usa l'autenticazione con chiave
Sebbene questo metodo sia il più consigliato, dobbiamo prestare particolare attenzione perché accediamo al server senza inserire la password. Ciò significa che se un utente riesce ad accedere alla nostra sessione o il nostro computer viene rubato, possiamo essere nei guai. Tuttavia, vediamo come farlo.
La prima cosa è creare una coppia di chiavi (pubblica e privata):
ssh-keygen -t rsa -b 4096
Quindi passiamo la nostra chiave al computer / server:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Infine dobbiamo avere decommentato, nel file /etc/ssh/sshd_config la linea:
AuthorizedKeysFile .ssh/authorized_keys
Altre opzioni
Possiamo ridurre a 30 secondi il tempo di attesa durante il quale un utente può accedere con successo al sistema
LoginGraceTime 30
Per evitare attacchi ssh tramite TCP Spoofing, lasciando attivo il criptato sul lato ssh per un massimo di 3 minuti, possiamo attivare queste 3 opzioni.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Disabilitare l'uso di file rhosts o shosts, che per motivi di sicurezza si raccomanda di non essere utilizzati.
IgnoreRhosts sì IgnoreUserKnownHosts sì RhostsAuthentication no RhostsRSAAuthentication no
Verificare le autorizzazioni effettive dell'utente durante il login.
StrictModes yes
Abilita la separazione dei privilegi.
UsePrivilegeSeparation yes
Conclusioni:
Eseguendo questi passaggi possiamo aggiungere ulteriore sicurezza ai nostri computer e server, ma non dobbiamo mai dimenticare che c'è un fattore importante: cosa c'è tra la sedia e la tastiera. Ecco perché consiglio di leggere questo articolo.
fonte: ComeForgiare
Ottimo post @elav e aggiungo alcune cose interessanti:
AccediGraceTime 30
Questo ci consente di ridurre a 30 secondi il tempo di attesa durante il quale un utente può accedere con successo al sistema
TCPKeepAlive non lo fa
ClienteAliveIntervallo 60
ClientAliveCountMax 3
Queste tre opzioni sono molto utili per evitare attacchi ssh tramite TCP Spoofing, lasciando attivo il criptato sul lato ssh per un massimo di 3 minuti.
IgnoreRhosts sì
IgnoreUserKnownHosts sì
RhostsAutenticazione n
RhostsRSA Autenticazione no
Disabilita l'uso di file rhosts o shosts, che per motivi di sicurezza si raccomanda di non essere utilizzati.
StrictModes sì
Questa opzione viene utilizzata per verificare le autorizzazioni effettive dell'utente durante il login.
UsePrivilegeSeparation sì
Abilita la separazione dei privilegi.
Bene, tra un po 'modifico il post e lo aggiungo al post 😀
Rimuovere i commenti per non modificare la linea è ridondante. Le righe commentate mostrano il valore di default di ogni opzione (leggi il chiarimento all'inizio del file stesso). L'accesso root è disabilitato per impostazione predefinita, ecc. Pertanto, la rimozione del commento non ha assolutamente alcun effetto.
Sì, ma ad esempio, come sappiamo che stiamo utilizzando solo la versione 2 del protocollo? Perché potremmo usare 1 e 2 allo stesso tempo. Come dice l'ultima riga, la rimozione del commento da questa opzione, ad esempio, sovrascrive l'opzione predefinita. Se usiamo la versione 2 per impostazione predefinita, va bene, altrimenti la usiamo SÌ o SÌ 😀
Grazie per il commento
Articolo molto buono, sapevo diverse cose ma una cosa che non mi è mai chiara è l'uso delle chiavi, veramente cosa sono e quali vantaggi ha, se uso le chiavi posso usare le password ??? In tal caso, perché aumenta la sicurezza e, in caso contrario, come posso accedervi da un altro PC?
Saluti, ho installato Debian 8.1 e non riesco a connettermi dal mio pc Windows a Debian con WINSCP, dovrò usare il protocollo 1? qualsiasi aiuto .. grazie
Adriano
Potresti essere interessato a questo video su openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Voglio provare alcune cose qui, molte le ho già provate grazie ad Arch Wiki, altre per pigrizia o ignoranza. Lo salverò per quando avvierò il mio RPi