
Steeds weer, na het uitvoeren van een audit, stuit ik op een muur van onbegrip bij mijn aanbevelingen om poorten achter een whitelist te verbergen. Zelfs erg ervaren systeembeheerders / DevOps-ers vragen: "Waarom?!?"
Laten we de risico's in volgorde van waarschijnlijkheid en schade overwegen.
- Configuratiefout
- DDoS op IP
- Brute force
- Kwetsbaarheden van diensten
- Kwetsbaarheden van de kernel stack
- Versterking van DDoS-aanvallen
Configuratiefout
De meest typische en gevaarlijke situatie. Hoe dit gaat. Een ontwikkelaar moet snel een hypothese testen, hij zet een tijdelijke server op met mysql / redis / mongodb / elastic. Het wachtwoord is natuurlijk ingewikkeld, hij gebruikt het overal. Hij opent de dienst voor de wereld — het is gemakkelijk voor hem om vanaf zijn pc te verbinden zonder die VPN's. En hij heeft geen zin om de syntaxis van iptables te onthouden, het is toch een tijdelijke server. Nog een paar dagen ontwikkeling — het is geweldig gelukt, tijd om het aan de klant te laten zien. De klant is tevreden, er is geen tijd om het opnieuw te doen, we lanceren in PROD!
Een voorbeeld dat opzettelijk overdreven is om alle valkuilen te belichten:
- Er is niets zo permanent als tijdelijk — ik houd niet van deze uitspraak, maar volgens mijn subjectieve waarnemingen blijven 20-40% van dergelijke tijdelijke servers lang bestaan.
- Een ingewikkeld, algemeen wachtwoord dat in veel diensten wordt gebruikt — slecht. Omdat een van de diensten waar dit wachtwoord is gebruikt, gehackt kan zijn. Hoe dan ook, de databases van gehackte diensten worden samengevoegd in één, die wordt gebruikt voor [brute force].
Het is vermeldenswaard dat redis, mongodb en elastic na installatie helemaal beschikbaar zijn zonder authenticatie, en vaak de . - Het lijkt misschien dat in een paar dagen niemand uw 3306-poort scant. Dit is een misverstand! Masscan is een uitstekende scanner en kan tot wel 10 miljoen poorten per seconde scannen. En er zijn in totaal 4 miljard IPv4's op internet. Dus alle 3306-poorten op internet zijn binnen 7 minuten gescand. Carl!!! Zeven minuten!
"Wie heeft hier behoefte aan?" — zult u inbrengen. En dat vraag ik me ook af als ik naar de statistieken van gedropte pakketten kijk. Waar komen in één dag 40.000 scanpogingen vandaan van 3.000 unieke IP's? Momenteel scannen allemaal zomaar, van huis-tuin-en-keuken-hackers tot regeringen. Het is heel eenvoudig te controleren — neem een VPS voor $3-5 bij een low-cost provider, schakel logging van gedropte pakketten in en kijk over 24 uur eens in de log.
Logging inschakelen
Voeg aan het einde van /etc/iptables/rules.v4 toe:
-A INPUT -j LOG —log-prefix "[FW — ALL] " —log-level 4
En in /etc/rsyslog.d/10-iptables.conf
:msg,contains,»[FW — » /var/log/iptables.log
& stop
DDoS op IP
Als een aanvaller uw IP kent, kan hij uw server enkele uren of dagen onder DDoS-aanvallen plaatsen. Niet alle goedkope hostingproviders bieden DDoS-bescherming, en uw server kan simpelweg van het netwerk worden gehaald. Als u uw server achter een CDN heeft verborgen, vergeet dan niet om het IP te wijzigen, anders kan de hacker het vinden via Google en uw server aanvallen, ongeacht het CDN (een veelvoorkomende vergissing).
Kwetsbaarheden van diensten
In alle populaire software worden vroeg of laat fouten gevonden, zelfs in de best geteste en meest kritieke systemen. In de wereld van beveiligingsspecialisten is er een semi-grap — je kunt de veiligheid van de infrastructuur zonder twijfel beoordelen aan de hand van de datum van de laatste update. Als uw infrastructuur vol open poorten zit en u deze al een jaar niet heeft bijgewerkt, zal elke beveiligingsexpert zonder verder kijken zeggen dat uw systeem lek is, en waarschijnlijk al is gehackt.
Het is ook belangrijk om te vermelden dat alle bekende kwetsbaarheden ooit onbekend waren. Stel je een hacker voor die een dergelijke kwetsbaarheid vindt en het hele internet binnen 7 minuten scant op aanwezigheid... Dat is de basis voor een nieuwe virusuitbraak. U moet bijwerken, maar dat kan schadelijk zijn voor de productie, zult u zeggen. U heeft gelijk, als de pakketten niet uit de officiële OS-repositories komen. Uit ervaring blijkt dat updates vanuit de officiële repository zelden de productie verstoren.
Brute force
Zoals eerder beschreven, is er een database met bijna een half miljard wachtwoorden die gemakkelijk met een toetsenbord kunnen worden ingevoerd. Met andere woorden, als u uw wachtwoord niet heeft gegenereerd, maar gewoon op het toetsenbord nabij gelegen tekens heeft getypt, wees er dan zeker van — u zult worden gebroken.
Kwetsbaarheden in de kernelstack.
Soms is het zelfs niet belangrijk welke service de poort opent, wanneer de netwerkstack van de kernel kwetsbaar is. Dit betekent dat elke tcp/udp-socket op een systeem van twee jaar oud kwetsbaar is voor een DDoS-aanval.
Versterking van DDoS-aanvallen
Het zal niet direct schade veroorzaken, maar het kan uw verbinding overbelasten, de belasting op het systeem verhogen, uw IP kan op een blacklist terechtkomen, en u kunt een waarschuwing van de hostingprovider ontvangen.
Heeft u deze risico's echt nodig? Voeg uw thuis- en werk-IP toe aan de whitelist. Zelfs als het dynamisch is — log in via de adminconsole van de hostingprovider, via de webconsole, en voeg eenvoudig nog een IP toe.
Ik werk al 15 jaar aan het bouwen en beveiligen van IT-infrastructuren. Ik heb een regel ontwikkeld die ik iedereen ten zeerste aanbeveel — geen enkele poort mag blootgesteld worden aan het internet zonder whitelist.
Bijvoorbeeld, de meest veilige webserver*** is degene waarvan de poorten 80 en 443 alleen geopend zijn voor CDN/WAF. En de servicepoorten (ssh, netdata, bacula, phpmyadmin) moeten minimaal achter een white-list staan, nog beter achter een VPN. Anders loop je het risico om gecompromitteerd te worden.
Dat was het. Houd je poorten gesloten!
- (1) UPD1: je kunt je sterke wachtwoord controleren (doe dit niet zonder dit wachtwoord overal te vervangen door willekeurige wachtwoorden), die niet gelekt is in een gelekte database. kun je kijken hoeveel services zijn gehacked waarbij je e-mailadres betrokken was, en dus achterhalen of je sterke wachtwoord gecompromitteerd is.
- (2) Tot eer van Amazon — op LightSail minimaal scans. Blijkbaar filtro geven ze het op de een of andere manier.
- (3) Een nog veiligere webserver is degene die achter een dedicated firewall en een eigen WAF staat, maar dit betreft publieke VPS/Dedicated.
- (4) Segmentsmak.
- (5) Firehol.
Alleen geregistreerde gebruikers kunnen deelnemen aan de enquête. , alstublieft.
Hebben jullie poorten naar buiten toe openstaan?
- Altijd
- Soms
- Nooit
- Weet ik niet, maakt me niet uit
54 gebruikers hebben gestemd. 6 gebruikers hebben zich onthouden.
Bron: habr.com
