Ursprungligen inskrivet av mig i ett tänkt PM
Jag kom på att jag glömde ge länken när jag skrev. Jag följde guiden på http://deb.riseup.net/networking/firewall/ssh-brute--force-at..., som är en lite utförligare beskrivning av hur man implementerar det som skrevs på http://blog.blackdown.de/2005/02/18/mitigating-ssh-brute-forc....
Man behöver som sagt Shorewall, finns en guide på hur man får igång det på http://deb.riseup.net/networking/firewall/. Manualen på Shorewalls egen hemsida är också utförlig, men blir ibland lite väl oöverskådlig pga det enorma innehållet. Det som krånglat mest för mig med Shorewall är att den kräver en del moduler i kärnan, men kör du med en stock-kernel (dvs inte kompilerat själv), eller om du kompilerat själv inte meckat för mycket med valen för iptables ska detta inte vara något problem.
Lite snabbt om att installera Shorewall bara (det jag kommer ihåg sen jag gjorde det):
Efter att man kört "apt-get install shorewall" händer inte så mycket. I /usr/share/doc/shorewall/default-config ligger en massa standard-conf-filer som man får kopiera till /etc/shorewall och sen editera efter behag. Kolla i guiden jag länkade till innan vilka filer man behöver och ungefär hur de ska se ut. När man är klar med alla inställningar så går man in i /etc/shorewall/shorewall.conf och sätter STARTUP_ENABLED till "yes", sen kör man "shorewall start" och sen kollar man upp vad alla felmeddelanden man får betyder och så går man genom allt igen
Det som krånglade för mig när jag skulle implementera inloggningsbegränsningen var att jag inte fattade att man skulle skapa två _tomma_ filer som hette "action.Limit" och "action.Whitelist" i /etc/shorewall och sen lägga de filer man laddat ner från hemsidan jag länkade till innan i samma mapp. Annars står det ganska utförligt hur man ska göra.
Rekommenderar även att läsa det som står under "Console logging" på http://deb.riseup.net/networking/firewall/logs/, för det är rent ut sagt jäkligt irriterande att felsöka eller vad som helst när Shorewall öser ut loggmeddelanden i terminalen så att man inte ser någonting och får skriva alla kommandon på känn. Ifall du får samma problem så är det bra att i blindo kunna logga in som root och skriva "pkill klogd" eller nåt liknande.