Bl.a. i forbindelse med at sikre min egen VPS røg jeg ind i et par IPtables fejl og erkendelser omkring Virtual Environments (VE). Det jeg i udgangspunkt forsøgte var:

(1) Opret en gruppe over godkendte IP først:

iptables -N SSH_WHITELIST

(2) tilføj herefter hvilken somhelst host(s):

iptables -A SSH_WHITELIST -s IPADRESSE -m recent --remove --name SSH -j ACCEPT

Med andre ord. Jeg har oprettet en Whitelist og vil nu tilføje et par IPer over godkendte hosts, der kan lave SSH til VPSen, og her støder jeg ind i iptables: No chain/target/match by that name

Problemmet er; -m recent ikke er supporteret i Virtual Environments. Sætningen skal derfor se således ud:

iptables -A SSH_WHITELIST -s IPADRESSE -j ACCEPT

Men du skal være opmærksom på at droppe listen SSH_WHITELIST, oprette den igen og derefter tilføje din(e) host(s).

Efter ovenstående var ideen at få implementeret nedenstående - der dog ikke lader sig gøre i Virtual Environments desværre - derfor benytter jeg d.d. bare blockhosts - der via cron sætter IPer i karantæne via IPtables når en orm (10.000 login forsøg på 2 minutter), eller en hacker forsøger sig adgang:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP 

 IPtables kan sættes op således at det kan bruges til at blokke SSH angreb. Følgende reglsæt har jeg fundet på en blog af Andrew Pollock og det tillader max 3 connections pr. minut fra hvilken som helst host. Overskrides disse regler blokkes den host i et minut.

Typiske brute force angreb, når man kigger i sin log fil, er jo 100 forsøg med gennemsnitligt et sekund mellem hvert, så nedenstående tillader 3 og så lukkes der - 98% af tilfældene smutter hackeren eller ormen, det kan man vel egentlig også kalde hackeren for, igen. Læs mere her, omkring opsæt, og ip reglerne.