Маълумотнома Дастурҳои оддӣ барои кор бо хидмати Profitserver
асосӣ Маълумотнома Танзими Сипар дар Linux

Танзими Сипар дар Linux


Сипар дар Linux дар таъмини системаи компютерӣ нақши муҳим мебозад. Он ҳамчун монеа амал мекунад, трафики шабакаро назорат ва филтр мекунад, то системаро аз дастрасии беиҷозат, ҳамлаҳо ва дигар таҳдидҳо муҳофизат кунад. Бе Firewall дуруст танзимшуда, сервер метавонад ба намудҳои гуногуни ҳамлаҳои киберӣ осебпазир бошад, ки ба оқибатҳои ҷиддии амният ва махфияти додаҳо оварда мерасонад.

Дар ин мақола, мо ду асбоби асосиро барои конфигуратсияи Firewall Linux дида мебароем: firewalld ва iptables. Мо таҳлили муқоисавии хусусиятҳо, функсияҳо ва бартариҳои онҳоро анҷом медиҳем. Илова бар ин, мо дастурҳои муфассалро оид ба насб ва истифодаи ҳар яке аз ин абзорҳо пешниҳод мекунем ва инчунин таҷрибаҳои беҳтарини таъмини системаи шумо бо Сипар дар платформаи Linux муҳокима хоҳем кард. Ҳамаи амалҳо дар бораи а намоиш дода мешаванд Сервери виртуалӣ бо дастрасии реша.

Танзими девори девор дар Linux

Сипар девор (Firewall Daemon) як барнома барои идоракунии девор дар системаҳои оператсионии Linux мебошад. Он интерфейси корбарро барои танзими қоидаҳои брандмауэр, иҷозат додан ё бастани пайвастҳои барномаҳои шабакавӣ таъмин мекунад. Он бо нобаёнӣ дар аксари тақсимоти сервер пешакӣ насб карда шудааст. Агар Firewalld пешакӣ насб нашуда бошад, он метавонад мустақилона аз анбори расмии дистрибютор насб карда шавад.

Барои системаҳои Red Hat (ба монанди RHEL, CentOS, Fedora) насб бо фармони зерин иҷро карда мешавад:

yum install firewalld

Барои Debian/Ubuntu:

apt-get install firewalld

Пас аз насб, он метавонад фавран бо фармони зерин оғоз ва фаъол карда шавад:

systemctl start firewalld

Баъдан, шумо бояд хидматро ба оғозёбӣ илова кунед:

systemctl enable firewalld
Илова кардани девори девор дар боркунии автоматии Linux

Дар ин лаҳза мо тавсия медиҳем, ки ufw-ро ғайрифаъол созем, зеро истифодаи ҳамзамон ин асбоб бо девори девор ё iptables тавсия дода намешавад. Вазъиятро тафтиш кунед:

systemctl status ufw
Санҷиши ufw linux

Барои қатъ кардани он, фармонро ворид кунед:

systemctl stop ufw

Барои пурра хомӯш кардан:

ufw disable

Пас аз ин амалҳо, шумо метавонед ба танзими девори девор идома диҳед.

Аввалан, муайян кардани минтақаҳои эътимод зарур аст. Firewalld барои муайян кардани сатҳи эътимод ба интерфейсҳои шабака консепсияи минтақаҳоро истифода мебарад. Ба ҳар як интерфейс як минтақа таъин карда мешавад ва қоидаҳои брандмауэр дар асоси минтақа истифода мешаванд. Рӯйхати ҳамаи минтақаҳои дастрас бо фармони зерин кушода мешавад:

firewall-cmd --get-zones

Одатан, 4 минтақаи асосӣ истифода мешаванд:

  1. умумӣ: Ин минтақа барои шабакаҳое мебошад, ки шумо онҳоро хатарнок мешуморед;
  2. бахши хусусї: Ба шабакаҳои хонагӣ ё дигар пайвастҳои шабакаи боэътимод дахл дорад;
  3. Дохилӣ: Барои шабакаҳои дохилӣ, ба монанди шабакаҳои дохили созмон ё шабакаи корпоративӣ истифода мешавад;
  4. ДМЗ: Ин минтақа одатан серверҳо ҷойгир карда мешаванд, ки бояд аз интернет дастрас бошанд.

