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

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


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

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

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

Firewalld (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

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

Пас аз ворид кардани тағирот ба конфигуратсияи 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 чор ҷадвали асосӣ дорад: filter, nat, mangle ва raw . Ҳар яки онҳо барои коркарди намудҳои муайяни бастаҳо тарҳрезӣ шудаанд ва занҷирҳои қоидаҳои худро доранд:

  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-save ва iptables-restore метавонанд дар ин кор кумак кунанд. Барои захира кардани қоидаҳо, фармони зеринро ворид кунед:

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

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

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

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

хулоса

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

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

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

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