Een Technote over hoe je standaardrapportages in SmartReporting kunt aanpassen en naar je eigen wensen kunt inrichten en dit eventueel automatisch kunt laten e-mailen.

Met Check Point SmartReporter kun je rapportages genereren om inzicht te krijgen in de datastromen, die door de Check Point gateway(s) worden verwerkt.

Hoe ga je te werk?

Inleiding

Met Checkpoint SmartReporter kun je rapportages genereren om inzicht te krijgen in de datastromen, die door de Checkpoint gateway(s) worden verwerkt. Dit artikel geeft je inzicht in de mogelijkheden van SmartReporter en hoe je de standaard rapporten kunt aanpassen naar de eigen wensen. Het artikel gaat uit van Checkpoint GaIa Release R77.30

Wat is Check Point SmartReporter

Checkpoint SmartReporter is een rapportage tool, die de Checkpoint logs consolideert tot op maat gemaakte rapportages voor inzicht in Netwerk, Firewall, Endpoint en de status van preventie bedreigingen, zoals in IPS en applicatie filtering.

SmartReporter consolideert de logs uit de logbestanden, die je ook gebruikt wanneer je de Smartview Tracker gebruikt. Door middel van consolidatie regels worden op het moment van een event, de logs geconsolideerd en opgeslagen in de SmartReporter Database.

Houd er rekening mee dat SmartReporter alleen in staat is om data te representeren, die ook daadwerkelijk gelogd wordt. Firewall rules, die niet gemarkeerd staan om te loggen onder de kolom “Track” zullen dan ook niet worden gelogd in de SmartReporter Database. Van die potentiele data kan er dan ook, in dat geval geen rapportage worden gemaakt.

Figuur 1: Een voorbeeld van een Firewall rule waarbij Rule 6 niet wordt gelogd en dus ook niet zichtbaar is in SmartReporter

Consolidatie log rulebase

Voordat we beginnen met het configureren van de rapportages, loont het om eerst de rulebase voor de logging te reviewen. Met deze rulebase bepaal je welke data er wel of niet in de SmartReporter Database gelogd gaat worden.

pen SmartDashboard en open via het (file) menu de SmartReporter policy Window.
Deze kun je vinden onder File -> View -> Products -> SmartReporter Policy.

Figuur 2: Standaard wordt alles gelogd met uitzondering van de protocollen Bootp, Netbios zaken en DNS

Je kunt de ruling aanpassen en dit naar eigen wens verder inregelen. Aannemende dat je bekend bent met Check Point als product, focus ik hier alleen even op de kolommen “Connection Status” en “Action”.

Mocht je hierin regels aanpassen dan is het zaak om eerst de policy te installeren voordat je verder gaat!

Rulebase kolom “Connection Status”
Onder de kolom “Connection Status” kun je aangeven onder welke omstandigheid er gelogd moet gaan worden.

Figuur 3: Connection status opties

De mogelijkheden: 
ANYLog onder elke omstandigheid de data
APPROVEDLog de data wanneer dit wordt toegelaten (eg Accept in FW bv)
BLOCKEDLog de data wanneer dit wordt geblokkeerd (Drop of Reject in FW bv)
MESSAGESLog info berichten (Bv Systeem gerelateerde zaken, a Inform user of redirect events)
ALERTSLog de data wanneer de data een alert bevat (Alert onder de Track kolom in de FW policies bv)

Rulebase kolom “Action”
Onder de kolom Action kun je bepalen of de data uiteindelijk in de database gelogd moet gaan worden of dat deze genegeerd moet gaan worden.

Als je de optie kiest om de data te bewaren (store), dan kun je ook bepalen wat voor consolidatie je hierop wilt laten plaatsvinden. Klik hiervoor met je rechtermuisknop op de “store” icoon en selecteer “edit Properties” in het menu. Er verschijnt een dialoog met de volgend opties:

Figuur 4: Store properties dialoog venster

As Is:

Zal bij elke event de data in de log pushen. Dit kan grote logs veroorzaken en is alleen aan te bevelen wanneer expliciet nodig !

Consolidate:

Dit zal een aantal Log events binnen het aangegeven tijdsbestek consolideren naar 1 event.

Een rapport maken

Open SmartDashboard. Vandaar uit kunnen we dan de SmartReporter openen via het SmartConsole menu of met de keyboard short cut CTRL + SHIFT + R
Het SmartReporter dashboard zal openen en toont het volgende scherm

Figuur 5: SmartReport scherm

De SmartReporter heeft de volgende Interface features/lay-out

1) Onder het tabblad “Definitions” kun je de standaard en gebruikers rapporten vinden.
2) Onder het tabblad “Results” kun je een overzicht vinden van eerder gegeneerde rapporten.
3) Rapporten kunnen automatisch gegenereerd worden en eventueel worden verstuurd. Het overzicht van deze schedules kun je vinden onder het tabje “Schedules”
4) Onder de tab “Consolidation” kun je de managementserver(s) vinden, van waaruit de logs worden geconsolideerd.
5) De tab “Database Maintenance” kun je gebruiken voor het beheer van de SmartReporter Database.
6) De “Activity Queue” tab geeft de huidige actieve rapport jobs weer.
7) Onder de tab “Activity log” kun je de logs terug vinden van de SmartReporter.
8) De rapport tree is opgedeeld in twee delen. Je eigen aangepaste rapporten.

Deze worden per gebruiker opgeslagen

Een Rapport (Definitie) maken

Laten we eens beginnen met een simpel rapport dat ons het geblokkeerde verkeer laat zien, vanuit het interne netwerk. Onder de “Predefined” tree vindt je onder de folder “Cross Blade Security” het rapport “Blocked Traffic”. Dat gaan we als template gebruiken.

We willen graag dat de wijzigingen die we aanbrengen worden bewaard en dus maken we een eigen kopie aan van het rapport. Dit doe je door het rapport me je rechtermuisknop aan te klikken en de menu optie “Save Report As” te selecteren. Geef een locatie op voor het rapport (in het voorbeeld slaan we het rapport op onder Custom Reports). Geef het rapport een zinnige naam (My Blocked Traffic) en deze kun je dan later terugvinden onder de tree Custom -> Custom Reports.

Figuur 5/6: Save To Custom report dialoog

Selecteer het net bewaarde rapport onder Custom -> Custom reports
In de Detail pane wordt het rapport geladen waar je dan ook diverse tabs ziet verschijnen.

Content
Een rapport is opgedeeld in diverse Topsecties. Selecteer hier de secties die je graag wil zien. Als je niet weet welke sectie je wilt zien selecteer ze dan allemaal. Genereer een rapport eerst handmatig en review de output. Dan kun je altijd nog een sectie uitschakelen als deze geen relevante data heeft.

Period
Hier kunnen we selecteren over wat voor periode het rapport gemaakt moet worden. Het is raadzaam dat je dit gelijk houdt aan het interval, van wanneer je het rapport laat maken, zodat je op die manier ook tussen de rapporten kunt vergelijken.

Input
Hier kun je selecteren welke data sources er gebruikt moeten worden. Als er bv meerdere alleenstaande gateways draaien dan kun je daarvoor apart rapportages maken.

Filter
Hier gaat het interessant worden: we kunnen aangeven voor welke data we het rapport willen zien. We kunnen bijv. filteren op bepaalde Source netwerken, of filteren op een bepaalde service. In het voorbeeld heb ik de groep Interne netwerken geselecteerd, die alle interne netwerken bevat.

Figuur 7: Filter selectie op basis van Source netwerken

Ook stellen we de filter optie “Action” in. Hier selecteren we de opties, die als resultaat hebben dat verkeer wordt geblokkeerd (Dit is de default voor dit rapport type!).

Figuur 8: Filter selectie op basis van het Action Filter