Бо вуҷуди ин, ин танҳо як мисол аст. Шумо метавонед бо истифода аз фармони худ минтақаи худро илова кунед:

firewall-cmd --permanent --new-zone=nameyourzone

Пас аз илова, дубора бор кардан лозим аст:

firewall-cmd --reload

Барои нест кардани минтақа, усули шабеҳ истифода мешавад

firewall-cmd --permanent --delete-zone=nameyourzone

Пас аз муайян кардани минтақаҳо, ба трафик барои хидматҳо ва бандарҳои зарурӣ иҷозат додан лозим аст. Барои иҷозат додан ба хидмати муайян, фармонро истифода баред:

firewall-cmd --zone=public --add-service=name

Дар куҷо ном номи хадамот аст. Масалан, барои иҷозат додани трафик барои Apache:

firewall-cmd --zone=public --add-service=http

Барои муайян кардани портҳои иҷозатдодашуда фармонро истифода баред:

firewall-cmd --zone=public --add-port=number/protocol

Масалан, порти стандартии 22 барои SSH чунин хоҳад буд:

firewall-cmd --zone=public --add-port=22/tcp

Дар ин марҳила, қоидаҳои асосӣ аллакай сохта шудаанд. Баъдан, муайян кунед, ки трафик вобаста ба манбаъ, таъинот, порт ва дигар меъёрҳо чӣ гуна коркард мешавад. Барои илова кардани қоида (бо истифода аз умумӣ минтақа ҳамчун мисол):

firewall-cmd --zone=public rule

Масалан, барои иҷозат додани трафики воридотӣ аз ҳама гуна манбаъ ба порти 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Барои хориҷ кардани қоида:

firewall-cmd --permanent --remove-rule=rule_specification

Дар куҷо қоида навъи қоида аст (масалан, порт, хидмат, rich-rule ва ғ.), ва мушаххасоти қоида мушаххасоти худи қоида аст.

Пас аз ворид кардани тағирот ба конфигуратсияи Firewalld, онҳоро захира кардан ва татбиқ кардан лозим аст. Барои захира кардани тағирот, фармонро истифода баред:

firewall-cmd --runtime-to-permanent

Барои татбиқи тағйирот:

firewall-cmd --reload

Пас аз ба итмом расонидани танзимот, шумо метавонед параметрҳои интихобшударо тавассути кушодани рӯйхати ҳамаи қоидаҳо тафтиш кунед:

firewall-cmd --list-all
қоидаҳои Firewalld Linux

Агар ягон мушкилот ба миён ояд, гузоришҳои Firewalld-ро бо фармони зерин тафтиш кунед:

journalctl -u firewalld

Эзоҳ: Мо танҳо алгоритми умумиро барои танзими пайваст фаро гирифтем. Восита дорои функсияҳои васеъ мебошад. Барои маълумоти пурра дар бораи ҳамаи имконоти дастрас, шумо метавонед истифода баред ҳуҷҷатҳои расмӣ ё кӯмаки кушод:

firewall-cmd --help

Танзими iptables дар Linux

Баръакси Firewalld, iptables як асбоби кӯҳна аст, аммо ҳанӯз ҳам васеъ истифодашаванда дар Linux барои идоракунии девор. Он ба қоидаҳои филтркунии бастаҳо дар сатҳи ядрои Linux муносибати бештар мустақим ва фасењро таъмин мекунад. Аммо, iptables дар муқоиса бо Firewalld дониш ва таҷрибаи пешрафтаро талаб мекунад, ки онро барои шурӯъкунандагон камтар дастрас мекунад. Версияи қаблан насбшудаи асбобро бо фармони зерин тафтиш кунед:

iptables -V

Агар асбоб насб карда нашавад, он бояд насб карда шавад. Фармон барои насб дар Ubuntu, Debian:

