frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

PrisijungtiRegistruotis

IP adresų rinkinio blokavimas naudojant iptables

iv_vytenisgiv_vytenisg Super Moderator
edited 2021 rugsėjo 2 Į Serverių saugumas

Atliekant serverio administravimą galite pastebėti, kad serveris nuolatos sulaukia tam tikrų didesnio ar mažesnio srauto atakų. Jos retai būna didelio masto (DDoS), tačiau vis tiek gali apkrauti serverį resursus ar bandyti nulaužti prisijungimą prie serverio. Tikrinant tokių atakų šaltinius galite pastebėti, kad jos atliekamos iš tam tikrų šalių IP adresų. Dažniausiai Kinijos, Vietnamo, Irako, Afganistano ir pan.

Tokios problemos gali būti sprendžiamos naudojant CDN paslaugas arba blokuojant tam tikrus IP adresus ar jų potinklius. CDN paslauga dažnu atveju būna mokama ir ne visada suteikia galimybę blokuoti konkrečią šalį. Rankiniu būtu užblokuoti visą šalį suvedant visus joje naudojamus potinklius yra gana sudėtingas procesas. Todėl tam atlikti siūlome pasitelkti iptables taisyklių ugniasienę bei ipset programinį paketą.


0. Preliminarūs reikalavimai

  • Linux serveris naudojantis mūsų parengtą operacinės sistemos ar serverio valdymo pulto šabloną.


1. ipset diegimas

Prieš atliekant ipset paketo diegimą visų pirmą rekomenduojame atnaujinti serverio programinę įrangą. Prisijunkite prie serverio per terminalą ir paleiskite šias komandas:

Ubuntu/Debian

apt-get update && apt-get upgrade

CentOS

yum update

Visi mūsų šablonai automatiškai įdiegia iptables ugniasienę standartiškai. Papildomas reikiamas paketas - ipset. Šis paketas naudojamas su iptables norint paprasčiau įtraukti IP adresų potinklius į iptables taisykles. Jo diegimas atliekamas su šia komanda:

Ubuntu/Debian

apt-get install ipset

CentOS

yum install ipset

2. Visų vienos šalies IP adresų blokavimas

Norint užblokuoti visus šalies IP adresus visų pirmą turite sukurti ipset grupę. Kaip pavyzdį paimkite Kiniją, kurios IP adresai dažniausiai vykdo didelį kiekį užklausų naudojant bot'us ar crawler'ius. Įvykdykite komandą:

ipset create china hash:net

Sukūrus IP adresų grupę į ją reikia įtraukti IP adresus. Tam naudosime ipdeny, tačiau bet kuris kitas jūsų pasirinktas IP adresų sąrašas turėtų tikti šiam veiksmui. Įvykdome komandą:

wget -O /tmp/cn.zone http://www.ipdeny.com/ipblocks/data/countries/cn.zone

Šiuo atveju cn yra Kinijos IP adresų sąrašas. Galite susirasti reikiamos šalies sąrašą ir įvesti reikiamą tos šalies trumpinį. Toliau įvykdome komandą, kuri prideda atsisiųstą sąrašą į mūsų sukurtą grupę china:

for i in `cat /tmp/cn.zone`; do ipset add china $i; done

Ir pabaigai įtraukiame ipset'ą į iptables taisykles. Konkrečiu atveju blokuojame TCP protokolo užklausas, tačiau galite blokuoti ir kitas norimas užklausas:

iptables -I INPUT -p tcp -m set --match-set china src -j DROP

Toks blokavimas be abejo neprilygsta aparatinės įrangos ugniasienei su išmaniuoju srauto filtravimu, tačiau tai gana geras metodas agresyviems paieškos bot'ams ir crawler'iams blokuoti.

Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2024 Dedikuoti.lt forumas, visos teisės saugumos.