Huwag buksan ang mga port sa mundo - ikaw ay masisira (mga panganib)

Huwag buksan ang mga port sa mundo - ikaw ay masisira (mga panganib)

Paulit-ulit, pagkatapos magsagawa ng pag-audit, bilang tugon sa aking mga rekomendasyon na itago ang mga port sa likod ng isang white-list, natutugunan ako ng pader ng hindi pagkakaunawaan. Kahit na ang napaka-cool na admin/DevOps ay nagtatanong: β€œBakit?!?”

Iminumungkahi kong isaalang-alang ang mga panganib sa pababang pagkakasunud-sunod ng posibilidad ng paglitaw at pinsala.

  1. Error sa configuration
  2. DDoS sa IP
  3. Malupit na puwersa
  4. Mga kahinaan sa serbisyo
  5. Mga kahinaan sa kernel stack
  6. Nadagdagang pag-atake ng DDoS

Error sa configuration

Ang pinakakaraniwang at mapanganib na sitwasyon. Paano ito nangyayari. Kailangang mabilis na subukan ng developer ang hypothesis; nagse-set up siya ng pansamantalang server na may mysql/redis/mongodb/elastic. Ang password, siyempre, ay kumplikado, ginagamit niya ito kahit saan. Binubuksan nito ang serbisyo sa mundo - maginhawa para sa kanya na kumonekta mula sa kanyang PC nang wala itong mga VPN mo. At tinatamad akong matandaan ang syntax ng iptables; pansamantala pa rin ang server. Ang ilang higit pang mga araw ng pag-unlad - ito ay naging mahusay, maaari naming ipakita ito sa customer. Gusto ito ng customer, walang oras upang gawing muli, inilunsad namin ito sa PROD!

Isang halimbawa na sadyang pinalaki upang mapunta sa lahat ng rake:

  1. Wala nang mas permanente kaysa pansamantala - Hindi ko gusto ang pariralang ito, ngunit ayon sa mga pansariling damdamin, 20-40% ng naturang pansamantalang mga server ay nananatili sa mahabang panahon.
  2. Ang isang kumplikadong unibersal na password na ginagamit sa maraming mga serbisyo ay masama. Dahil ang isa sa mga serbisyo kung saan ginamit ang password na ito ay maaaring na-hack. Sa isang paraan o iba pa, ang mga database ng mga na-hack na serbisyo ay nagsasama-sama, na ginagamit para sa [brute force]*.
    Ito ay nagkakahalaga ng pagdaragdag na pagkatapos ng pag-install, ang redis, mongodb at nababanat ay karaniwang magagamit nang walang pagpapatunay, at madalas na pinupunan. koleksyon ng mga bukas na database.
  3. Maaaring mukhang walang mag-scan sa iyong 3306 port sa loob ng ilang araw. Isa itong maling akala! Ang Masscan ay isang mahusay na scanner at maaaring mag-scan sa 10M port bawat segundo. At mayroon lamang 4 bilyong IPv4 sa Internet. Alinsunod dito, ang lahat ng 3306 port sa Internet ay matatagpuan sa loob ng 7 minuto. Charles!!! Pitong minuto!
    β€œSino ang nangangailangan nito?” - tumutol ka. Kaya nagulat ako kapag tinitingnan ko ang mga istatistika ng mga nahulog na pakete. Saan nanggagaling ang 40 libong pagsubok sa pag-scan mula sa 3 libong natatanging IP bawat araw? Ngayon lahat ay nag-scan, mula sa mga hacker ni nanay hanggang sa mga pamahalaan. Napakadaling suriin - kumuha ng anumang VPS sa halagang $3-5 mula sa alinmang** murang airline, paganahin ang pag-log ng mga nahulog na pakete at tingnan ang log sa isang araw.

Paganahin ang pag-log

Sa /etc/iptables/rules.v4 idagdag sa dulo:
-A INPUT -j LOG --log-prefix "[FW - ALL] " --log-level 4

At sa /etc/rsyslog.d/10-iptables.conf
:msg,contains,"[FW - "/var/log/iptables.log
& huminto

DDoS sa IP

Kung alam ng isang attacker ang iyong IP, maaari niyang i-hijack ang iyong server sa loob ng ilang oras o araw. Hindi lahat ng low-cost hosting provider ay may proteksyon ng DDoS at ang iyong server ay madidiskonekta lang sa network. Kung itinago mo ang iyong server sa likod ng isang CDN, huwag kalimutang palitan ang IP, kung hindi, isang hacker ang mag-google nito at DDoS ang iyong server na lampasan ang CDN (isang napakasikat na pagkakamali).

Mga kahinaan sa serbisyo

Ang lahat ng tanyag na software sa kalaunan ay makakahanap ng mga error, kahit na ang mga pinakasubok at kritikal. Sa mga espesyalista sa IB, mayroong isang kalahating biro - ang seguridad ng imprastraktura ay maaaring ligtas na masuri sa oras ng huling pag-update. Kung ang iyong imprastraktura ay mayaman sa mga port na lumalabas sa mundo, at hindi mo ito na-update sa loob ng isang taon, sasabihin sa iyo ng sinumang espesyalista sa seguridad nang hindi tinitingnan na ikaw ay tumutulo, at malamang na na-hack na.
Nararapat ding banggitin na ang lahat ng kilalang kahinaan ay dating hindi alam. Isipin ang isang hacker na nakakita ng ganitong kahinaan at na-scan ang buong Internet sa loob ng 7 minuto para sa presensya nito... Narito ang isang bagong epidemya ng virus) Kailangan nating mag-update, ngunit maaari itong makapinsala sa produkto, sabi mo. At magiging tama ka kung ang mga pakete ay hindi naka-install mula sa mga opisyal na repositoryo ng OS. Mula sa karanasan, ang mga update mula sa opisyal na repositoryo ay bihirang masira ang produkto.

Malupit na puwersa

Tulad ng inilarawan sa itaas, mayroong isang database na may kalahating bilyong mga password na maginhawang mag-type mula sa keyboard. Sa madaling salita, kung hindi ka nakabuo ng password, ngunit nag-type ng mga katabing simbolo sa keyboard, makatitiyak* na malito ka nila.

Mga kahinaan sa kernel stack.

Nangyayari din **** na hindi mahalaga kung aling serbisyo ang magbubukas ng port, kapag ang kernel network stack mismo ay mahina. Iyon ay, ganap na anumang tcp/udp socket sa isang dalawang taong gulang na system ay madaling kapitan sa isang kahinaan na humahantong sa DDoS.

Nadagdagang pag-atake ng DDoS

Hindi ito magdudulot ng anumang direktang pinsala, ngunit maaari nitong barado ang iyong channel, pataasin ang load sa system, mapupunta ang iyong IP sa ilang black-list*****, at makakatanggap ka ng pang-aabuso mula sa hoster.

Kailangan mo ba talaga ang lahat ng mga panganib na ito? Idagdag ang IP ng iyong tahanan at trabaho sa white-list. Kahit na ito ay dynamic, mag-log in sa pamamagitan ng admin panel ng hoster, sa pamamagitan ng web console, at magdagdag lamang ng isa.

Ako ay nagtatayo at nagpoprotekta sa IT infrastructure sa loob ng 15 taon. Nakabuo ako ng isang panuntunan na lubos kong inirerekomenda sa lahat - walang port ang dapat lumabas sa mundo nang walang white-list.

Halimbawa, ang pinakasecure na web server*** ay ang nagbubukas ng 80 at 443 para lang sa CDN/WAF. At ang mga service port (ssh, netdata, bacula, phpmyadmin) ay dapat nasa likod man lang ng white-list, at mas maganda pa sa likod ng VPN. Kung hindi, nanganganib kang makompromiso.

Yun lang ang gusto kong sabihin. Panatilihing nakasara ang iyong mga port!

  • (1) UPD1: Dito maaari mong suriin ang iyong cool na unibersal na password (huwag gawin ito nang hindi pinapalitan ang password na ito ng random sa lahat ng serbisyo), kung ito ay lumitaw sa pinagsamang database. At dito maaari mong makita kung gaano karaming mga serbisyo ang na-hack, kung saan kasama ang iyong email, at, nang naaayon, malaman kung ang iyong cool na unibersal na password ay nakompromiso.
  • (2) Sa kredito ng Amazon, ang LightSail ay may kaunting mga pag-scan. Tila sinasala nila ito kahit papaano.
  • (3) Ang isang mas secure na web server ay ang nasa likod ng isang nakalaang firewall, ang sarili nitong WAF, ngunit pinag-uusapan natin ang tungkol sa pampublikong VPS/Nakatuon.
  • (4) Segmentsmak.
  • (5) Firehol.

Ang mga rehistradong user lamang ang maaaring lumahok sa survey. Mag-sign in, pakiusap

Lumalabas ba ang iyong mga port?

  • Laging

  • Minsan

  • Hindi kailanman

  • Hindi ko alam, fuck

54 na user ang bumoto. 6 user ang umiwas.

Pinagmulan: www.habr.com

Magdagdag ng komento