როგორ დავაყენოთ Firewall Ubuntu სერვერზე
გამოქვეყნებულია: 15 თებერვალი, 2025, 21:38:38 UTC
ბოლო განახლება: 12 იანვარი, 2026, 08:38:04 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 უკვე დაინსტალირებული იყო, მაგრამ თუ თქვენს შემთხვევაში არ არის, უბრალოდ დააინსტალირეთ ის საცავებიდან:
UFW სინამდვილეში უბრალოდ ინსტრუმენტია, რომელიც ამარტივებს iptables-ის კონფიგურაციას - კულისებში, ფილტრაციას კვლავ iptables და Linux-ის ბირთვის firewall ახორციელებს, ამიტომ ufw არც მათზე ნაკლებად და არც უფრო უსაფრთხოა. თუმცა, იმის გამო, რომ ufw მნიშვნელოვნად აადვილებს firewall-ის სწორად კონფიგურაციას, მან შეიძლება შეამციროს ადამიანური შეცდომის რისკი და, შესაბამისად, შესაძლოა უფრო უსაფრთხო იყოს გამოუცდელი ადმინისტრატორებისთვის.
თუ თქვენი სერვერი IPv4-თან ერთად IPv6-თანაც არის კონფიგურირებული, დარწმუნდით, რომ ეს ფუნქცია UFW-სთვისაც არის ჩართული. რედაქტირება გაუკეთეთ ფაილს /etc/default/ufw და მოძებნეთ ხაზი, სადაც წერია IPV6=yes. ჩემს ინსტალაციაზე ის უკვე იქ იყო, მაგრამ თუ არ არის ან თუ ის არას ამბობს, უნდა შეცვალოთ.
შემდეგ, უბრალოდ გამოიყენეთ ბრძანების ხაზი იმ პორტების გასახსნელად, რომელთა გახსნაც გსურთ. თუ თქვენს სერვერთან ssh-ის საშუალებით ხართ დაკავშირებული, დარწმუნდით, რომ ესეც დაუშვით, წინააღმდეგ შემთხვევაში, შესაძლოა, კავშირი შეფერხდეს და გააქტიურებისას სერვერზე წვდომა დაბლოკოთ - იმისდა მიხედვით, გაქვთ თუ არა სერვერზე ფიზიკური წვდომა, ეს შეიძლება გარკვეულწილად მოუხერხებელი იყოს ;-)
მაგალითად, თუ სტანდარტულ პორტ 22-ზე ssh-ს იყენებთ და ვებ სერვერს აკონფიგურირებთ, რომელიც მხარს უჭერს როგორც დაუშიფრავ (HTTP პორტ 80-ზე), ასევე დაშიფრულ (HTTPS პორტ 443-ზე) კავშირებს, ufw-ს კონფიგურაციისთვის შემდეგი ბრძანებები უნდა გაუშვათ:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
თუ მეტი წესი გჭირდებათ, უბრალოდ დაამატეთ ისინი ზემოთ მოცემული წესის მიხედვით.
თუ თქვენ გაქვთ სტატიკური IP მისამართი და მხოლოდ ერთი ადგილიდან ssh-ის საშუალებით დაკავშირება გჭირდებათ, ასევე შეგიძლიათ შეზღუდოთ ssh კავშირები ერთი საწყისი მისამართით, როგორც ეს შემდეგნაირად:
რა თქმა უნდა, ამის ნაცვლად შეიყვანეთ თქვენი საკუთარი IP მისამართი.
დასრულების შემდეგ, ჩართეთ ufw შემდეგი ბრძანების შეყვანით:
და მზად ხართ! firewall მუშაობს და ავტომატურად ჩაირთვება სერვერის გადატვირთვისას :-)
თუ ufw კონფიგურაციაში ცვლილებებს შეიტანთ, შესაძლოა დაგჭირდეთ მისი გამორთვა და ხელახლა ჩართვა, რათა ისინი ამოქმედდეს, შემდეგნაირად:
sudo ufw enable
მიმდინარე კონფიგურაციის სანახავად, უბრალოდ შეიყვანეთ:
თუ ufw არ არის ჩართული, ეს უბრალოდ აჩვენებს „არააქტიური“ შეტყობინებას, წინააღმდეგ შემთხვევაში ის ჩამოთვლის ამჟამად განსაზღვრულ წესებს.
