Cosa fare per tentativi di interruzione ssh [duplicato]

1

Il nostro sistema era usato per essere bombardato da bot che tentavano di accedere al client ssh sulla porta standard. Dopo il passaggio a un altro numero di porta, i tentativi di accesso non riusciti sono stati praticamente interrotti completamente. Di recente, nell'ultima settimana ci sono stati alcuni sconosciuti i.p. indirizzi che tentano di accedere (in media circa 60 tentativi al giorno) che sembrano essere su alcune reti diverse provenienti dallo stesso isp in Cina.

Non ho esperienza di sicurezza, a parte l'impostazione di base dei client e la modifica delle password ecc.

Utilizziamo logwatch per raccogliere alcune informazioni sui tentativi di accesso. Qual è l'informazione chiave di cui ho bisogno riguardo ai tentativi di analizzare la situazione e agire?

Quali sono i passaggi di base per assicurarci che non siamo già stati violati?

Quali altre azioni dovrei prendere?

    
posta BryanK 30.08.2014 - 16:36
fonte

2 risposte

6
  1. Non consentire il login SSH nell'account root . Accedi con un account utente con un nome che è più difficile da indovinare. Quando devi fare qualcosa come root , usa su o sudo dopo aver effettuato l'accesso.
  2. Assicurati che le tue password siano abbastanza lunghe da evitare di essere forzate. La velocità che un utente malintenzionato può utilizzare per la forza bruta sulla rete è severamente limitata, quindi una password di 8 lettere a caratteri misti senza alcuna relazione con una parola del dizionario è più che sufficiente.
  3. Ancora meglio, utilizza i keyfile per l'accesso SSH . In questo modo gli accessi SSH sono possibili solo con il file di chiavi corretto sul sistema client. La forzatura bruta di una chiave RSA (se generata correttamente) è molto improbabile che abbia successo prima della fine dell'universo, quindi nessuno ci proverebbe nemmeno.
  4. Installa fail2ban . Questo strumento aggiunge automaticamente le regole del firewall che bloccano gli indirizzi IP che generano un numero insolitamente elevato di tentativi di accesso non riusciti. Quando hai seguito i passaggi precedenti, questo non dovrebbe essere effettivamente necessario da un punto di vista della sicurezza e potrebbe causare l'overblocco di utenti legittimi che condividono un IP con un utente malintenzionato (NAT carrier-grade, indirizzi IP dinamici), ma riduce il carico di risorse su il server per non dover rispondere a tutti i tentativi di accesso.
risposta data 30.08.2014 - 16:52
fonte
2

Un altro suggerimento, che in realtà è meglio di fail2ban, è il firewall disattivato TUTTI i ips ECCETTO per alcuni consentiti.

Pertanto, diciamo che hai un server SSH a casa a cui accedi dalla tua casa vacanza (3G mobile broadband) e il tuo lavoro.

Il tuo lavoro ha un IP statico. Semplice da dire al firewall di consentire attraverso i pacchetti per questo IP.

3G mobile broadband Cambia ogni connessione, ma puoi facilmente consultare WHOIS a cui sono assegnati gli ISP. Ad esempio: "123.123.0.0 a 123.123.255.255". Quindi comunica al firewall di passare attraverso 123.123.0.0/16 alla porta 22 sul tuo server.

Anche in questo caso hai permesso ad ogni cliente di quell'operatore di telefonia mobile 3G di autenticarsi con il tuo server SSH, ma ANCORA ha un enorme miglioramento della sicurezza, poiché invece di consentire a tutto il Mondo di autenticarsi sul tuo server SSH, hai invece limitato questo solo per i clienti con un account ISP specifico in un Paese.

I blocchi paese sono anche un'ottima idea se si hanno più utenti sul server SSH ma si sa che tutti gli utenti si trovano in un paese specifico. Ad esempio, se hai venduto il web hosting a loro, ma utilizzando un metodo di pagamento che può essere utilizzato solo dai cittadini in un determinato paese. Quindi è più sicuro bloccare semplicemente tutti i Paesi tranne i Paesi da cui accetti i clienti.

Un altro passo che puoi fare è limitare la velocità di accesso usando iptables come questo:

iptables -A INPUT -p tcp -dport 22 -m conntrack -ctstate NEW -m limit -limit 3 / minute -limit-burst 3 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

utilizzando due regole del firewall sopra limite qualsiasi tentativo di accesso a 3 volte al minuto. modifica di conseguenza alle tue esigenze.

    
risposta data 31.08.2014 - 03:20
fonte

Leggi altre domande sui tag