Miklix

როგორ დავაყენოთ Firewall Ubuntu სერვერზე

გამოქვეყნებულია: 15 თებერვალი, 2025, 21:38:38 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-ის გამორთვაზე. გამოყენება აღარ არის საჭირო)

როდესაც პირველად დავიწყე 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-ზეPinterest-ზე დამაგრება

მიკელ ბანგ კრისტენსენი

ავტორის შესახებ

მიკელ ბანგ კრისტენსენი
მაიკლ არის miklix.com-ის შემქმნელი და მფლობელი. მას აქვს 20 წელზე მეტი გამოცდილება, როგორც პროფესიონალი კომპიუტერული პროგრამისტი/პროგრამული უზრუნველყოფის შემქმნელი და ამჟამად მუშაობს სრულ განაკვეთზე დიდ ევროპულ IT კორპორაციაში. როდესაც ბლოგს არ წერს, თავისუფალ დროს ატარებს ინტერესების, ჰობიებისა და აქტივობების უზარმაზარ სპექტრზე, რაც შეიძლება გარკვეულწილად აისახოს ამ ვებსაიტზე გაშუქებულ თემებზე.