База Едноставни упатства за работа со услугата Profitserver
главните База Конфигурирање на заштитен ѕид на Linux

Конфигурирање на заштитен ѕид на Linux


Заштитниот ѕид на Linux игра витална улога во обезбедувањето на компјутерскиот систем. Дејствува како бариера, контролирајќи го и филтрирајќи го мрежниот сообраќај за да го заштити системот од неовластен пристап, напади и други закани. Без правилно конфигуриран Firewall, серверот може да биде ранлив на разни видови сајбер напади, што ќе доведе до сериозни последици за безбедноста и доверливоста на податоците.

Во оваа статија, ќе разгледаме две главни алатки за конфигурирање на заштитниот ѕид на Linux: заштитен ѕид и iptables. Ќе спроведеме компаративна анализа на нивните карактеристики, функционалност и предности. Дополнително, ќе обезбедиме детални упатства за поставување и користење на секоја од овие алатки, како и ќе разговараме за најдобрите практики за обезбедување на вашиот систем со Firewall на платформата Linux. Сите дејства ќе бидат демонстрирани на а виртуелен сервер со пристап до корен.

Конфигурирање на заштитен ѕид на Linux

Заштитен ѕид (Firewall Daemon) е програма за управување со заштитниот ѕид во оперативните системи Линукс. Обезбедува кориснички интерфејс за конфигурирање на правилата за заштитен ѕид, дозволување или блокирање врски на мрежни апликации. Стандардно е претходно инсталиран во повеќето дистрибуции на сервери. Ако 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. DMZ: Оваа зона е местото каде што обично се поставуваат сервери кои треба да бидат достапни од интернет.

Сепак, ова е само еден пример. Можете да додадете своја сопствена зона користејќи ја командата:

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

каде владее е типот на правило (на пр., пристаниште, услуга, богато правило итн.) и правило_спецификација е спецификација на самото правило.

Откако ќе направите промени во конфигурацијата на Firewalld, потребно е да ги зачувате и примените. За да ги зачувате промените, користете ја командата:

firewall-cmd --runtime-to-permanent

За да ги примените промените:

firewall-cmd --reload

По завршувањето на поставувањето, можете да ги потврдите избраните параметри со отворање на списокот со сите правила:

firewall-cmd --list-all
заштитниот ѕид правила на Линукс

Ако се појават какви било проблеми, проверете ги дневниците на 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. OUTPUT (појдовен). Овој синџир се однесува на сите пакети што вашиот компјутер ги испраќа на други уреди или компјутери на мрежата.
  3. НАПРЕД (препраќање). Правилата во овој синџир специфицираат што да се прави со препратените пакети.

Конечно, секој синџир поседува одредена акција (цел). Во пракса, се користат 5 главни дејства:

  1. ПРИФАЌАМ: Дозволете пакетот да помине низ заштитниот ѕид.
  2. Зависници: Одбијте го пакетот и фрлете го без никаков одговор.
  3. ОДБИВИ: Одбијте го пакетот и испратете му на испраќачот порака за грешка ICMP.
  4. LOG: Пријавете го пакетот во системскиот дневник и извршете друго дејство (на пр., ПРИФАТИ или ПРОПАДИ).
  5. ВРАЌАЊЕ: Престанете да ги проверувате правилата во тековниот синџир и вратете се на синџирот за повикување (ако е применливо).

За да го започнете поставувањето, отворете ја листата на постоечки правила со командата:

iptables -L
Конфигурирање на заштитен ѕид на Linux

Како водич за конфигурирање на Iptables, ајде да погледнеме практични примери на најчесто користените команди. За погодност, ќе ги поделиме примерите во 3 групи, во зависност од специфичниот синџир.

синџири INPUT:

  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
Проверка на правилата на iptables Linux

За да избришете одредено правило, користете ја командата:

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 во датотеката rules.v4. За враќање по рестартирање, внесете:

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

Оваа команда ги враќа правилата од датотеката rules.v4.

Заклучок

Конфигурирањето на заштитниот ѕид на Linux со користење на заштитен ѕид или iptables е важен аспект за обезбедување на безбедноста на серверот. Двете алатки нудат сигурни средства за управување со мрежниот сообраќај и заштита на системот од неовластен пристап и сајбер напади. Изборот помеѓу заштитниот ѕид и iptables зависи од специфичните потреби и преференции на корисникот, земајќи ги во предвид нивната различна функционалност и предности.

❮ Претходна статија Корисници на Linux: Управување и дозволи
Следна статија ❯ Дијагностика на оптоварување на серверот

Прашајте не за VPS

Секогаш сме подготвени да одговориме на вашите прашања во секое време од денот или ноќта.