Blocco degli indirizzi IP cinesi

9

Di recente ho controllato il file auth.log di uno dei miei server e ho notato attività molto sospette. Recentemente ho chiuso il demone ssh del mio server, quindi i registri terminano il 22 gennaio, ma quello che ho notato dopo aver esaminato il file di registro è che tutti gli indirizzi IP sono cinesi.

Ecco le ultime 10 righe di tentativi di accesso non riusciti:

$ cat auth.log | grep Failed | tail -n10
Jan 22 13:42:14 servername sshd[10306]: Failed password for root from 183.3.202.104 port 10894 ssh2
Jan 22 13:42:18 servername sshd[10306]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 10894 ssh2]
Jan 22 13:42:28 servername sshd[10365]: Failed password for root from 183.3.202.104 port 34140 ssh2
Jan 22 13:42:32 servername sshd[10365]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 34140 ssh2]
Jan 22 13:42:44 servername sshd[10423]: Failed password for root from 183.3.202.104 port 56290 ssh2
Jan 22 13:42:48 servername sshd[10423]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 56290 ssh2]
Jan 22 13:43:03 servername sshd[10511]: Failed password for root from 183.3.202.104 port 64153 ssh2
Jan 22 13:43:08 servername sshd[10511]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 64153 ssh2]
Jan 22 13:43:18 servername sshd[10569]: Failed password for root from 183.3.202.104 port 33472 ssh2
Jan 22 13:43:23 servername sshd[10569]: message repeated 2 times: [ Failed password for root from 183.3.202.104 port 33472 ssh2]

Durante la ricerca di indirizzi IP non 183.3.202.104, le linee diventano:

$ cat auth.log | grep Failed | grep -v 183.3.202.104 | tail -n10
Jan 22 02:36:41 servername sshd[31074]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 33746 ssh2]
Jan 22 02:36:54 servername sshd[31388]: Failed password for root from 221.203.142.71 port 57792 ssh2
Jan 22 02:37:13 servername sshd[31388]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 57792 ssh2]
Jan 22 02:37:25 servername sshd[31698]: Failed password for root from 221.203.142.71 port 55440 ssh2
Jan 22 02:37:41 servername sshd[31698]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 55440 ssh2]
Jan 22 02:37:58 servername sshd[31918]: Failed password for root from 221.203.142.71 port 50225 ssh2
Jan 22 02:38:13 servername sshd[31918]: message repeated 5 times: [ Failed password for root from 221.203.142.71 port 50225 ssh2]
Jan 22 04:55:23 servername sshd[22179]: Failed password for invalid user support from 113.160.158.43 port 61614 ssh2
Jan 22 09:36:40 servername sshd[4160]: Failed password for invalid user a from 115.182.249.11 port 53046 ssh2
Jan 22 09:36:52 servername sshd[4204]: Failed password for invalid user oracle from 115.182.249.11 port 56673 ssh2

Quindi, prima di tutto, vorrei confermare che si tratta davvero di un attacco; Sono molto poco pratico con la gestione della sicurezza del sistema. In secondo luogo, vorrei sapere se esiste un modo per bloccare tutti gli indirizzi IP cinesi; il mio server è stato finora utilizzato esclusivamente in America e non ha nulla a che fare con la Cina.

    
posta Honesty 25.01.2016 - 15:09
fonte

2 risposte

8

Puoi provare l'elenco dei blocchi di Wizcraft e formattarlo di conseguenza. Al momento del mio post, questa blocklist è stata aggiornata l'ultima volta giovedì 24 dicembre 2015 alle 11:01:52. Tieni presente che Taiwan non fa parte della Cina continentale, ma a Hong Kong appartiene ora ed è controllata da Pechino.

Se usi esclusivamente il tuo server esclusivamente in America, puoi usare tutto di quelle regole per bloccare gli attaccanti. In caso contrario, modifica quelli che non vuoi e mantieni quelli che fai.

Ricorda anche che questo non impedirà agli attaccanti di connettersi a una VPN in un Paese di loro scelta e tenterà nuovamente di accedere come root. Questo è semplicemente un cerotto.

EDIT - BadSkillz e Jenny D hanno raccomandato fail2ban . Questa sarà probabilmente una soluzione migliore nel complesso, ma probabilmente non sarebbe male usare entrambi i metodi.

    
risposta data 25.01.2016 - 15:33
fonte
3

Trovo anche inquietante vedere questi tentativi di accesso alla forza bruta della fronte bassa e purtroppo sì sono principalmente dalla Cina (spionaggio "Aspirapolvere") - La buona notizia è che la soluzione è semplice - consente solo l'accesso al server usando i tasti SSH che ti consente di disabilitare le password come metodo di accesso

Per prima cosa crea le tue chiavi SSH sicure:

vedi doc per linux / OSX / Windows link

in un terminale sul problema casella locale

ssh-keygen -t rsa -b 4096 -C "[email protected]"

questo ti richiederà una password (ricordalo) ... creerà una coppia di file di chiavi privata e pubblica

private file  /home/mylogin/.ssh/id_rsa_supermoon
public file   /home/mylogin/.ssh/id_rsa_supermoon.pub

Questi file ora sono localizzati sul tuo computer ... copia il file pubblico sul tuo server remoto e inseriscilo in un file (o aggiungilo a)

/home/mylogin/.ssh/authorized_keys

assicurati che abbia permessi file appropriati sull'host remoto

chmod 700 /home/mylogin/.ssh
chmod 600 /home/mylogin/.ssh/authorized_keys

Ora torna sul tuo problema con l'host locale per accedere a ssh alla casella remota

# only need to issue this set of 3 cmds once on same terminal
export REMOTE_IP=1.2.3.4 # your remote host IP
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa_supermoon  # enter same password as above

ssh mylogin@${REMOTE_IP}

* Inizio facoltativo ------------ *

PS - malato di prompt della password su ogni ssh, quindi mettilo nel tuo ~ / .bashrc locale

if [ ! -S ~/.ssh/ssh_auth_sock ]; then
  eval $(ssh-agent)
  ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l | grep "The agent has no identities" && ssh-add ~/.ssh/id_rsa_supermoon

------------ Fine di

facoltativo

IMPORTANTE: conferma di poter accedere correttamente usando ssh ... SOLO quindi sull'host remoto modifica il file di configurazione ssh

sudo vi /etc/ssh/sshd_config  
# PasswordAuthentication yes   # we do NOT want yes if ssh keys work
PasswordAuthentication no

per impegnarsi sopra la modifica del file di configurazione sull'host remoto, basta far rimbalzare il server ssh:

sudo service sshd restart  # (systemd ONLY) this does not kill your login session

Fatto - Non vedrai immediatamente più tentativi di accesso bruti dal momento che il tuo host remoto ora ignora in modo sommario i tentativi di password e quei guttersnipes scapperanno via per infastidire il server non protetto di qualcun altro

    
risposta data 19.11.2016 - 04:18
fonte

Leggi altre domande sui tag