[Guida] Come proteggersi dal BruteForce SSH

  • Cambiare la porta su cui SSH è in funzione, mettendo in pratica una strategia di tipo “security by obscurity”.

basta editare /etc/ssh/sshd_config e modificare la linea
Codice:
Port 22

sostituendo la porta di default ad esempio con la 2222:
Codice:
Port 2222

E’ veramente un workaround molto modesto, eppure basta a scongiurare la maggior parte degli attacchi.
  • Permettere solamente la versione 2 del Protocollo, cambiando la linea seguente (ove fosse ancora presente in quei termini):

da
Codice:
#Protocol 2,1


a

Codice:
Protocol 2
  • Disabilitare la possibilità di effettuare il login come root:

Codice:
PermitRootLogin no
  • Limitare il numero massimo di connessioni simultanee non autenticate permesse dal server ssh. Più basso è il relativo valore, più arduo diventa per gli script kiddies effettuare paralleli, coordinati tentativi di cracking attraverso connessioni multiple .

Per attuare questa misura occorre diminuire il valore di MaxStartups (quello di default è 10), ad esempio a 3
Codice:
#MaxStartups 10
MaxStartups 3
  • Permettere solamente a specifici utenti di effettuare il login.

Nel caso ad esempio che lo si volesse riservare agli utenti stanlio e ollio:
Codice:
AllowUsers stanlio, ollio
  • Permettere la connessione solamente a partire da certi indirizzi.


Prima di specificarli la policy default deve prima essere impostata a DENY perché ciò abbia senso.
Occorre editare /etc/hosts.deny ed aggiungere la linea:
Codice:
sshd: ALL

Successivamente aggiungere a /etc/hosts.allow gli host/networks abilitati all’accesso.
Ad esempio:
Codice:
sshd: 192.168.1.0/255.255.255.0
sshd: 10.0.0.0/255.0.0.0
sshd: 24.42.72.101

Dato tuttavia che gli attacchi mirati a ssh rientrano nella tipologia del password cracking o password guessing, ad esclusione del caso in cui si mantenga la compatibilità con la obsoleta e vulnerabile. la soluzione e
rendereicuro un accesso ssh rimane quella di ricorrere ad una tipologia di
  • autenticazione non basata su password, bensì su coppie di chiavi pubblica/privata

Codice:
# ssh-keygen -b 4096 -f /etc/ssh/ssh_key -N ""
Generating public/private rsa key pair.
.fu uuw w4q           ffYour identification has been saved in /etc/ssh/ssh_key.
Your public key has been saved in /etc/ssh/ssh_key.pub.
The key fingerprint is:
78:82:96:bb:10:76:42:06:3e:cd:24:2c:a8:66:08:87 root@server
The key's randomart image is:
+--[ RSA 4096]—-+
|+o .             |
|Eo*              |
|=+oo             |
|o=.  o .         |
|o + = o S        |
| . = . o         |
|  . .            |
|   . .           |
|    .            |
+—————–+

La chiave pubblica così generata va copiata nel file ~/.ssh/authorized_key del server (che qui ha un indirizzo di fantasia 82.184.224.107, e per farlo non manualmente si può adoperare il tool ssh-copy-id
Codice:
# ssh-copy-id -i /etc/ssh/ssh_key.pub 82.184.224.107

Sempre sul server, in cui deve essere già presente un’installazione di base funzionante di SSH, aggiornate il file /etc/ssh/sshd_config e settate i campi:
Codice:
HostbasedAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes

Per rendere operative le nuove impostazioni occorre riavviare il servizio:
Codice:
# /etc/init.d/ssh restart


dal client si può quindi effettuare un test di collegamento con:

Codice:
# ssh -i /etc/ssh/ssh_key 82.184.224.107

In caso di esito positivo, si possono (sul server) modificare anche le opzioni:
Codice:
ChallengeResponseAuthentication no
PasswordAuthentication no

L’abbinamento di questa tecnica con lo spostamento della porta di ascolto del demone sshd rende di fatto invulnerabile il servizio sia ai tentativi di intrusione che a quelli di semplice enumerazione o scansione.
Codice:
# ssh -i /etc/ssh/ssh_key -p 2222 82.184.224.107
1) Evita di consigliare la porta 2222 che è una tra le porte alternative più usate
6) Visto che l'utenza a cui è rivolta la guida non è molto esperta non dovresti dare per scontato che sappiano che riavviando il router l'ip cambia. Oltretutto anche ad una persona esperta può capitare un blackout in casa e di conseguenza il cambio ip, rimanendo bloccata fuori dal server.
7) Alla fine parli di demone sshd. Personalmente non ho mai sentito qualcuno che traduce daemon mentre si parla di informatica.

~ Xiaomi Redmi Note 2 Prime ~
My Config:
    MotherBoard: GigaByte 990 FX A-UD3 Ultra Durable
    CPU: AMD FX-8350 (8 core, 4.00GHz)
    Dissipatore: ThermalRight Macho HR-02 Rev.a
    RAM: Corsair Vengeance 8GB 4GBx2
    GPU: nVidia GTX 780 Asus OC
    PSU: Corsair CX 750M
    Case: Cooler Master 690 III Midi
    SSD 256GB
    HHD 1TB
    Masterizzatore
15/03/2016, 15:29SkiFire13 ha scritto: 1) Evita di consigliare la porta 2222 che è una tra le porte alternative più usate
6) Visto che l'utenza a cui è rivolta la guida non è molto esperta non dovresti dare per scontato che sappiano che riavviando il router l'ip cambia. Oltretutto anche ad una persona esperta può capitare un blackout in casa e di conseguenza il cambio ip, rimanendo bloccata fuori dal server.
7) Alla fine parli di demone sshd. Personalmente non ho mai sentito qualcuno che traduce daemon mentre si parla di informatica.

~ Xiaomi Redmi Note 2 Prime ~

1...6...7 manca qualche punto? Unsure

Comunque queste tecniche rallentano solo il brute force.
[Immagine: qqilzz-5.png]
[Immagine: tb3jj6-5.png]
15/03/2016, 17:37AirOneBlack ha scritto:
15/03/2016, 15:29SkiFire13 ha scritto: 1) Evita di consigliare la porta 2222 che è una tra le porte alternative più usate
6) Visto che l'utenza a cui è rivolta la guida non è molto esperta non dovresti dare per scontato che sappiano che riavviando il router l'ip cambia. Oltretutto anche ad una persona esperta può capitare un blackout in casa e di conseguenza il cambio ip, rimanendo bloccata fuori dal server.
7) Alla fine parli di demone sshd. Personalmente non ho mai sentito qualcuno che traduce daemon mentre si parla di informatica.

~ Xiaomi Redmi Note 2 Prime ~

1...6...7 manca qualche punto? Unsure

Comunque queste tecniche rallentano solo il brute force.
Erano riferiti ai punti della guida .-.

~ Xiaomi Redmi Note 2 Prime ~
My Config:
    MotherBoard: GigaByte 990 FX A-UD3 Ultra Durable
    CPU: AMD FX-8350 (8 core, 4.00GHz)
    Dissipatore: ThermalRight Macho HR-02 Rev.a
    RAM: Corsair Vengeance 8GB 4GBx2
    GPU: nVidia GTX 780 Asus OC
    PSU: Corsair CX 750M
    Case: Cooler Master 690 III Midi
    SSD 256GB
    HHD 1TB
    Masterizzatore
Discussioni simili

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)