PDA

View Full Version : ssh in rete


Demin Black Off
26-12-2006, 14:23
Vorrei sapere se esistono sistemi un pelo più sicuri rispetto a cambiare la porta di ssh.

Attualmente utilizzo l'autenticazione solo tramite chiavi, però ricevo cmq molti tentativi.

Per esempio, nei log vedo che nella maggior parte dei casi, il tentativo è doppio :

Dec 26 11:29:43 SRC=210.*.*.* PROTO=TCP SPT=43060 DPT=22
Dec 26 11:29:46 SRC=210.*.*.* PROTO=TCP SPT=43060 DPT=22
Dec 26 13:59:27 SRC=65.*.*.* PROTO=TCP SPT=43999 DPT=22
Dec 26 13:59:30 SRC=65.*.*.* PROTO=TCP SPT=43999 DPT=22

questo bloccando la porta 22 all'esterno.

Stavo pensando di realizzare un programmino in c che fa questo, non direttamente collegato in rete, che semplicemente legge i log, vede ad esempio che l'ip x.x.x.x ha tentato di collegarsi 5 volte alla porta 10343 e lo sblocca per 10secondi da iptables solo quell'indirizzo in modo da potermi collegare su ssh.

Dite che questo, congiunto al cambio di porta di ssh e all'autenticazione tramite chiave, mi garantirebbe un livello di protezione maggiore ?

Cioè alla fin fine cosi non avrei ssh sbloccato in rete, tutti gli scan non andrebbero a buon fine, sarei cmq totalmente chiuso all'esterno, e per chi non conosce il meccanismo non riuscirebbe a collegarsi. I 10 secondi sono una maggiore garanzia contro eventuali scan, e per tenere pulito iptables.

Johnn
26-12-2006, 15:16
Ho letto del port knocking: praticamente si bussa ad una serie di porte prefissate prima di potersi fare aprire su quella da utilizzare.

Su questo io ho un dubbio ancora non fugato, e cioè se si tengono aperte solo 3-4 porte per il port knocking, un hacker avrebbe relativamente pochi tentativi da fare se intuisce come è strutturata la difesa. Viceversa tenere aperte molte porte rende molto difficile capire la sequenza delle "bussate", ma si hanno diverse porte aperte potenzialmente pericolose.

Comunque io ho cambiato porta e penso che già questo mi abbia praticamente tutelato da scan mirati sulla 22 (che è blindata :D ). Volendo si potrebbe cambiare periodicamente la porta che si usa.

Demin Black Off
26-12-2006, 15:44
Con il mio metodo, non avresti nessuna porta aperta :D

Quando parte un tentativo di connessione iptables fa un log del tipo sopra, solo ogni volta che parte.

LOG tcp -- anywhere anywhere tcp dpt:ssh state NEW LOG level warning prefix `START SSH '

Ora prendendo quelle loggate su una certa porta, se ne trovi ad esempio, 5 consecutive, aggiungi una regola in iptables che sblocca quell'ip singolo su iptables per, ad esempio, un minuto.

La regola, abilita solo quell'ip ad accedere alla porta di ssh, che non è la 22.

Quindi un fantomatico hacker dovrebbe :

Conoscere la porta e la sequenza giusta ( non è detto che uso solo una porta, posso a sto punto fare anche particolari sequenze )
Conoscere la porta di ssh in tempi brevi in 1 minuto con uno scan di tutte le porte
Superare la protezione di ssh con chiave in 1 minuto dopo aver fatto lo scan

Mi sembra abbastanza assurda sta cosa in 1 minuto, cosa ne pensate ? Fare un tentativo di connessione non ci vuole niente, è immediato farne 5 consecutivi.

In definitiva :

Tutte le porte i INPUT sono chiuse e faccio il login dei tentativi, ad esempio sulle porte 1023 - 1070 - 2000.

Il programma leggere periodicamente i log, trova che l'ip x.x.x.x ha tentato la connessione, in sequenza, su 2000 due volte, 1023 una volta e 1070 una volta.

Dopo aver notato questo aggiunge una regola di ACCEPT dell'ip sulla porta 4590 ( SSH ) per 1 minuto ( rimuove la regola dopo 1 minuto ). Registra quell'ip e sleppa per 5 minuti per poi resettarsi. Quell'ip non sarà mai più abilitato.

Mi sembra molto difficile da infrangere un sistema del genere no ?

Devil!
26-12-2006, 16:38
c'era una bella discussione: http://www.hwupgrade.it/forum/showthread.php?p=8169729

Johnn
26-12-2006, 18:44
Con il mio metodo, non avresti nessuna porta aperta :D

Quando parte un tentativo di connessione iptables fa un log del tipo sopra, solo ogni volta che parte.

LOG tcp -- anywhere anywhere tcp dpt:ssh state NEW LOG level warning prefix `START SSH '

Ora prendendo quelle loggate su una certa porta, se ne trovi ad esempio, 5 consecutive, aggiungi una regola in iptables che sblocca quell'ip singolo su iptables per, ad esempio, un minuto.

La regola, abilita solo quell'ip ad accedere alla porta di ssh, che non è la 22.

Quindi un fantomatico hacker dovrebbe :

Conoscere la porta e la sequenza giusta ( non è detto che uso solo una porta, posso a sto punto fare anche particolari sequenze )
Conoscere la porta di ssh in tempi brevi in 1 minuto con uno scan di tutte le porte
Superare la protezione di ssh con chiave in 1 minuto dopo aver fatto lo scan

Mi sembra abbastanza assurda sta cosa in 1 minuto, cosa ne pensate ? Fare un tentativo di connessione non ci vuole niente, è immediato farne 5 consecutivi.

In definitiva :

Tutte le porte i INPUT sono chiuse e faccio il login dei tentativi, ad esempio sulle porte 1023 - 1070 - 2000.

Il programma leggere periodicamente i log, trova che l'ip x.x.x.x ha tentato la connessione, in sequenza, su 2000 due volte, 1023 una volta e 1070 una volta.

Dopo aver notato questo aggiunge una regola di ACCEPT dell'ip sulla porta 4590 ( SSH ) per 1 minuto ( rimuove la regola dopo 1 minuto ). Registra quell'ip e sleppa per 5 minuti per poi resettarsi. Quell'ip non sarà mai più abilitato.

Mi sembra molto difficile da infrangere un sistema del genere no ?

Da una lettura rapida pare una cosa buona. Forse basta pure uno script. Vediamo come si evolve la discussione...