Ինչպես պաշտպանել ձեր Linux սերվերը IPTABLES-ի միջոցով


Ցավոք սրտի, սերվերի կոտրման բազմաթիվ դեպքեր կան: Այս փաստի շնորհիվ, firewall-ի օգտագործումը կարևոր է ցանցի անվտանգությունը բարձրացնելու համար: Դուք կարող եք մեծացնել ձեր սերվերի պաշտպանությունը՝ օգտագործելով Iptables՝ firewall-ը կարգավորելու համար:

Iptables-ը Linux-ի վրա հիմնված օպերացիոն համակարգերի համար նախատեսված firewall ծրագիր է, որը շատ Linux բաշխումներ, ինչպիսիք են Rocky Linux-ը և CentOS-ը, ներառում են լռելյայն:

Յուրաքանչյուրը կարող է օգտակար գտնել Iptables-ը լրացուցիչ սերվերի պաշտպանության համար, անկախ նրանից՝ դուք համակարգի ադմինիստրատոր եք և ցանկանում եք կանխել սերվերի անվտանգության հնարավոր սպառնալիքները, թե օգտվում եք VPS-ից և ցանկանում եք համոզվել, որ, օրինակ, VPS Rocky Linux-ը սահուն աշխատում է՝ պատշաճ պաշտպանությամբ:

Այս հոդվածը ձեզ ավելին կպատմի Iptables-ի մասին և ինչպես կարող եք օգտագործել գործիքը՝ ձեր սերվերը պաշտպանելու համար:

Ինչպե՞ս է աշխատում IPtables գործիքը:

Iptables-ը firewall կոմունալ ծրագիր է, որն իրականացնում է ցանցերի համեմատություններ՝ համաձայն հատուկ կանոնների:

Այն հիմնականում վերահսկում է աղյուսակների միջոցով սերվերից եկող և դեպի երթևեկությունը: Աղյուսակները պարունակում են կանոնների նշված փաթեթը, որոնք կոչվում են շղթաներ, որոնք թույլ են տալիս զտել տվյալների փաթեթները, որոնք սերվերը ստանում և փոխանցում է: Շղթաները ենթադրում են կանոններ, որոնց համաձայն ստուգվում է փաթեթը:

Iptables-ում կան լռելյայն շղթաներ, ինչպիսիք են՝

  • Մուտքագրման կանոններ: Նրանք կարգավորում են բոլոր փաթեթները, որոնք գալիս են դեպի սերվեր:
  • Արդյունք կանոններ: Նրանք կառավարում են սերվերի արտադրած ամբողջ տրաֆիկը:
  • Փոխանցել կանոններ: Նրանք մշակում են մուտքային փաթեթները, որոնք հասցեագրված չեն սերվերին:

Դրանք նախապես սահմանված շղթաներ են, բայց դուք կարող եք ստեղծել ձերը:

Յուրաքանչյուր շղթա ունի քաղաքականություն, որը որոշում է, թե ինչ է պատահում կանոններին համապատասխանող կամ չհամապատասխանող փաթեթների հետ. փաթեթը կարող է ընդունվել կամ մերժվել:

Ձեր սերվերը Iptables-ով ապահովելու ռազմավարությունը կայանում է նրանում, որ մերժեք այն ամենը, ինչ ընդունելու ձեր թույլտվությունը չունի:

Սկսեք օգտագործել Iptables-ը

Դուք կարող եք անմիջապես անցնել կանոնների կազմաձևմանը, բայց նախքան դա անելը պետք է ինչ-որ բանի մասին հոգ տանել: Եթե դուք չունեք Ubuntu, Debian, RHEL, Rocky Linux կամ AlmaLinux, դուք կարող եք լրացուցիչ տեղադրել Iptables: Ավելին, մենք պատրաստվում ենք շարունակել՝ հաշվի առնելով, որ Iptable-ներն արդեն տեղադրված են։

Բացահայտեք լռելյայն շղթայի վարքագիծը

Շղթայի լռելյայն վարքագիծը ձեզ կասի, թե ինչպես են կազմաձևվում շղթաները և ինչ փոփոխություններ եք ուզում կատարել:

Լռելյայն շղթայի կարգավորումը պարզելու համար գործարկեք հետևյալ հրամանը.

$sudo iptables -L հրաման

