Configuratie:
Al de configuratie gebeurt dmv het bestand portsentry.conf wat je terug vindt in /etc/portsentry
Indien je portsentry start met het commando:
portsentry -tcp
portsentry -udp
Worden enkel op die scans gelet die tcp of udp pakketten bevatten.
Je kunt echter ook de moeilijker te dedecteren stealth scans registreren.
Met dit type scans komt er geen verbinding tot stand waardoor ze moeilijker te tracen zijn.
Een portscanner stuurt in dit geval enkel het eerste gedeelte van een pakket. Het zogenaamde SYN pakket wordt gestuurd naar de server en deze zal indien de poort open staat antwoorden met een ACK-pakket.(Bij gesloten poort zal de server een RST-pakket terug sturen om de verbinding te verbreken.)
Normaal zou de client nu ook antwoorden met een ACK pakket maar in het geval van een stealth scan zal hij antwoorden met een RST-pakket om zo de verbinding te verbreken.
Via de opties -atcp, -audp of -stcp, -sudp zal PortSentry ook deze scans dedecteren.
Het verschil tussen de 'a'tcp/udp en de 's'tcp/udp zit hem in de range van de te controleren poorten.
Met 'a' zal portsentry echter automatisch luisteren naar alle lage poorten die niet gebruikt worden.
De te scannen poorten
De poorten die gecontroleerd dienen te worden met de optie 'a' vind je terug onder.
ADVANCED_PORTS_TCP en ADVANCED_PORTS_UDP deze waarden zet je best op 1024.
ADVANCED_PORTS_TCP = "1024"
ADVANCED_PORTS_UDP = "1024"
Poorten waarop niet geluisterd dient te worden.
Poorten die niet in het oog gehouden mogen worden kun je via ADVANCED_EXCLUDE_TCP en ADVANCED_EXCLUDE_UDP aanduiden.
Dit doe je best steeds op Poort 67:bootp, 113:ident, 520:route, 137,138,139. Deze laatste 3 worden door Windows machines gebruikt.
Indien je dit niet zou doen zullen snel alle windows en Linux/unix machines als verdacht worden aangegeven en dit is nu ook weer niet de bedoeling.
ADVANCED_EXCLUDE_TCP="113,139"
ADVANCED_EXCLUDE_UDP="67,137,138,520"
Betrouwbare hosts
Betrouwbare host kan men negeren. via IGNORE_FILE
Je maakt hiervoor een file aan waar de hosts in komen die je wenst te negeren.
Bv portsentry_ignore
IGNORE_FILE="/etc/portsentry/portsentry_ignore
Historiek
De historieken worden bijgehouden in 2 bestanden die je kunt instellen via HISTORY_FILE en BLOCKED_FILE.
In de eerste file staan alle hosts die PortSentry reeds betrapte.
In de tweede staan alle hosts die PortSentry betrapte na laatste opstart.
HISTORY_FILE="/var/lib/portsentry/portsentry.history
HISTORY_FILE="/var/lib/portsentry/portsentry.blocked
Tijdens het debuggen kun je eventueel ook nog RESOLVE_HOST gebruiken.
Standaard staat deze op 0 wat zoveel wil zeggen dat enkel het IP adres wordt weergegeven.
Je kunt deze ook op 1 zetten zodat ook de naam van de host wordt opgezocht.
RESOLVE_HOST="1"
Zet deze waarden na het debuggen terug op 0 omdat dit extra verkeer teweeg brengt met een name-server.
RESOLVE_HOST="0"
Blokkeren van indringers
Uiteindelijk is het de bedoeling om indringers te blokkeren.
Hiervoor heb je de instellingen BLOCK_TCP en BLOCK_UDP.
Deze kennen 3 mogelijke waarden:
- 0 = scans niet blokkeren.
- 1 = scans blokkeren. (via KILL_ROUTE)
- 2 = scans blokkeren. (via KILL_RUN_CMD)
Dit gebeurt via commando's van de firewall.
Indien je IPCHAINS gebruikt.
BLOCK_TCP="1"
BLOCK_UDP="1"
KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY
De variable TARGET zal automatisch ingevuld worden met het IP-adres van de sniffer.
Indien je IPTABLES gebruikt.
BLOCK_TCP="1"
BLOCK_UDP="1"
KILL_ROUTE="/sbin/iptables -I input -s $TARGET$ -j DROP
GEBRUIK NOOIT MEER DAN 1 KILL_ROUTE REGEL IN pORTsENTRY!
Vals alarm
Met het commando RESOLVE_HOSTS kun je instellen hoeveel keer een machine contact moet zoeken alvorens je hem blokkeerd.
Indien je deze waarde op 0 zet zal PortSentry telkens onmiddellijk actie ondernemen.
RESOLVE_HOST="3"
Er zijn nog heel wat meer zaken mogelijk maar daarvoor kun je best de man pages eens voor doornemen.
Met dit heb je al iets wat meer dan bruikbaar is en heb je eveneens een basis om alles te finetunen.
Opslaan en starten
Nu rest je enkel nog om portsentry.conf op te slaan en portsentry te starten.
portsentry -atcp
portsentry -audp