Znovu a znovu, po vykonaní auditu, v reakcii na moje odporúčania skryť porty za bielu listinu, sa stretávam s múrom nepochopenia. Dokonca aj veľmi cool správcovia / DevOps sa pýtajú: "Prečo?!?"
Navrhujem zvážiť riziká v zostupnom poradí pravdepodobnosti výskytu a poškodenia.
Chyba konfigurácie
DDoS cez IP
Hrubou silou
Zraniteľnosť služby
Zraniteľnosť zásobníka jadra
Zvýšený počet DDoS útokov
Chyba konfigurácie
Najtypickejšia a najnebezpečnejšia situácia. Ako sa to stane. Vývojár musí rýchlo otestovať hypotézu; nastaví dočasný server s mysql/redis/mongodb/elastic. Heslo je, samozrejme, zložité, používa ho všade. Otvára službu svetu - je pre neho pohodlné pripojiť sa zo svojho počítača bez týchto vašich sietí VPN. A som príliš lenivý na to, aby som si pamätal syntax iptables; server je aj tak dočasný. Ešte pár dní vývoja - dopadlo to výborne, môžeme to ukázať zákazníkovi. Zákazníkovi sa to páči, nie je čas to prerábať, spúšťame to do PRODu!
Príklad zámerne zveličený, aby sme prešli celým radom:
Nie je nič trvalejšie ako dočasné - táto fráza sa mi nepáči, ale podľa subjektívnych pocitov zostáva 20 - 40% takýchto dočasných serverov dlho.
Komplexné univerzálne heslo, ktoré sa používa v mnohých službách, je zlo. Pretože jedna zo služieb, kde bolo toto heslo použité, mohla byť hacknutá. Tak či onak, databázy hacknutých služieb sa hrnú do jednej, ktorá sa používa na [hrubú silu]*.
Je potrebné dodať, že po inštalácii sú redis, mongodb a elastic vo všeobecnosti dostupné bez overenia a často sa dopĺňajú zbierka otvorených databáz.
Môže sa zdať, že nikto nebude skenovať váš port 3306 za pár dní. Je to klam! Masscan je vynikajúci skener a dokáže skenovať rýchlosťou 10 miliónov portov za sekundu. A na internete sú len 4 miliardy IPv4. Všetkých 3306 portov na internete sa teda nachádza za 7 minút. Charles!!! Sedem minút!
"Kto to potrebuje?" - namietate. Preto som prekvapený, keď sa pozriem na štatistiku spadnutých balíkov. Odkiaľ pochádza 40 tisíc pokusov o skenovanie z 3 tisíc jedinečných IP za deň? Teraz skenujú všetci, od matkiných hackerov až po vlády. Overenie je veľmi jednoduché – vezmite si akýkoľvek VPS za 3 – 5 USD od ktorejkoľvek** nízkonákladovej leteckej spoločnosti, povoľte zaznamenávanie spadnutých balíkov a pozrite si denník za deň.
Povolenie protokolovania
V /etc/iptables/rules.v4 pridajte na koniec:
-A INPUT -j LOG --log-prefix "[FW - ALL] " --log-level 4
A v /etc/rsyslog.d/10-iptables.conf
:msg,contains,"[FW - " /var/log/iptables.log
& zastaviť
DDoS cez IP
Ak útočník pozná vašu IP, môže uniesť váš server na niekoľko hodín alebo dní. Nie všetci nízkonákladoví poskytovatelia hostingu majú DDoS ochranu a váš server bude jednoducho odpojený od siete. Ak ste svoj server skryli za CDN, nezabudnite zmeniť IP, inak ho hacker vygoogli a DDoS váš server obíde CDN (veľmi populárna chyba).
Zraniteľnosť služby
Všetok populárny softvér skôr či neskôr nájde chyby, dokonca aj tie najtestovanejšie a najkritickejšie. Medzi IB špecialistami existuje polovičný vtip - bezpečnosť infraštruktúry sa dá bezpečne posúdiť do času poslednej aktualizácie. Ak je vaša infraštruktúra bohatá na porty vyčnievajúce do sveta a vy ste ju rok neaktualizovali, každý bezpečnostný špecialista vám bez toho, aby sa pozrel, povie, že ste netesní a s najväčšou pravdepodobnosťou ste už boli napadnutí.
Za zmienku tiež stojí, že všetky známe zraniteľnosti boli kedysi neznáme. Predstavte si hackera, ktorý našiel takúto zraniteľnosť a za 7 minút preskenoval celý internet na jej prítomnosť... Tu je nová vírusová epidémia) Musíme aktualizovať, ale to môže poškodiť produkt, hovoríte. A budete mať pravdu, ak balíčky nie sú nainštalované z oficiálnych repozitárov OS. Zo skúseností vyplýva, že aktualizácie z oficiálneho úložiska len zriedka pokazia produkt.
Hrubou silou
Ako je popísané vyššie, existuje databáza s pol miliardou hesiel, ktoré sa dajú pohodlne písať z klávesnice. Inými slovami, ak ste si nevygenerovali heslo, ale napísali susedné symboly na klávesnici, buďte si istí*, že vás okradnú.
Zraniteľnosť zásobníka jadra.
Stáva sa tiež, že nezáleží ani na tom, ktorá služba otvorí port, keď je zraniteľný samotný sieťový zásobník jadra. To znamená, že absolútne akýkoľvek tcp/udp socket na dva roky starom systéme je náchylný na zraniteľnosť vedúcu k DDoS.
Zvýšený počet DDoS útokov
Nespôsobí to žiadne priame škody, ale môže to upchať váš kanál, zvýšiť zaťaženie systému, vaša IP adresa skončí na nejakej čiernej listine***** a od hostiteľa dostanete zneužitie.
Naozaj potrebujete všetky tieto riziká? Pridajte svoju domácu a pracovnú adresu IP na bielu listinu. Aj keď je dynamická, prihláste sa cez administrátorský panel hostiteľa, cez webovú konzolu a jednoducho pridajte ďalšiu.
Už 15 rokov sa venujem budovaniu a ochrane IT infraštruktúry. Vyvinul som pravidlo, ktoré vrelo odporúčam každému - žiadny prístav by nemal vyčnievať do sveta bez bieleho zoznamu.
Napríklad najbezpečnejší webový server*** je ten, ktorý otvára 80 a 443 iba pre CDN/WAF. A porty služieb (ssh, netdata, bacula, phpmyadmin) by mali byť aspoň za bielym zoznamom a ešte lepšie za VPN. V opačnom prípade riskujete kompromitáciu.
To je všetko, čo som chcel povedať. Udržujte svoje porty zatvorené!
(1) Aktualizácia: Tu môžete skontrolovať svoje skvelé univerzálne heslo (nerobte to bez nahradenia tohto hesla náhodným heslom vo všetkých službách), či sa objavil v zlúčenej databáze. A tu môžete vidieť, koľko služieb bolo napadnutých, kde bol zahrnutý váš e-mail, a podľa toho zistiť, či nebolo prelomené vaše skvelé univerzálne heslo.
(2) Ku cti Amazonu, LightSail má minimum skenov. Vraj to nejako filtrujú.
(3) Ešte bezpečnejší webový server je ten za dedikovaným firewallom, vlastným WAF, ale hovoríme o verejnom VPS/Dedicated.
(4) Segmentsmak.
(5) Firehol.
Do prieskumu sa môžu zapojiť iba registrovaní užívatelia. Prihlásiť saProsím.
Trčia vám porty?
vždy
niekedy
Nikdy
Neviem, kurva
Hlasovalo 54 užívateľov. 6 užívateľov sa zdržalo hlasovania.