Hoe om te gaan met een beveiligingsinbreuk op uw server
Op moderne servers draait vaak een veelheid aan softwaretoepassingen.
In ons geval gebruiken we Docker op de server om meerdere diensten te draaien.
Een van deze diensten, Gitlab, had een beveiligingsprobleem (gitlab workhorse meer specifiek).
Wat leidde tot een trojan infectie. (In ons geval heetten de binaries "wate" voor het geval dat iemand dit belangrijk vindt - hoewel dit ook puur willekeurige namen hadden kunnen zijn).
We kwamen hiervan op de hoogte doordat onze hoster, Hetzner, ons IP afsloot (en verschillende waarschuwingsberichten stuurde). De trojan was gebruikt als onderdeel van een DDoS-aanval op een Chinees IP en was verdachte hoeveelheden pakketten aan het genereren.
Wij hebben actie ondernomen, en uit deze situatie is nuttige kennis voortgekomen.
Gelukkig was de server bereikbaar via een ander IP (en tussen haakjes - Hetzner staat je ook toe een IP voor 2 uur te whitelisten zodat je zelfs met een server met slechts één IP kunt werken).
Hier volgen enkele belangrijke tips voor het diagnosticeren van een dergelijke inbreuk op de beveiliging
- Geen paniek.. Beveilig eerst de docker logs (en maak eventueel een backup) voordat je de server afsluit - je hebt deze logs misschien nodig om het probleem te diagnosticeren.
- controleer welke gebruikers het laatst zijn ingelogd / of er nieuwe accounts zijn aangemaakt
- Gebruik een virusscanner op je server (op het host besturingssysteem voor Docker). We gebruikten clamav om de trojans te vinden.
- Opmerking: als u ook een mailserver hebt (zoals wij), zal de virusscanner waarschijnlijk ook een heleboel verdachte mails oppikken.
- Gebruik een rootkit scanner - er zijn er twee die we hebben gebruikt, rkhunter en chkrootkit
- Gebruik htop om uit te vinden welke processen de server laden
- Gebruik een hulpprogramma om het netwerkverkeer te controleren
- kijk door de uitvoer van ps -aux om verdachte processen te zien
Mijn aanbeveling is dat voor Als je de container afsluit, maak je een dump van ps -aux | grep wate (in ons geval) om de draaiende trojaanse processen te zien, en dan na het afsluiten weer.
Op die manier kunt u voor uzelf bevestigen dat het veiligheidslek onder controle is, en dat de processen zich niet buiten de Docker container hebben verspreid.
WordPress prestatieproblemen
We ondervonden ook enkele WordPress prestatieproblemen tijdens deze situatie - terwijl het hoofd IP van de server geblokkeerd was.
Nadat Hetzner ons IP-adres had gedeblokkeerd, verdwenen de prestatieproblemen. (Ons eerste vermoeden was dat de inbreuk in een WordPress container was geweest)
Maatregelen om de situatie in de toekomst te vermijden
- We gaan automatische container updates instellen. De vriend van mijn zus raadde me de Docker "Watchtower" container aan.
- Er is een hulpmiddel genaamd Lynis een instrument voor veiligheidscontroles dat we zullen onderzoeken
- Gebruik publieke/privé sleutel authenticatie op de server voor SSH. Beperk specifiek welke accounts mogen inloggen
- Gebruik een SaaS auditdienst / scanner - we zijn van plan om dit regelmatig te doen
- Maak rolling back-ups als u dat nog niet doet - zodat u terug kunt gaan naar een eerdere datum
Je hoeft je niet te schamen voor een fout - moderne IT is een complexe onderneming. Zolang je blijft leren van de situaties, en verschillende benaderingen blijft gebruiken voor IT-problemen (en het leven in het algemeen), is er groei en beweging voorwaarts. Het leven.
Gelukkig kunnen de meeste situaties worden beheerd en omgebogen. We hopen dat u back-ups hebt gemaakt en dat u uw situatie te boven kunt komen.
Veel succes en bedankt voor het lezen.