Standaard worden alleen de meest gebruikte kolommen gedisplayd. Bij de drop down zoals onderstaand weergegeven kun je de optie “Show all filters” aanzetten om zo alle mogelijke filter opties weer te geven.

Schedule
Nadat je een rapport hebt aangemaakt en de juiste filters erop hebt gezet, kun je deze d.m.v. een schedule automatisch op gezette tijden laten aanmaken.

Output
Onder de tab Output kun je selecteren hoe het rapport aangemaakt dient te worden en waar dit rapport naar toe moet worden verzonden. Het is ook mogelijk om een rapport naar meerdere locaties te verzenden. Dit is bijv. handig als je het rapport in je mailbox wilt hebben maar het ook graag in een archief wilt hebben voor naslag. Je zou dus het rapport kunnen e-mailen en kunnen bewaren op een ftp en/of een weblocatie.

Referenties

SmartReporter R77 Versions Administration Guide:
https://sc1.checkpoint.com/documents/R77/CP_R77_SmartReporter_WebAdminGuide/html_frameset.htm?topic=documents/R77/CP_R77_SmartReporter_WebAdminGuide/5863

linux:~$ dig @8.8.8.8 google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6005
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 278 IN A 172.217.17.110

;; Query time: 21 msec
;; SERER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Feb 13 11:14:27 CET 2018
;; MSG SIZE rcvd: 55

Deze aanvraag wordt door de FortiGate behandeld zonder foutmelding:

Om de DNS Error te genereren, vragen we nu een niet-bestaand domein op en krijgen we een “status: NXDOMAIN” als antwoord:

linux:~$ dig @8.8.8.8 wxwxwxwxw.google.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 wxwxwxwxw.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30760
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;wxwxwxwxw.google.com. IN A

;; AUTHORITY SECTION:
google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 185470036 900 900 1800 60

;; Query time: 28 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Feb 13 11:15:27 CET 2018
;; MSG SIZE rcvd: 99

Nu zien we 2 log vermeldingen verschijnen in het Forwarding log van de FortiGate: Een “Deny:DNS error” en een DNS Allow erachteraan:

Om deze melding in het kort samen te vatten: De FortiGate logt in dit geval een “Deny: DNS Error” omdat de DNS server antwoordt met status “NXDOMAIN” (Non existent domain). De FortiGate ziet dit als een DNS fout en stuurt een DNS antwoord naar de client met dezelfde DNS status en logt zowel de eerste toelating van de DNS sessie, als het feit dat de DNS server een ander antwoord stuurt dan “NOERROR”.

Over het algemeen is de foutmelding “Deny: DNS Error” dus geen gevaar. De bedoeling van deze melding is om netwerkbeheerders te helpen met DNS ontwerp en DNS fouten te onderscheppen en uit een log te halen, maar helaas leidt dit vaak tot verwarring.

Als het DNS verkeer van een (vertrouwde) interne machine naar een vertrouwde interne DNS server gaat, kan deze melding over het algemeen genegeerd worden. Zolang de client antwoord krijgt op alle DNS vragen zult u er ook niets van merken.

Er is ook een mogelijkheid om DNS inspectie uit te zetten en deze meldingen dus uit te schakelen.

Notitie: Als U gebruik maakt van een DNS server die vanaf internet benaderbaar is, is het zeer onverstandig om DNS inspectie uit te zetten. Over het algemeen wilt u DNS inspectie ingeschakeld houden om een betere veiligheid te garanderen.

DNS inspectie kan als volgt uitgezet worden:

Verbind met de Console van de FortiGate, middels de GUI of SSH en zoek de DNS-UDP entry op onder “config system session-helper”:

FortiGate # config system session-helper

FortiGate # show
(snip)edit 14set name dns-udp
set protocol 17
set port 53next(snip)

Verwijder vervolgens deze entry met het volgende commando:

FortiGate # delete 14
FortiGate # end

ook interessant