A seconda di quale SSH è necessario, potresti essere in grado di raggiungere questo obiettivo (per scopi non banali) usando IPTables per terminare le sessioni se la dimensione del pacchetto è maggiore, diciamo 1400 byte. Ciò significa che ssh interattivo funzionerà principalmente, ma non appena qualcosa tenta di inviare un pacchetto di 1500 byte - come scp dovrebbe per un file più grande di 1499 byte assumendo un MTU standard di 1500, terminerà la connessione.
Ciò impedirà anche l'attacco "catting" di cui parli.
Sfortunatamente questo significa che potresti avere problemi a modificare alcuni file con un editor di testo, se lo schermo deve disegnare più di 1400 caratteri, o se devi inserire un file lungo o fare un lungo elenco di directory.
Nel caso più semplice, un comando per eseguire questa operazione potrebbe assomigliare a qualcosa del genere
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff -j DROP
Possiamo migliorare il funzionamento combinando i controlli di lunghezza dei pacchetti con ipt_recent, in modo da consentire un numero limitato di pacchetti superiore a 1400 byte in un intervallo di tempo prestabilito (diciamo 8 pacchetti per 5 secondi) - ciò consentirebbe lo scorrimento di pacchetti fino a 12k attraverso, ma può darti l'interattività di cui hai bisogno per modificare i file, ecc. Puoi ovviamente modificare il numero di pacchetti.
Questo potrebbe assomigliare a qualcosa
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff \
-m recent --name noscp --rdest --set
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff \
-m recent --name noscp --rdest --update --seconds 5 --hitcount 8 \
-j REJECT --reject-with tcp-reset
Gli esempi di regole precedenti proteggono solo da upload scp come scp myfile.data remote.host:~
. Per proteggere ulteriormente dai download di scp come scp remote.host:~/myfile.data /local/path
, ripetere le regole precedenti ma sostituirle --dport
con --sport
.
Un hacker indizio può aggirare queste limitazioni impostando un MTU inferiore a 1400 sul suo computer (o forzando mtu o simili). Inoltre, anche se non puoi limitarlo a determinati utenti, puoi limitarlo tramite IP modificando le linee iptables come appropriato !!
Saluti, David Go