Ironport Web

Ironport, inmiddels overgenomen door cisco, heeft naast een mailfilter ook een webfilter. De ironport units werken volgens het senderbase principe. Bij elk bezoek aan een url vraagt hij de score op om te zien of de inhoud betrouwbaar is en tot welke categorie de inhoud behoort.
De ironports hebben in de beheersschil de optie om calls aan te maken bij ironport en die service is geweldig, ik kan niet anders zeggen.

1. Voor- en nadelen van de ironport web

De ironport web heeft een aantal specifieke voor- en nadelen.
Voordeel is dat hij betrekkelijk eenvoudig te beheren is. Een tweede voordeel is dat hij ssl verbindingen kan open breken en de inhoud controleren op malware. Hij stuurt dan een standaard certificaat mee naar de client dat dan wel getrust moet worden door de browser ongeacht van welke url deze komt. Er kan gekozen worden voor welke categorieen de tunnel open gebroken wordt. Zo kan gekozen worden om websites van banken ongehinderd door te laten zonder de inhoud te controleren en de gebruiker zeker is van een tunnel vanaf de client tot de website van de bank in kwestie.

Een groot nadeel is dat hij niet, zoals het mailfilter, onderling kan synchroniseren met een tweede unit. En ironport heeft een serviceopzet die zegt dat ze bij een storing 'next day shipment' doen en een tweede unit kost vrij weinig dus je moet eigenlijk wel een tweede unit nemen. Dit betekent dat elke wijziging dubbel ingevoerd moet worden. Of je exporteert de ene config, wijzigt de namen en ip adressen, en importeert die in de andere unit. Dat is net zoveel werk. De software tool die ze hiervoor hebben werkt niet goed want wijzigt alleen de ip adressen en niet de namen.
De oplossing hiervoor is een extra unit te nemen, de beheer-unit maar dat kost dus 8 ruggen extra.
[boven]

2. Senderbase principe

De ironport werkt, net als de bluecoat, volgens het senderbase principe. Dit betekent dat ze wereldwijd internet verkeer scannen en scores en categorieen hangen aan websites. Wil je via de ironport naar een website dan doet deze eerst een request naar de senderbase en vraagt score en categorie op. Heeft de site een lage score dan zal deze bijvoorbeeld malware bevatten dan wordt hij geblocked. Valt de score in een cetegorie die je in je eigen config geblocked hebt, zoals porno, dan wordt hij ook geblocked.
Dit kan soms mis gaan als een website bij een hostingprovider op dezelfde server draait als een porno website. In dat geval zul je een bypass moeten maken maar daarover meer in het stuk over custompermit en custommonitor policies.
[boven]

3. Proxy versus wccp

De ironport kan op twee manieren gebruikt worden, als proxy server en via wccp. Wccp is een protocol dat je op de firewall kunt draaien en dat elk webverkeer vanaf een bepaalde reeks adressen (acl gestuurd) redirect naar de ironport. Dit laatste is mooi omdat mensen er niet omheen kunnen door de proxy uit te zetten maar niet mooi omdat het geen authenticatie ondersteunt. Het is dus raadzaam om beiden te gebruiken. In principe alles via de proxy maar mochten mensen eromheen gaan dan worden ze via wccp toch door de ironport gefilterd.

Overigens zit er een kleine bug in de asa wat wccp betreft. De acl geeft je de indruk dat je op poort niveau kunt filteren maar dat is niet zo, alles gebeurt op ip basis. Je moet bij het type wccp aangeven voor welke protocollen het geldt. Zo geeft "wccp web-cache" aan dat het alleen voor poort 80 werkt en "wccp 10" werkt ook voor 443. Dit wordt niet heel erg duidelijk uit de white papers.

Een ander issue waar ik tegen aan ben gelopen is de proxy bypass list. Soms gaat er iets mis met een site en voeg je de host of et ip adres van de site toe aan de bypass list. Dit werkt echter alleen voor de proxy functionaliteit !!! Daarna kan wccp nog steeds ingrijpen en gaat het verkeer alsnog door de ironport.

Nog even wat betreft authenticatie. Je kunt policies aanmaken op AD users of groepen maar daarbij is het wel belangrijk dat de authenticatie werkt, via wccp gaat dit niet goed. Hetzelfde geldt bijvoorbeeld als er plaatjes in outlook berichten staan in de vorm van links naar een plaatje op een website. Je wilt dan niet steeds een popup krijgen die om een loginnaam en wachtwoord vraagt. Wanneer dit via een proxy instelling gaat gaat het goed maar dus niet via wccp. Wccp is dus leuk als mensen de proxy kunnen omzeilen en voor een gast vlan waarvoor toch een aparte policy nodig is die niet op AD users of groepen filtert maar algemeen geldt.

Hieronder een voorbeeld van de wccp configuratie op een cisco ASA. De hele 10.100.0.0/16 reeks wordt geredirect via de ironports behalve de ironports zelf.

wccp web-cache 10 redirect-list proxylist group-list ironport-farm
wccp interface inside web-cache 10 redirect in

access-list ironport-farm extended permit ip host 10.100.1.1 any 
access-list ironport-farm extended permit ip host 10.100.1.2 any

access-list proxylist extended deny ip host 10.100.1.1 any 
access-list proxylist extended deny ip host 10.100.1.2 any 
access-list proxylist extended permit ip 10.100.0.0 255.255.0.0 any 
[boven]

