Vraag


  • Richum
  • Registratie: Maart 2010
  • Laatst online: 16-02 21:26
Het probleem
Recentelijk heb ik Suricata als IPS/IDS op Ubuntu 18.04 LTS in mijn thuisnetwerk draaien. Alles lijkt naar behoren te werken echter ondervind ik problemen wanneer ik "suricata-update" vanaf localhost uitvoer. Er wordt verbinding gemaakt met de externe server, de nieuwe ruleset wordt gedownload en vervolgens blijft de verbinding hangen.

Als ik Suricata afsluit (zodat deze niet het netwerkverkeer analyseert tijdens het updaten) en vervolgens wederom "suricata-update" start wordt het proces zonder problemen doorlopen. Na wat netwerkverkeer te hebben gecaptured lijkt Suricata invloed te hebben op de manier waarop TCP-verbindingen worden beeïndigd waardoor deze niet op de juiste manier worden afgesloten. :?

Configuratie

Hardware:Software:
  • Ubuntu 18.04
  • Kernel 4.15.0-33-generic #36-Ubuntu SMP
  • Suricata 4.0.5
Suricata:
  • IPS (nfqueue) mode
  • Er worden alleen alerts gegenereerd, er wordt niets geblockt (dit werkt overigens wel)
Netwerkanalyse
Omdat ik verder op mijn netwerk geen (merkbare) problemen ondervind heb ik het netwerkverkeer gecaptured wanneer Suricata was ingeschakeld en wanneer deze was uitgeschakeld. Hierbij viel op dat de TCP-sessie op een andere manier wordt beeïndigd dan wanneer Suricata is ingeschakeld:

Suricata Uitgeschakeld
code:
1
2
3
4
5
6
7
8
9
10
11
|Time     | 192.168.0.253                         |
|         |                   | 151.101.36.133    |                   
|--------------------------------------------------------------------------
|0.000484564|         ACK - Len: 2096               |Seq = 11862 Ack = 913
|           |(50282)  <------------------  (443)    |
|0.000056075|         ACK       |                   |Seq = 913 Ack = 13958
|           |(50282)  ------------------>  (443)    |
|0.002127332|         FIN, PSH, ACK - Len: 713      |Seq = 13958 Ack = 913
|           |(50282)  <------------------  (443)    |
|0.000752845|         RST, ACK  |                   |Seq = 913 Ack = 14672
|           |(50282)  ------------------>  (443)    |


Suricata Ingeschakeld
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|Time     | 192.168.0.253                         |
|         |                   | 151.101.36.133    |                   
---------------------------------------------------------------------------
|0.099170938 |         PSH, ACK - Len: 746           |Seq = 3834 Ack = 917
|            |(49584)  <------------------  (443)    |
|0.001415054 |         FIN, ACK  |                   |Seq = 917 Ack = 4580
|            |(49584)  ------------------>  (443)    |
|0.000362508 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 917
|            |(49584)  <------------------  (443)    |
|0.015219163 |         ACK       |                   |Seq = 4612 Ack = 918
|            |(49584)  <------------------  (443)    |
|0.221637496 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|0.223160755 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|0.462741260 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|0.901200343 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|1.783914410 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|3.588937004 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|7.172869978 |         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|14.335458930|         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |
|28.662381550|         FIN, PSH, ACK - Len:          |Seq = 4580 Ack = 918
|            |(49584)  <------------------  (443)    |


(Voorlopige) conclusie
Wanneer Suricata dus is uitgeschakeld verstuurt de server een FIN waarna de client reageert met ACK/RST. In dit geval wordt de verbinding afgesloten en zijn er geen problemen.

Wanneer Suricata is ingeschakeld verstuurt de client een FIN waarop de server reageert met FIN/ACK waarna hij vervolgens wacht op de laatste ACK van de client die nooit wordt verstuurd. Hierdoor blijft de verbinding hangen.

Wat kan dit gedrag veroorzaken? :X


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee