Miklix

Ինչպես ստեղծել Firewall Ubuntu սերվերում

Հրապարակվել է՝ 15 փետրվարի, 2025 թ., 21:36:18 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 08:37:58 UTC

Այս հոդվածը բացատրում և մի քանի օրինակներ է բերում, թե ինչպես տեղադրել firewall GNU/Linux-ում՝ օգտագործելով ufw-ն, որը Uncomplicated FireWall-ի հապավումն է, և անվանումը տեղին է, այն իսկապես շատ հեշտ միջոց է՝ համոզվելու համար, որ ավելի շատ բաց պորտեր չունեք, քան անհրաժեշտ է։


Այս էջը ավտոմատ կերպով թարգմանվել է անգլերենից՝ հնարավորինս շատ մարդկանց համար հասանելի դարձնելու համար: Ցավոք, մեքենայական թարգմանությունը դեռ կատարելագործված տեխնոլոգիա չէ, ուստի կարող են սխալներ առաջանալ: Եթե ​​նախընտրում եք, կարող եք դիտել բնօրինակ անգլերեն տարբերակը այստեղ.

How to Set Up a Firewall on Ubuntu Server

Այս գրառման մեջ տեղեկատվությունը հիմնված է Ubuntu Server 14.04 x64-ի վրա: Այն կարող է վավեր լինել կամ չլինել այլ տարբերակների համար: (Թարմացում. Ես կարող եմ հաստատել, որ այս գրառման մեջ տեղեկատվությունը հիմնականում դեռևս վավեր է և գործում է Ubuntu Server 24.04-ից սկսած, սակայն միջանկյալ 10 տարիների ընթացքում ufw-ն որոշ չափով «խելացի» է դարձել՝ ունենալով պրոֆիլներ ընդհանուր սերվերային ծրագրերի համար (օրինակ՝ դուք կարող եք միացնել «Nginx full»-ը՝ 80 և 443 պորտերի փոխարեն առանձին), և ամբողջ firewall-ը անջատելը/միացնելը՝ նոր կանոններ կիրառելու համար այլևս անհրաժեշտ չէ):

Երբ ես նոր էի սկսել աշխատել GNU/Linux (Ubuntu) սերվերների հետ, firewall-ի կարգավորումը ենթադրում էր iptables-ի համար պոտենցիալ բարդ կոնֆիգուրացիայի ֆայլի ձեռքով ստեղծում և պահպանում: Այնուամենայնիվ, վերջերս ես հայտնաբերեցի ufw-ն, որը Uncomplicated Firewall-ի հապավումն է, և դա իսկապես այդպես է :-)

Իմ Ubuntu Server 14.04-ի տեղադրման մեջ ufw-ն արդեն տեղադրված էր, բայց եթե ձերը չունի, պարզապես տեղադրեք այն պահոցներից։

sudo apt-get install ufw

UFW-ն իրականում պարզապես գործիք է, որը պարզեցնում է iptables-ի կարգավորումը. կուլիսներում դեռևս iptables-ն ու Linux kernel firewall-ն են կատարում ֆիլտրացումը, ուստի ufw-ն ո՛չ պակաս, ո՛չ էլ ավելի անվտանգ է, քան սրանք։ Այնուամենայնիվ, քանի որ ufw-ն շատ ավելի հեշտացնում է firewall-ի ճիշտ կարգավորումը, այն կարող է նվազեցնել մարդկային սխալի ռիսկը և, հետևաբար, հնարավոր է՝ ավելի անվտանգ լինի անփորձ ադմինիստրատորների համար։

Եթե ձեր սերվերը կարգավորված է IPv6-ով, ինչպես նաև IPv4-ով, համոզվեք, որ սա միացված է նաև UFW-ի համար: Խմբագրեք /etc/default/ufw ֆայլը և փնտրեք IPV6=yes գրող տողը: Իմ տեղադրման ժամանակ այն արդեն այնտեղ էր, բայց եթե այդպես չէ կամ եթե այն ասում է ոչ, ապա դուք պետք է խմբագրեք այն:

Այնուհետև պարզապես օգտագործեք հրամանի տողը՝ միացնելու համար այն պորտերը, որոնք ցանկանում եք բացել: Եթե դուք միացված եք ձեր սերվերին ssh-ի միջոցով, համոզվեք, որ դա նույնպես թույլատրել եք, հակառակ դեպքում դա կարող է խաթարել ձեր կապը և հնարավոր է՝ արգելափակել ձեր սերվերը, երբ այն ակտիվացնեք. կախված նրանից, թե արդյոք դուք ֆիզիկական մուտք ունեք սերվերին, թե ոչ, սա կարող է մի փոքր անհարմար լինել ;-)

Օրինակ, եթե դուք օգտագործում եք ssh ստանդարտ 22-րդ պորտի վրա և կարգավորում եք վեբ սերվեր, որը աջակցում է ինչպես չգաղտնագրված (HTTP՝ 80-րդ պորտի վրա), այնպես էլ կոդավորված (HTTPS՝ 443-րդ պորտի վրա) կապեր, ապա ufw-ն կարգավորելու համար պետք է կատարեք հետևյալ հրամանները.

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Եթե ձեզ անհրաժեշտ են ավելի շատ կանոններ, պարզապես ավելացրեք դրանք վերևում նշվածի պես։

Եթե դուք ունեք ստատիկ IP հասցե և անհրաժեշտ է միանալ ssh-ի միջոցով միայն մեկ տեղանքից, կարող եք նաև սահմանափակել ssh կապերը մեկ սկզբնական հասցեով, ինչպես սա է՝

sudo ufw allow from 192.168.0.1 to any port 22

Իհարկե, փոխարենը մուտքագրեք ձեր սեփական IP հասցեն։

Ավարտելուց հետո միացրեք ufw-ն՝ մուտքագրելով՝

sudo ufw enable

Եվ դուք պատրաստ եք։ Firewall-ը աշխատում է և ավտոմատ կերպով կմեկնարկի, երբ վերագործարկեք ձեր սերվերը :-)

Եթե փոփոխություններ եք կատարում ufw կարգավորման մեջ, դրանք ուժի մեջ մտնելու համար կարող է անհրաժեշտ լինել այն անջատել և կրկին միացնել, ինչպես հետևյալն է՝

sudo ufw disable
sudo ufw enable

Ներկայիս կարգավորումները տեսնելու համար պարզապես մուտքագրեք՝

sudo ufw status

Եթե ufw-ն միացված չէ, սա պարզապես կցուցադրի «անգործուն» հաղորդագրությունը, հակառակ դեպքում կցուցադրվեն ներկայումս սահմանված կանոնները։

Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

Միկել Քրիստենսեն

Հեղինակի մասին

Միկել Քրիստենսեն
Mikkel-ը miklix.com-ի ստեղծողն ու սեփականատերն է: Նա ունի ավելի քան 20 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: