Knowledgebase Simplaj instrukcioj por labori kun la servo Profitserver
ĉefa Knowledgebase Agordante fajroŝirmilon en Linukso

Agordante fajroŝirmilon en Linukso


Fajroŝirmilo en Linukso ludas esencan rolon en sekurigado de komputila sistemo. Ĝi funkcias kiel baro, kontrolante kaj filtrante retan trafikon por protekti la sistemon kontraŭ neaŭtorizita aliro, atakoj kaj aliaj minacoj. Sen konvene agordita Fajromuro, la servilo povus esti vundebla al diversaj specoj de ciberatakoj, kondukante al gravaj sekvoj por datumsekureco kaj konfidenco.

En ĉi tiu artikolo, ni rigardos du ĉefajn ilojn por agordi la Linuksan Fajromuron: firewalld kaj iptables. Ni faros komparan analizon de iliaj trajtoj, funkcioj kaj avantaĝoj. Plie, ni provizos detalajn instrukciojn por agordi kaj uzi ĉiun el ĉi tiuj iloj, kaj ankaŭ diskutos plej bonajn praktikojn por sekurigi vian sistemon per Fajromuro sur la Linuksa platformo. Ĉiuj agoj estos montritaj sur virtuala servilo kun administra aliro.

Agordante firewalld sur Linukso

Firewalld (Firewall Daemon) estas programo por administri la fajromuron en Linuksaj operaciumoj. Ĝi provizas uzantinterfacon por agordi fajromurajn regulojn, permesi aŭ bloki konektojn de retaj aplikaĵoj. Ĝi estas antaŭinstalita defaŭlte en plej multaj servilaj distribuaĵoj. Se Firewalld ne estas antaŭinstalita, ĝi povas esti instalita sendepende de la oficialaj deponejoj de la distribuaĵo.

Por Red Hat-sistemoj (kiel RHEL, CentOS, Fedora) la instalado estas farita per la komando:

yum install firewalld

Por Debian/Ubuntu:

apt-get install firewalld

Post instalado, ĝi povas esti komencita kaj aktivigita tuj per la komando:

systemctl start firewalld

Poste, vi devas aldoni la servon al lanĉo:

systemctl enable firewalld
Aldonante firewalld en Linuksa aŭtoŝarĝo

Je ĉi tiu punkto, ni rekomendas malŝalti ufw, ĉar la samtempa uzo de ĉi tiu ilo kun firewalld aŭ iptables ne estas rekomendita. Kontrolu la staton:

systemctl status ufw
Kontrolante ufw linukson

Por haltigi ĝin, enigu la komandon:

systemctl stop ufw

Por kompleta malaktivigo:

ufw disable

Post ĉi tiuj agoj, vi povas agordi firewalld.

Unue, necesas difini fidajn zonojn. Firewalld uzas la koncepton de zonoj por determini la nivelon de fido por retaj interfacoj. Ĉiu interfaco ricevas unu zonon, kaj fajromurreguloj estas aplikataj surbaze de la zono. La listo de ĉiuj disponeblaj zonoj estas malfermita per la komando:

firewall-cmd --get-zones

Kutime, 4 ĉefaj zonoj estas uzataj:

  1. publikajn: Ĉi tiu zono estas por retoj, kiujn vi konsideras nesekuraj;
  2. privata: validas por hejmaj retoj aŭ aliaj fidindaj retaj konektoj;
  3. interna: Uzite por internaj retoj, kiel tiuj ene de organizo aŭ kompania reto;
  4. DMZ: Ĉi tiu zono estas kie kutime estas metitaj serviloj kiuj devus esti alireblaj de la interreto.

Tamen, ĉi tio estas nur unu ekzemplo. Vi povas aldoni vian propran zonon uzante la komandon:

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

Post aldonado, reŝargi estas bezonata:

firewall-cmd --reload

Por forigi zonon oni uzas similan metodon

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

Post difini zonojn, necesas permesi trafikon por la bezonataj servoj kaj havenoj. Por permesi certan servon, uzu la komandon:

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

Kie nomo estas la nomo de la servo. Ekzemple, por permesi trafikon por Apache:

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

Por difini permeseblajn havenojn, uzu la komandon:

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

Ekzemple, la norma 22-haveno por SSH aspektus jene:

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