apt install iptables

Барои системаҳои Red Hat (масалан, CentOS, Fedora):

yum install iptables

Фармон барои фаъолсозӣ пас аз насб:

systemctl start iptables

Барои илова кардан ба оғозёбӣ, иҷро кунед:

systemctl enable iptables

Пеш аз оғоз кардани конфигуратсияи iptables, фаҳмидани он ки чӣ тавр он кор мекунад, муҳим аст. Ба ин синтаксиси барнома кумак мекунад. Чунин ба назар мерасад:

iptables -t table action chain additional_parameters

Биёед ба ҳар як ҷузъи амиқтар омӯзем.

Iptables дорои чаҳор ҷадвали асосӣ: филтр, нат, мангле ва хом. Ҳар яке барои коркарди намудҳои муайяни бастаҳо пешбинӣ шудааст ва дорои занҷирҳои қоидаҳои худро дорад:

  1. филтр: Ин ҷадвали маъмултаринест, ки дорои қоидаҳои филтркунии бастаҳо мебошад. Он барои қабули қарорҳо дар бораи иҷозат додан ё рад кардани бастаҳо истифода мешавад.
  2. Радиои Озодӣ: Ин ҷадвал барои тағир додани суроғаҳои шабакавӣ ва портҳо дар пакетҳо истифода мешавад. Он одатан барои танзими маскарад (NAT) истифода мешавад.
  3. морг: Дар ин ҷадвал шумо метавонед сарлавҳаҳои бастаҳоро тағир диҳед. Он барои амалиёти махсуси бастаҳо, ба монанди аломатгузорӣ истифода мешавад.
  4. хом: Ин ҷадвал барои танзим кардани қоидаҳое истифода мешавад, ки пеш аз гузаштан аз системаи пайгирии пайвастшавӣ татбиқ мешаванд. Он одатан барои муқаррар кардани қоидаҳое истифода мешавад, ки аз ҷониби системаи пайгирӣ набояд тағир дода шаванд, ба монанди партофтани пакетҳо аз суроғаҳои муайян.

Ҳар як ҷадвал дорои маҷмӯи занҷирҳо мебошад. Занҷирҳо пайдарпайии қоидаҳое мебошанд, ки пайдарпай тафтиш карда мешаванд. Се занҷири пешакӣ муайяншуда мавҷуданд:

  1. INPUT (даромад). Қоидаҳои ин занҷир муайян мекунанд, ки бо бастаҳои воридотӣ чӣ кор кардан лозим аст.
  2. БАРҶОМ (баромад). Ин занҷир ба ҳама бастаҳое дахл дорад, ки компютери шумо ба дигар дастгоҳҳо ё компютерҳои шабака мефиристад.
  3. БА ПЕШ (интиқол). Қоидаҳои ин занҷир муайян мекунанд, ки бо бастаҳои интиқолшуда чӣ кор кардан лозим аст.

Ниҳоят, ҳар як занҷир дорои як амал (ҳадаф) мебошад. Дар амал 5 амали асосӣ истифода мешавад:

  1. ACCEPT: Ба баста иҷозат диҳед, ки аз девори девор гузарад.
  2. Партофтан: Бастаро рад кунед ва онро бе ҷавоб партоед.
  3. РЕГАР: Бастаро рад кунед ва ба ирсолкунанда паёми хатогии ICMP фиристед.
  4. Лог: Бастаро дар сабти система сабт кунед ва амали дигарро иҷро кунед (масалан, ҚАБУЛ КУНЕД ё ДОРЕД).
  5. РЕСТАНД: Санҷиши қоидаҳоро дар занҷири ҷорӣ қатъ кунед ва ба занҷири зангҳо баргардед (агар лозим бошад).

Барои оғози насб, рӯйхати қоидаҳои мавҷударо бо фармон кушоед:

iptables -L
Танзими Сипар дар Linux

Ҳамчун дастур оид ба танзими Iptables, биёед мисолҳои амалии фармонҳои маъмултаринро дида бароем. Барои роҳат, мо мисолҳоро вобаста ба занҷири мушаххас ба 3 гурӯҳ тақсим мекунем.

