Een externe firewall deel 7.2
Zelf veroorzaakte problemen
Als je aangevallen wordt, malware hebt, of de browser zaken gaat downloaden waar je geen belang bij hebt, verwacht je dat de firewall je beschermt en al het ongewenste verkeer tegenhoudt. Net zo goed wil je eigenlijk gewoon kunnen browsen op de sites die je altijd al bezocht. Dat lukt niet altijd. De website staat gewoon in Nederland, is betrouwbaar en toch wordt de verbinding soms geblokkeerd.
Ik heb het al eerder vermeld, soms zijn delen van de firewall te kritisch, vooral snort kan hier last van hebben. Soms wordt jouw verzoek om een webpagina geblokkeerd, en soms ook het antwoord van de webserver zelf. Dit komt altijd op ongelukkige momenten. Net als je bezig bent met een aankoop in een webshop, of als je inlogt op een van de gemeentelijke websites via DigID.
Er is iets in de communicatie waarop pfSense en zijn helpers reageren. Als je ook nog gebruik maakt van de optie “block offenders” kan het zijn dat je ineens geen enkele website meer kunt bereiken, en ook ping werkt niet.
De block offenders optie in snortVanaf een andere PC werkt het soms nog wel. Dan is het wel duidelijk dat pfSense jouw PC geblokkeerd heeft, omdat het iets verdachts heeft opgemerkt. En dat terwijl je alleen de naam van de website hebt ingevoerd.
Soms zijn de filters iets te kritisch. Ik heb gemerkt dat vooral snort daar last van heeft. Het kan zijn dat ik wel een simpele website heb ingegeven, maar dat er in het proces van beveiliging een URL wordt gegenereerd dat door snort als een “double decoding attack” wordt gezien, of iets anders verdachts. Op het pfSense forum heeft men het onder andere over het overgaan van een onbeveiligde http naar een beveiligde https verbinding.
Blokkade door pfSense valt eerst niet op, je gaat naar een normale website, maar er komt geen antwoord. Na een tijdje begint je te vermoeden dat pfSense wel eens de oorzaak kan zijn. Dan moet je zoeken of je eigen lokale IP adres, of je ziggo adres in de alert lijst voorkomt. Als je die hebt gevonden, kun je een uitzondering maken in de alerts.
Je kunt in theorie alles van/naar je eigen PC als uitzondering aanmerken, en alles toestaan. Alleen als je dan een keer malware op je PC hebt, wordt het ook niet opgemerkt. Immers: jouw PC staat op de lijst waarbij alles toegestaan is.
Ik wil dus alleen uitzondering maken voor de lichte overtredingen, zoal kleine foutjes in de communicatie.
Ik heb nu een paar maal gehad dat de communicatie opeens weg was, en heb de “block offenders” dus ook even uit staan. In alle gevallen is terug te vinden in de logging van pfSense waarom de communicatie geblokkeerd is. pfSense is gelukkig zo ingericht, dat ik altijd vanaf mijn LAN met de browser in pfSense zelf kan komen.
Het is handig als je twee dingen weet:
- Het lokale IP adres van de PC waarop je werkte
- Het IP adres aan de WAN zijde. Als je modem in bridge staat, is dat je IP adres van Ziggo, anders is dit het IP adres dat je van het modem krijgt.
Geen nood: beiden zijn in pfSense te vinden. Je hoeft geen nerd te zijn die zijn eigen IP adres uit zijn hoofd weet
🙂
IP adresssen in de ARP tabel in pfSense. Van boven af:
- De ziggo gateway (ter herkennen aan het ip adres eindigend op .1
- Het IP adres dan ik van ziggo heb
- Twee apparaten met een intern IP adres
Met de IP adressen kun je in de diverse Alert lijst kijken of ze voorkomen als 'Source', of als 'Destination'.
Als het IP adres bij source staat, is die PC de veroorzaker. Als hij bij destination staat, is de server aan de andere kant de veroorzaker.
De alert logs kunnen in het begin een beetje verwarrend zijn, want er lijken drie of vier verschillende lijsten te zijn.
1. De pfBlocker Alert log
pfBlocker Alerts Deze kom je waarschijnlijk als eerste tegen, en wel omdat hij simpelweg onder: Firewall > pfBlocker > Alerts zit. Hier vind ik vooral overtredingen van de IP4 alert lijsten.
Als je op een groene
i clicked gaat hij met het ip adres naar een ‘Threat lookup’, een lijst van web adressen die allerlei informatie over bedenkelijke IP adressen bijhouden.
Een lijst met bestrijders van spam, malware en andere zakenHet IP adres waar de
i bij stond wordt meegegeven, zodat meteen wordt getoond wat bekend is over het IP adres. Je kunt zelf kiezen welke website je gebruikt. De een geeft aan of het adres al op een bekende block-lijst staat, de ander met welke malware hij in verband wordt gebracht.
Terug naar de alert lijst: Met een
+ kun je de lijst toevoegen aan de suppress lijst (of de whitelist voor DNSBL). Daarmee heb je van deze alert (eventueel alleen voor dat IP adres) geen last meer.
2. De System logs. Je kunt hier op twee manieren komen, maar als je al bij de bovenstaande pfBlocker bent, click dan op 'firewall logs' op het menu eronder.
Afhankelijk van hoe je pfSense instelt, zullen veel alerts hier samen komen. Je hebt hier ook mogelijkheden om rules op de suppression list te zetten.
De system log met alertsDit zijn niet alleen malware waarschuwingen, er staat ook veel waarschuwingen in voor protocol fouten. Daarom staat hier onder andere ook het protocol vermeld.
We hebben hier vier punten waar we op kunnen clicken
- Een rode
x: Hiermee wordt overtreding permanent geblokkeerd
- Een witte
i: Deze zoekt een naam bij het IP adres
- Een groene
- Deze voegt het IP adres toe aan de block list. Het IP adres is daarmee helemaal geblokkeerd
- Een groene
+ Deze zal dit verkeer op in het vervolg doorlaten
Deze informatie krijgt je ook als je er met de muiscursor op gaat staan.
3. De snort Alert logSnort heeft zijn eigen Alert log, dat dankzij Barnyard uitgebreide filtermogelijkheden heeft.
Snort alert logOok hier mogelijkheden voor:
- Naam bij IP adres zoeken
- Toevoegen aan de suppress list, gebaseerd op source IP of destination IP
- De regel waarop snort alarm heeft geslagen permanent onderdrukken
Als een IP adres rare dingen doet, kun je filteren op IP adres, om te zien hoe lang hij al bezig is (dat heb ik behandeld in deel 5)
Bij mij staat hij vol met ET SCAN en ET COMPROMIZED die kijken of er bij mij poorten open staan. Het zijn vooral bekende poorten 22 (SSH) en 5060 (SIP). Als je het modem niet in bridge mode hebt staan, vangt de firewall in het modem dit voor je af.
4. De dnsbl logDit is de lijst met alle websites, die door de dnsbl functie niet naar een IP adres zijn omgezet, en die de PC dus niet door de PC bereikt konden worden.
De dnsbl listVaak staat deze vol met advertentie verstrekkers. Soms wordt er legale site geblokkeerd, of althans een die je wel wilt bezoeken. Dat is dan ook hier terug te vinden.
Ik heb een paar maal gehad dat een software programma niet kon updaten, of dat ik een Nederlandse website niet kon bereiken. Soms ging de hoofdwebsite nog wel, maar ging ergens iets met DigID fout. De website mijnoverheid.nl was ineens onbereikbaar, terwijl ik een bericht in mijn brievenbus had.
Dan ga je stuk voor stuk de bovenstaande alert logs bij langs, om te kijken of je eigen ip adressen in een alert log voorkomen. Als je een alert vindt, moet je voor jezelf uitmaken of er daadwerkelijk iets aan de hand is, of dat het alleen een probleem met de communicatie is.
Gelukkig hebben vrijwel alle logs een mogelijkheid om voor dat probleem een uitzondering te maken. Soms is het alleen voor dat ene lokale IP adres opgelost, maar omdat ook de uitzonderingen zijn aan te passen, is dat vaak ook op te lossen.
Dat wil nog niet zeggen dat alles goed gaat. Je komt nu wel bij de website, maar de webpagina van de server zelf wordt alsnog geblokkeerd. Nog een keer door de lijst om te zien waar het probleem zit.
Als je de uitzondingen goed maakt, zijn dat soort problemen gelijk bij alle websites opgelost.
De suppress lijstHierboven is een voorbeeld van een gegenereerde suppress lijst, die dus bepaalde regels onderdrukt. Het lijkt moeilijk te lezen, maar dat hoeft ook niet. Er is nog net te lezen welke rule onderdrukt wordt. Bij de onderste stond mijn lokale IP adres, die heb ik weggehaald om het voor alle IP adressen te laten gelden (het is gewoon een tekst bestandje)
Een vervelend probleem was een betaling via iDeal. Na afloop ga je weer terug naar de website, alleen die werd om een of andere reden geblokkeerd. Toen ik het probleem gevonden had (of althans ik dacht het) weigerde de website voor de tweede maal de inhoud van de pagina te versturen. Een soort beveiliging aan de kant van de server dus.
Tenslotte: Een Nice CatchOmdat ik toch nog regelmatig in de alert logs kom, zag ik opeens dit in de alert log van Snort:
Hadsruda in de snort logLinks staat het source adres (mijn adres dus), rechts de bestemming. Ik wordt constant gescant door een tool Supviscious scan. Maar op de 5e regel van boven staat opeens MALWARE-CNC, een Trojan met de naam Hadsurda. En het is afkomstig van mijn IP adres.
Ik ben altijd erg voorzichtig met downloaden, maar er kan altijd iets doorslippen, of meekomen met andere software. Dat lijkt nu gebeurd. Het is gebeurd rond 20:22. Ik weet nog wat ik toen gedaan heb, maar ook in de DNSBL log hierboven is te zien wat ik toen deed.
Het kan toeval zijn, maar rond die tijd heb ik een update van Divx geïnstalleerd. Je moet een beetje voorzichtig zijn met dit soort afgeleide conclusies, maar het is wel toevallig.
Als ik even zoek op het internet naar Hadsruda vind ik:
In this case, Program:Win32/Hadsruda!bit may install other adware, toolbars, browser redirect, and hijack the home page of affected browser.
Het wordt niet als virus beschouwt, maar als een PUP, een Potential Unwanted Program. Het kan een programma zijn dat een toolbar installeert, of adware installeert, bijvoorbeeld in de browser.
pfSense met Snort heeft voor mij tegengehouden dat het kon communiceren met zijn thuisbasis, en andere dingen ophalen, en Adwcleaner wist het voor mij te verwijderen. Overigens staat het IP adres waarmee het probeerde te verbinden (54.76.37.1) ook al op de firehol blocklist. Ook als het niet was herkend, was het tegengehouden.
Dit is dus een van de alerts die ik mooi actief laat.