En ĉi tiu etapo, la ĉefaj reguloj jam estas kreitaj. Poste, determinu kiel trafiko estos prilaborita depende de la fonto, celloko, haveno kaj aliaj kriterioj. Por aldoni regulon (uzante la publikan zonon kiel ekzemplon):

firewall-cmd --zone=public rule

Ekzemple, por permesi alvenantan trafikon de iu ajn fonto al haveno 80 (HTTP):

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

Por forigi regulon:

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

Kie regulo estas la tipo de regulo (ekz., haveno, servo, riĉa-regulo, ktp.), kaj regulo_specifo estas la specifo de la regulo mem.

Post fari ŝanĝojn al la agordo de Firewalld, necesas konservi kaj apliki ilin. Por konservi ŝanĝojn, uzu la komandon:

firewall-cmd --runtime-to-permanent

Por apliki ŝanĝojn:

firewall-cmd --reload

Fininte la agordon, vi povas kontroli la elektitajn parametrojn malfermante la liston de ĉiuj reguloj:

firewall-cmd --list-all
firewalld Linuksaj reguloj

Se aperas iuj problemoj, kontrolu la protokolojn de Firewalld per la komando:

journalctl -u firewalld

Noto: Ni nur traktis la ĝeneralan algoritmon por starigi la konekton. La ilo havas ampleksan funkciecon. Por plenaj informoj pri ĉiuj disponeblaj opcioj, vi povas uzi la oficialan dokumentaron aŭ malfermi helpon:

firewall-cmd --help

Agordante iptables en Linukso

Male al Firewalld, iptables estas pli malnova sed ankoraŭ vaste uzata ilo en Linukso por administri la fajroŝirmilon. Ĝi provizas pli rektan kaj flekseblan aliron al pakaj filtraj reguloj ĉe la Linuksa kerno. Tamen, iptables postulas pli altnivelan scion kaj sperton kompare kun Firewalld, igante ĝin malpli alirebla por komencantoj. Kontrolu la antaŭinstalitan version de la ilo per la komando:

iptables -V

Se la ilo ne estas instalita, ĝi devos esti instalita. La komando por instalado sur Ubuntu, Debian:

apt install iptables

Por Red Hat-sistemoj (ekz. CentOS, Fedora):

yum install iptables

La komando por aktivigo post instalado:

systemctl start iptables

Por aldoni al lanĉo, ekzekutu:

systemctl enable iptables

Antaŭ ol komenci la agordon de iptables, gravas kompreni kiel ĝi funkcias. Tion helpas la sintakso de la programo. Ĝi aspektas jene:

iptables -t table action chain additional_parameters

Ni profundiĝu en ĉiu objekto.

Iptables havas kvar ĉefajn tabelojn: filter, nat, mangle, kaj raw . Ĉiu estas destinita por prilabori certajn specojn de pakaĵoj kaj havas siajn proprajn ĉenojn de reguloj:

  1. filtrilo: Ĉi tiu estas la plej ofte uzata tabelo, enhavanta regulojn pri pakaĵeto. Ĝi estas uzata por fari decidojn ĉu permesi aŭ nei pakaĵetojn.
  2. nat: Ĉi tiu tabelo estas uzata por modifi retajn adresojn kaj pordojn en pakaĵoj. Ĝi estas ofte uzata por agordi maskeradon (NAT).
  3. mangle: En ĉi tiu tabelo, vi povas modifi pakajn kapliniojn. Ĝi estas uzata por specialaj pakaj operacioj, kiel markado.
  4. kruda: Ĉi tiu tabelo estas uzata por agordi regulojn, kiuj validas antaŭ ol ili trapasas la konektan spursistemon. Ĝi estas kutime uzata por starigi regulojn, kiuj ne devus esti modifitaj de la spursistemo, kiel faligi pakaĵetojn de certaj adresoj.

Ĉiu tablo enhavas aron da ĉenoj. Ĉenoj estas sekvenco de reguloj kiuj estas kontrolitaj sinsekve. Estas tri antaŭdifinitaj ĉenoj:

  1. ENIGO (envenanta). La reguloj en ĉi tiu ĉeno determinas kion fari kun envenantaj pakoj.
  2. ELIGRO (elira). Ĉi tiu ĉeno validas por ĉiuj pakoj, kiujn via komputilo sendas al aliaj aparatoj aŭ komputiloj en la reto.
  3. FORWARD (plusendado). La reguloj en ĉi tiu ĉeno specifas kion fari kun plusenditaj pakaĵoj.