Օրինակ, դուք կարող եք բախվել, որ շղթաները կազմաձևված են ընդունելու ամբողջ երթևեկությունը, ինչը հենց այն է, ինչ դուք ցանկանում եք: Եթե պարզեք, որ որոշ շղթա մերժում է երթևեկությունը, կատարեք հետևյալը.

$sudo iptables —քաղաքականություն INPUT ACCEPT

$sudo iptables —քաղաքականություն OUTPUT ACCEPT

$sudo iptables —քաղաքականություն ԱՌԱՋ ԸՆԴՈՒՆԵԼ

Այժմ, երբ ձեր սերվերն ընդունում է բոլոր կապերը, դուք կարող եք հստակ որոշել, թե ինչ եք ուզում արգելափակել: Եթե ունեք զգայուն տվյալներ, որոնց հետ աշխատում եք, լավ գաղափար կլինի ընդհանրապես արգելափակել կապերը և հետագայում ընտրել միայն այն IP հասցեները, որոնցից ցանկանում եք ստանալ տրաֆիկը: Դա անելու համար մուտքագրեք հետևյալը.

$sudo iptables —policy INPUT DROP

$sudo iptables —քաղաքականություն OUTPUT DOP

$sudo iptables —քաղաքականություն FORWARD DOP

Սա օգտակար կլինի միայն այն դեպքում, եթե դուք աշխատում եք զգայուն տվյալների հետ: Հակառակ դեպքում, այս քայլը պարտադիր չէ:

Կարգավորեք անհատական կապերը

Անհատական կապերի կարգավորումը ենթադրում է, որ դուք «պատմում եք» Iptables-ին, թե ինչպես վարվել, երբ խոսքը վերաբերում է կոնկրետ IP հասցեին: Անհատական կապերը կարգավորելու համար կան երեք հրամաններ՝ ընդունել, թողնել և մերժել:

  • Ընդունել նշանակում է, որ կապը կընդունվի:
  • Drop-ը նշանակում է, որ կապը կարգելափակվի սերվերի հետ փոխազդեցությունից:
  • Մերժել ենթադրում է սերվերի հետ փոխգործակցության փորձի արգելափակում և դրա մասին ծանուցում սխալի հաղորդագրությամբ:

Օրինակ, կոնկրետ IP հասցեն արգելափակելու համար կարող եք օգտագործել հետևյալ հրամանը.

$sudo iptables -A INPUT -S (տեղադրեք IP հասցեն, որը ցանկանում եք արգելափակել) -j DROP

Մի քանի կապեր արգելափակելու համար օգտագործեք.

$sudo iptables -A INPUT -s (IP հասցե 1)/(IP հասցե 2) /.0 -j ԿԱԹԵԼ

Եթե ցանկանում եք ջնջել որոշակի կանոն, դուք նույնպես կարող եք դա անել: Եթե սխալ եք թույլ տվել կամ ցանկանում եք ջնջել որոշակի կանոն, կարող եք դա անել -D հրամանի միջոցով՝ համակցված կանոնի թվի հետ, որը ցանկանում եք ջնջել:

$sudo iptables -D INPUT (կանոն համար)

Եվ եթե դուք պատրաստվում եք հեռացնել մի շարք կանոններ, կարող եք օգտագործել -F հրամանը.

$sudo iptables -F

Այն կմաքրի ձեր Iptable-ը:

Եզրակացություն

Iptables-ը շատ բազմակողմանի գործիք է, որը պաշտպանում է ձեր սերվերը այն տրաֆիկից, որը դուք չեք ցանկանում: Linux-ի օգտատերերը այս գործիքն արդյունավետ կգտնեն IP հասցեների, նավահանգիստների կամ արձանագրությունների վերաբերյալ տրաֆիկի հոսքը կառավարելու համար:

Այս հոդվածն ընդգրկում է Iptables-ի ֆունկցիոնալության ընդամենը մի մասը, բայց մենք դեռ հուսով ենք, որ այն օգտակար է ձեզ համար: Ձեր սերվերն օգտագործելու ընթացքում ունեցած փորձառությունը կարևոր է ինչպես ձեր սերվերի արդյունավետ կառավարման, այնպես էլ անվտանգության համար, և Iptables-ը ամենաօգտակար գործիքներից մեկն է նման նախաձեռնության համար: