Ne otvarajte luke prema svijetu - bit ćete slomljeni (rizici)

Ne otvarajte luke prema svijetu - bit ćete slomljeni (rizici)

Uvijek iznova, nakon provođenja revizije, kao odgovor na moje preporuke da se portovi sakriju iza bijele liste, nailazim na zid nerazumijevanja. Čak i vrlo cool administratori/DevOps pitaju: "Zašto?!?"

Predlažem razmotriti rizike prema silaznom redoslijedu vjerojatnosti nastanka i štete.

  1. Greška u konfiguraciji
  2. DDoS preko IP-a
  3. sirova snaga
  4. Ranjivosti usluge
  5. Ranjivosti kernel stack-a
  6. Povećani DDoS napadi

Greška u konfiguraciji

Najtipičnija i najopasnija situacija. Kako se događa. Programer mora brzo testirati hipotezu; on postavlja privremeni poslužitelj s mysql/redis/mongodb/elastic. Lozinka je, naravno, složena, koristi je posvuda. Otvara uslugu svijetu - njemu je zgodno da se poveže sa svog računala bez ovih vaših VPN-ova. I previše sam lijen da zapamtim sintaksu iptables; poslužitelj je ionako privremen. Još par dana razvoja - ispalo je odlično, možemo to pokazati kupcu. Kupcu se sviđa, nema vremena za prepravljanje, lansiramo ga u PROD!

Primjer koji je namjerno preuveličan kako bi se išlo kroz sve rake:

  1. Ne postoji ništa trajnije od privremenog - ne sviđa mi se ovaj izraz, ali prema subjektivnom osjećaju, 20-40% takvih privremenih poslužitelja ostaje dugo vremena.
  2. Složena univerzalna lozinka koja se koristi u mnogim servisima je zlo. Jer je jedan od servisa na kojem je korištena ova lozinka mogao biti hakiran. Na ovaj ili onaj način, baze podataka hakiranih servisa skupljaju se u jednu, koja se koristi za [grubu silu]*.
    Vrijedno je dodati da su redis, mongodb i elastic nakon instalacije općenito dostupni bez autentifikacije i često se nadopunjuju zbirka otvorenih baza podataka.
  3. Može se činiti da nitko neće skenirati vaš port 3306 za nekoliko dana. To je zabluda! Masscan je izvrstan skener i može skenirati brzinom od 10 milijuna portova u sekundi. A na Internetu postoji samo 4 milijarde IPv4. Sukladno tome, svih 3306 priključaka na Internetu nalazi se za 7 minuta. Charles!!! Sedam minuta!
    "Kome ovo treba?" - protivite se. Pa sam iznenađen kada pogledam statistiku odbačenih paketa. Odakle dolazi 40 tisuća pokušaja skeniranja s 3 tisuće jedinstvenih IP adresa dnevno? Sada svi skeniraju, od maminih hakera do vlada. Vrlo je jednostavno provjeriti - uzmite bilo koji VPS za 3-5 USD od bilo koje** niskotarifne zrakoplovne tvrtke, omogućite bilježenje odbačenih paketa i pogledajte dnevnik za jedan dan.

Omogućavanje zapisivanja

U /etc/iptables/rules.v4 dodajte na kraj:
-A INPUT -j LOG --log-prefiks "[FW - ALL] " --log-level 4

I u /etc/rsyslog.d/10-iptables.conf
:msg,sadrži,"[FW - "/var/log/iptables.log
& zaustaviti se

DDoS preko IP-a

Ako napadač zna vaš IP, može oteti vaš poslužitelj nekoliko sati ili dana. Nemaju svi jeftini pružatelji usluga hostinga DDoS zaštitu i vaš će poslužitelj jednostavno biti isključen s mreže. Ako ste sakrili svoj poslužitelj iza CDN-a, ne zaboravite promijeniti IP, inače će ga haker guglati i DDoS vaš poslužitelj zaobilazeći CDN (vrlo popularna pogreška).

Ranjivosti usluge

Svi popularni softveri prije ili kasnije pronađu pogreške, čak i oni najtestiraniji i najkritičniji. Među IB stručnjacima postoji polušala - sigurnost infrastrukture može se sigurno procijeniti do trenutka posljednjeg ažuriranja. Ako je vaša infrastruktura bogata portovima koji strše u svijet, a niste je ažurirali godinu dana, tada će vam svaki stručnjak za sigurnost bez gledanja reći da ste propustljivi i da ste najvjerojatnije već hakirani.
Također je vrijedno spomenuti da su sve poznate ranjivosti nekad bile nepoznate. Zamislite hakera koji je pronašao takvu ranjivost i skenirao cijeli Internet u 7 minuta u potrazi za njenom prisutnošću... Evo nove epidemije virusa) Moramo ažurirati, ali to može naštetiti proizvodu, kažete. I bit ćete u pravu ako paketi nisu instalirani iz službenih OS repozitorija. Iz iskustva, ažuriranja iz službenog repozitorija rijetko kvare proizvod.

sirova snaga

Kao što je gore opisano, postoji baza podataka s pola milijarde lozinki koje je zgodno upisivati ​​s tipkovnice. Drugim riječima, ako niste generirali lozinku, nego utipkali susjedne simbole na tipkovnici, budite uvjereni* da ćete biti pokradeni.

Ranjivosti kernel stack-a.

Također se događa **** da čak nije važno koja usluga otvara port, kada je mrežni skup kernela sam po sebi ranjiv. To jest, apsolutno svaki tcp/udp socket na dvije godine starom sustavu osjetljiv je na ranjivost koja vodi do DDoS-a.

Povećani DDoS napadi

Neće uzrokovati nikakvu direktnu štetu, ali može začepiti vaš kanal, povećati opterećenje sustava, vaš IP će završiti na nekoj crnoj listi*****, a vi ćete biti zlostavljani od hostera.

Trebate li zaista sve ove rizike? Dodajte svoj kućni i poslovni IP na bijeli popis. Čak i ako je dinamički, prijavite se kroz administratorsku ploču hostera, putem web konzole i samo dodajte još jedan.

Gradim i štitim IT infrastrukturu već 15 godina. Razvio sam pravilo koje toplo preporučujem svima - nijedna luka ne bi trebala stršati u svijet bez bijele liste.

Na primjer, najsigurniji web server*** je onaj koji otvara 80 i 443 samo za CDN/WAF. A servisni portovi (ssh, netdata, bacula, phpmyadmin) bi trebali biti barem iza white-liste, a još bolje iza VPN-a. U protivnom riskirate da budete ugroženi.

To je sve što sam htio reći. Držite svoje luke zatvorene!

  • (1) UPD1: Ovdje možete provjeriti svoju cool univerzalnu lozinku (nemojte to činiti bez zamjene ove lozinke nasumičnim u svim uslugama), je li se pojavio u spojenoj bazi podataka. I ovdje možete vidjeti koliko je usluga bilo hakirano, gdje je uključena vaša e-pošta i, sukladno tome, saznati je li vaša cool univerzalna lozinka ugrožena.
  • (2) Zasluge Amazona, LightSail ima minimalno skeniranje. Očito ga nekako filtriraju.
  • (3) Još sigurniji web poslužitelj je onaj iza namjenskog vatrozida, vlastitog WAF-a, ali govorimo o javnom VPS-u/Dedicated.
  • (4) Segmentimak.
  • (5) Firehol.

U anketi mogu sudjelovati samo registrirani korisnici. Prijaviti se, molim.

Da li vam portovi strše?

  • uvijek

  • ponekad

  • Nikad

  • Ne znam, jebote

Glasovalo je 54 korisnika. Suzdržano je bilo 6 korisnika.

Izvor: www.habr.com

Dodajte komentar