Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.
PrisijungtiRegistruotisJei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.
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ą.
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
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.