Fine, ĉiu ĉeno posedas iun agon (celon). En la praktiko, 5 ĉefaj agoj estas uzataj:

  1. Akcepti: Permesu la pakaĵon trapasi la fajroŝirmilon.
  2. GUTI: Forĵetu la pakaĵon kaj forĵetu ĝin sen ajna respondo.
  3. REJEKTO: Malakceptu la pakaĵon kaj sendu al la sendinto erarmesaĝon de ICMP.
  4. LOG: Ensalutu la pakaĵeton en la sistema protokolo kaj faru alian agon (ekz., AKCEPTI aŭ FORIGI).
  5. REVENO: Ĉesu kontroli la regulojn en la nuna ĉeno kaj revenu al la voka ĉeno (se aplikeble).

Por komenci la aranĝon, malfermu la liston de ekzistantaj reguloj per la komando:

iptables -L
Agordante fajroŝirmilon en Linukso

Kiel gvidilo por agordi Iptables, ni rigardu praktikajn ekzemplojn de la plej ofte uzataj komandoj. Por komforto, ni dividos la ekzemplojn en 3 grupojn, depende de la specifa ĉeno.

Ĉena ENIGO :

  1. Permesu alvenantan trafikon per TCP-protokolo sur haveno 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Permesu alvenantan trafikon per UDP-protokolo sur haveno 22:

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

3. Bloku envenantan trafikon de specifa IP-adreso:

iptables -A INPUT -s 192.168.1.100 -j DROP

Ĉena ELIGADO :

  1. Permesu elirantan trafikon per TCP-protokolo sur haveno 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Permesu elirantan trafikon per UDP-protokolo sur haveno 80:

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

3. Bloku elirantan trafikon al specifa haveno (ekzemple, 21):

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

Ĉeno ANTAŬEN :

  1. Bloki plusendita trafiko de specifa gamo da IP-adresoj:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Bloku la plusendon de pakaĵoj de specifa retinterfaco:

iptables -A FORWARD -i eth1 -j DROP

3. Limigu la nombron da samtempaj konektoj por specifa haveno (en ĉi tiu ekzemplo, 10 konektoj je minuto sur haveno 80):

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

Kiel vi povas vidi, en ĉiu aparta kazo, aldona argumento (komando) estas uzata. Por ricevi plenan liston de eblaj argumentoj kaj ĝeneralan subtenon por la funkcieco de la ilo, enigu:

iptables -h
listo de komandoj pri agordo de iptables linuksa

Por certigi, ke la agordoj estas ĝustaj, reenigu la komandon por vidi la liston de reguloj:

iptables -L
Kontrolante iptables-linuksajn regulojn

Por forigi specifan regulon, uzu la komandon:

iptables -D chain rule_number

Ekzemple, se vi volas forigi regulon numero 1 de la INPUT-ĉeno, la komando aspektos jene:

iptables -D INPUT 1

Por forigi ĉiujn regulojn per unu komando:

iptables -F

Grava noto : iptables-reguloj ne estas aŭtomate konservitaj post restartiĝo de la sistemo aŭ servo. Por konservi la regulojn, ili devas esti aldonitaj al agordodosiero kaj restarigitaj post restartiĝo. La iloj iptables-save kaj iptables-restore povas helpi pri tio. Por konservi la regulojn, enigu la komandon:

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

Ĉi tio konservas la nunajn regulojn de iptables en la dosiero rules.v4. Por restarigi post rekomenco, enigu:

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

Ĉi tiu komando restarigas la regulojn el la dosiero rules.v4.

konkludo

Agordi Fajrmuron en Linukso uzante firewalld aŭ iptables estas grava aspekto por certigi servilan sekurecon. Ambaŭ iloj ofertas fidindajn rimedojn por administri retan trafikon kaj protekti la sistemon kontraŭ neaŭtorizita aliro kaj ciberatakoj. La elekto inter firewalld kaj iptables dependas de la specifaj bezonoj kaj preferoj de la uzanto, konsiderante iliajn malsamajn funkciecon kaj fortojn.

❮ Antaŭa artikolo Servila Ŝarĝo-Diagnozo
Sekva artikolo ❯ Linuksaj Uzantoj: Administrado kaj Permesoj

Demandu nin pri VPS

Ni ĉiam pretas respondi viajn demandojn je ajna tempo de tago aŭ nokto.