4. Werking van de policies

Qua denkwijze ging ik hier de mist mee in. Ik dacht een policy te maken voor mensen die exe's mogen downloaden en een voor mensen die streaming media mogen bekijken, etc. Het idee achter de policies is echter dat er een policiy is per groep mensen.
Het verschil zit hem in de afhandeling van de policies. Deze worden van boven tot onder doorlopen tot er een een hit is en daarna treedt de default policy in werking.
Het verschil zit hem er in dat als ik bovengenoemde policies maak en ik heb een user die zowel het een als het ander moet kunnen ik een derde policy moet maken waarin zowel exe's als streaming media toegestaan worden. Bij veel van dit soort policies kan dit dus nogal uit de hand lopen.
Het is dus van belang deze werking in de gaten te houden.
[boven]

5. Default custommonitor en custompermit policies

Ik liep tegen het al even eerder genoemde probleem op dat een valide website draait op dezelfde server als een pornografische website. Het ip adres zal dan een slechte score hebben en geblocked worden.
De gedachte van mij was dat als ik deze aan de custommonitor categorie toevoeg hij wel doorgelaten wordt maar toch gecontroleerd. Dat is niet het geval. Toevoegen aan de custompermit categorie werkt wel. Echter dit is niet wat je wilt want dan wordt de site niet alleen doorgelaten maar ook niet meer gecontroleerd op virussen en malware. Er is geen tussenoplossing. Gelukkig had de supportafdeling van ironport een oplossing die ik even wil delen.

De oplossing is een extra url category aan te maken met daarin deze hosts. Hierbij wordt dan de negatieve score genegeerd maar de inhoud wordt nog wel gecheckt. Dit gaat als volgt;
  1. Ga naar "web security manager" en "custom url categories". Klik op "add custom category".
  2. Maak een entry bijvorbeeld "bypass.score" met een site "www.bijvoorbeeld.nl". Submit.
  3. Koppel de categorie aan een identity. Ga naar "web security manager > identities > add identity"
  4. Maak een identity. Naam bypass.score.id, "insert above 1", "advanced > url categories: bypass.score". Submit.
  5. Koppel de identity aan een access policy. "web security manager > access policies > add policy"
  6. Maak een policy. Naam: bypass.score.policy, "insert above 1", identities and users: select one of more identities, identity: bypass.score.id. Submit
  7. Wijzig de Score range voor deze policy. "web security manager > access policies". Klik bij de bypass.score.policy onder "web reputation and malware filtering" op "global policy". Wijzig "Web Reputation and Anti-Malware Settings" naar "Define Web Reputation and Anti-Malware Custom Settings".
  8. Nu kun je de "Web Reputation Settings" wijzigen. Zet de BLOCK range naar -7 of -8. Bij een extreem slechte score wordt de site dan als nog geblocked.
  9. Submit en Commit.
Bedenk wel dat er nu een policy aan deze hosts hangt dus users komen na een hit hierop alleen nog in de default policy. Zet deze policy dus bovenaan en wees spaarzaam met toevoegen. Controleer ook af en toe of de uitzondering nog nodig is en schoon zo mogelijk op.
[boven]

6. ssl scan problemen

Het komt soms voor dat er een probleem is met het scannen in ssl sessies. Wanneer het verder een valide site betreft kan het wenselijk zijn dit verkeer toch toe te staan.
Toevoegen van een dergelijke webste aan de custompermit categorie betekent dan dat ook een niet ssl deel van deze host of dit domein niet gescant wordt. Een oplossing hiervoor is een sslpermit categorie te maken er daarin de sites te plaatsen waar de ssl scan problemen geeft. Deze url categorie kan dan uitegsloten worden van scans.
[boven]

7. Streaming media

Streaming media worden geblocked op categorie en niet op de streaming media zelf. Dit betekent dat als een website de categorie streaming media heeft de hele site geblokkeerd wordt en niet alleen de streaming media zelf.
Vanaf versie 7.1 wordt dit veranderd en kan er gefilterd worden op de streaming media zelf.
[boven]

8. domeinen toevoegen aan custom url categorieen

Ik heb aardig moeten zoeken toen ik een heel domein had toegevoegd aan een url cetegorie. Het bleek niet te werken. Uit de logs bleek de host in dat domein nog steeds geblocked te worden.
Na wat heen en weer proberen bleek de punt ervoor cruciaal te zijn. Als alle hosts in domein voorbeeld.nl toegestaan moeten worden dan zou er volgens het voorbeeld onder de invoerbox zowel "voorbeeld.nl" als ".voorbeeld.nl" mogen staan maar de punt moet er voor als het om alle hosts in het domein gaat.
Navraag bij ironport leerde dat "voorbeeld.nl" alleen de default host betreft op de webserver en niet alle hosts onder het domein.
[boven]

9. snmp werkt niet meer na wijziging ip adres

Na een wijziging van subnet en ip adres bleek snmp niet meer te werken. Via de cli snmpconfig gedraaid en de instellingen waren juist en snmp stond aan. Toen de gehele config opgeslagen en deze doorzocht op het oude ip adres. Niets.
Het probleem bleek een bugje te zijn wat in de toekomst opgelost gaat worden. De oplossing is gelukkig eenvoudig; in de cli via "snmpconfig" snmp uitschakelen en daarna weer opnieuw instellen.
[boven]

Website door Wouter Barendsen, 2005-2016