занҷираи НОМГУЙ:

  1. Ба трафики воридотӣ тавассути протоколи TCP дар порти 80 иҷозат диҳед:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Иҷозат додани трафики воридотӣ тавассути протоколи UDP дар порти 22:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Маҳдуд кардани трафики воридотӣ аз суроғаи мушаххаси IP:

iptables -A INPUT -s 192.168.1.100 -j DROP

занҷираи Натиҷаи:

  1. Иҷозат додани трафики содиротӣ тавассути протоколи TCP дар порти 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Иҷозат додани трафики содиротӣ тавассути протоколи UDP дар порти 80:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Маҳдуд кардани трафики содиротӣ ба бандари мушаххас (масалан, 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

занҷираи МИНБАЪДА:

  1. Маҳдуд кардани трафики интиқолшуда аз доираи муайяни суроғаҳои IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Интиқоли бастаҳоро аз интерфейси шабакавии мушаххас манъ кунед:

iptables -A FORWARD -i eth1 -j DROP

3. Шумораи пайвастҳои ҳамзамон барои порти мушаххасро маҳдуд кунед (дар ин мисол, 10 пайваст дар як дақиқа дар порти 80):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Тавре ки шумо мебинед, дар ҳар як ҳолати алоҳида далели иловагӣ (фармон) истифода мешавад. Барои гирифтани рӯйхати пурраи далелҳои эҳтимолӣ ва дастгирии умумии функсияи асбоб, ворид кунед:

iptables -h
рӯйхати фармонҳои iptables Linux насб

Барои дуруст будани танзимот, барои дидани рӯйхати қоидаҳо фармонро дубора ворид кунед:

iptables -L
Санҷиши қоидаҳои Linux-и iptables

Барои нест кардани қоидаи мушаххас, фармонро истифода баред:

iptables -D chain rule_number

Масалан, агар шумо хоҳед, ки қоидаи рақами 1-ро аз занҷири INPUT нест кунед, фармон чунин хоҳад буд:

iptables -D INPUT 1

Барои нест кардани ҳама қоидаҳо бо як фармон:

iptables -F

Аҳамияти муҳим: қоидаҳои iptables пас аз бозоғозкунии система ё хидмат ба таври худкор захира карда намешаванд. Барои захира кардани қоидаҳо, онҳо бояд ба файли конфигуратсия илова карда шаванд ва пас аз бозоғозӣ барқарор карда шаванд. Дар iptables - захира кунед ва iptables-барқарор коммуналй дар ин бобат ёрй расонда метавонанд. Барои захира кардани қоидаҳо, фармонро ворид кунед:

iptables-save > /etc/iptables/rules.v4

Ин қоидаҳои ҷории iptables -ро дар файли rule.v4 захира мекунад. Барои барқарор кардани пас аз бозоғозӣ, ворид кунед:

iptables-restore < /etc/iptables/rules.v4

Ин фармон қоидаҳоро аз файли rule.v4 барқарор мекунад.

хулоса

Танзими Сипар дар Linux бо истифода аз firewalld ё iptables як ҷанбаи муҳими таъмини амнияти сервер мебошад. Ҳарду воситаҳо воситаҳои боэътимоди идоракунии трафики шабакавӣ ва ҳифзи системаро аз дастрасии беиҷозат ва ҳамлаҳои киберӣ пешниҳод мекунанд. Интихоби байни firewalld ва iptables аз ниёзҳо ва афзалиятҳои мушаххаси корбар бо назардошти функсияҳо ва ҷиҳатҳои гуногуни онҳо вобаста аст.

❮ Мақолаи қаблӣ Истифодабарандагони Linux: Идоракунӣ ва иҷозатҳо
Мақолаи навбатӣ ❯ Ташхиси сарбории сервер

Дар бораи VPS аз мо пурсед

Мо ҳамеша омодаем ба саволҳои шумо дар ҳар вақти шабу рӯз ҷавоб диҳем.