Link: https://webinsight.truefullstaq.com

1. Data streams

Vanuit Graylog

  • Veel logs worden gelogd met 127.0.0.1 deze kan je negeren en heeft met de werking van ASP te maken.
  • In de logs zijn verschillende waardes zoals beat_hostname, beat_name. Dit zijn de hostnames van de ASP (duckhuntXX.true.nl) servers die het verkeer  verwerken.

1.1 Streams: Tijdsperiode

In streams kan een tijdsperiode gedefineerd worden van wanneer je tot wanneer logs wilt inzien:

Wanneer je op de knop “Update time range” hebt gedrukt moet je ook nog op de Zoek knop drukken zodat dit dan vervolgens op de data wordt toegepast als filter.

1.1 Streams: Filters (Fields)

Binnen Streams zijn er verschillende “Fields” waarmee je kan filteren op alle verzamelde logs.

A screenshot of a computer

AI-generated content may be incorrect.
Voorbeeld melding

Hierbij is een lijst met uitleg over de verschillende fields en wat je ermee kan:

Field name:UitlegVoorbeeld
Alerting (fields)
alertFilter per alert die afgaat. (Wat voor aanval wordt er gedetecteerd) GET / HTTP header is restricted by policy (/accept-charset/)
alert_per_IPFilter per IP de verschillende alerts die ze afgeven 87.233.198.180 920450 GET /
Alert_categoryFilter voor de verschillende categorien van aanvallen. 
ActiontakenFilter per actie die uitgevoerd wordt voornamelijk voor ratelimitingjavascript-test
   
whitelistDit is een string die aan support gegeven kan worden voor het eventueel whitelisten van de alert die afgaat.942100 GET https://site.nl/api/text/version
   
Filtering (fields)
Request_HostnameFilter om per domein te filteren 
Request_MethodeFilter om per HTTP methode te filteren 
ClientFilter per client IP 
Client_country_codeFilter per land met country code bijv. “NL” 
HTTP_URLFilter per URL 
Frontend_nameWanneer de omgeivng uit meerdere ASP omgevingen bestaat heb je de mogelijkheid om op specifieke frontend_name te zoeken deze is gekoppeld aan een ASP IP.

(Vraag support voor meer informatie over de namen van de ASP ip’s)
 
Overig (fields)
MessageInformatie over ASP 

Om te zien per field welke waardes het meeste voorkomen kan je per fieldwaarde zien welke waardes het meeste voorkomen in het gegeven tijdsperiode: door Show top values te kiezen.

Voorbeeld Voor alle Alert_categories:

A screenshot of a computer

AI-generated content may be incorrect. 

1.3 Streams: Ratelimiting

Vanuit graylog/webinsight Is het ook inzichtelijk wanneer veel requests binnenkomen, en vervolgens de ratelimiting aangaat om actieve requests, te gaan controleren of ze daadwerkelijk mensen zijn of bijvoorbeelds spambots.

In Graylog/webinsight log wordt er inzicht geboden om voor wanneer de ratelimiting actief wordt. Bij een hoge toestroom van requests. Hierbij kan ASP ratelimiting actief maken waardoor de requests worden gechecked of ze daadwerkelijk legitiem verkeer of spambots zijn, middels een javascript challenge.

ASP zal dan een javascript challenge sturen naar de connectie om deze op te lossen. Voordat de verbinding verder kan. Spambots worden hiermee afgevangen aangezien deze mogelijk niet de capaciteiten hebben om de javascript challenge op te lossen.

Mocht het zo zijn dat de Javascript challenge niet genoeg is en de toestroom van verkeer nog steeds hoog is. Kan ASP overgaan op een harde rate limiting wat wordt aangetoond met HTTP429 in graylog.

Uiteindelijk als de aanvallende partij nog steeds blijft doorspammen zal deze een 429 ratelimit krijgen en daarna zal ASP actief de connectie blokkeren. Voor een 1 uur.

1.4 Streams: WAF

Vanuit Graylog/webinsight is het inzichtelijk wat voor soort aanvallen er gedetecteerd wordt.

2. Dashboard

2.1 Dashboard: Overzicht standaard dashboard.

WebApplicationFirewall:

In dit dashboard zie je een overzicht van alle geflagde aanvallen die door de WAF gedetecteerd zijn.

Ratelimited (8H)

In dit dashboard zie je alle requests die geratelimit worden in het voorbeeld <link> zie je dat

Het standaard dashboard bestaat uit de volgende grapics:

Hierbij wordt de data standaard weergegeven met een tijdsperiode van 8 uur lang. (Dit staat ook zo in de benaming van de verschillende blockjes als 8h dit veranderd niet)

WebApplicationFirewall (8h): Tijdsgrafiek van hoeveelheid WAF meldingen die gedeteceerd zijn.

Ratelimited (8h): Tijdsgrafiek van hoeveelheid connecties die geratelimit zijn, in de gegeven tijd.

Unsuccessful connections (8h): Tijdsgrafiek van aantal connecties die niet successvol opgezet zijn. (Mogelijk bot verkeer)

Requests blocked by URL (8h): Lijst met de top meest voorkomende URL’s die geblocked worden door ASP.

Ratelimit Requests Blocked by IP (8h): Lijstmet de top meest voorkomendeip’s die de ratelimit aanraken.

Blocked Requests by Country (8h): Lijst met de top meest landen die geblockeerd worden.

WAF Attackers (8h): Lijst met de top meest voorkomende ip addressen die aanvallen, (die de waf triggeren)

WAF Attackers by country: Lijst met de top meest landen die de meeste aanvallen uitvoeren die gedeteceerd worden door de WAF.

Unsuccessful requests by country (8h): Lijst met top meeste landen waar het opzetten van connecties die niet successvol opgezet zijn. (Mogelijk bot verkeer)

IDS Detections by hostname (8h): Lijst met meest voorkomende hostnames/domeinnamen die gebruikt worden bij een request die gedetecteerd wordt als mogelijke aanval.

Unsuccessful connections states (8h): ASP is gebasseerd op haproxy en gebruikt hier de haproxy states in de logging. Hierbij is een lijst van de meest voorkomende ip addressen die de IDS/WAF op pikt en welke state deze heeft.

IDS Detections by signature (8h): Lijst met de meest voorkomende request signatures bijv. Chatgpt-user of webcrawlers/bots. Of andere indentificerende onderdelen van het request wat gedaan wordt.

IDS Detections by severity (8h): Lijst van de meest voorkomende severity levels. Aan de hand van de gedetecteerde aanval.

IDS Detections by Source (8h): Lijst van de meest voorkomende IP sources die aanvallen uitvoeren en gedetecteerd worde door ASP

Al deze waardes zijn ook te gebruiken in de streams field filters.

2.2 Dashboard: (Custom)

Vanuit Streams heb je de mogelijkheid om een selectie te maken van de querry als dashboard item toe te voegen op het dashboard bijvoorbeeld voor alle alerts:

In het voorbeeld worden alle top values (top 10) meest voorkomende alerts.

Kies vervolgens het pijltje naar beneden om het menu te openen, Kies hier Copy to Dashboard.

Selecteer hier het dashboard waar de selectie aan toegevoegd moet worden.

Druk op Copy widget. Om het toe te voegen aan het dashboard.