Bibliotēka Vienkāršas instrukcijas darbam ar Profitserver pakalpojumu

Ugunsmūra konfigurēšana operētājsistēmā Linux


Ugunsmūrim operētājsistēmā Linux ir būtiska loma datorsistēmas drošībā. Tas darbojas kā barjera, kontrolējot un filtrējot tīkla trafiku, lai aizsargātu sistēmu no nesankcionētas piekļuves, uzbrukumiem un citiem draudiem. Bez pareizi konfigurēta ugunsmūra serveris var būt neaizsargāts pret dažāda veida kiberuzbrukumiem, izraisot nopietnas sekas datu drošībai un konfidencialitātei.

Šajā rakstā mēs apskatīsim divus galvenos Linux ugunsmūra konfigurēšanas rīkus: firewalld un iptables. Mēs veiksim to funkciju, funkcionalitātes un priekšrocību salīdzinošu analīzi. Turklāt mēs sniegsim detalizētus norādījumus par katra no šiem rīkiem iestatīšanu un lietošanu, kā arī apspriedīsim paraugpraksi, kā nodrošināt sistēmu ar ugunsmūri Linux platformā. Visas darbības tiks demonstrētas a virtuālais serveris ar piekļuvi saknei.

Ugunsmūra konfigurēšana operētājsistēmā Linux

Firewalld (Firewall Daemon) ir programma ugunsmūra pārvaldībai Linux operētājsistēmās. Tas nodrošina lietotāja interfeisu ugunsmūra noteikumu konfigurēšanai, ļaujot vai bloķēt tīkla lietojumprogrammu savienojumus. Lielākajā daļā serveru izplatījumu tas ir iepriekš instalēts pēc noklusējuma. Ja ugunsmūris nav iepriekš instalēts, to var instalēt neatkarīgi no izplatīšanas oficiālajām krātuvēm.

Red Hat sistēmām (piemēram, RHEL, CentOS, Fedora) instalēšana tiek veikta ar komandu:

yum install firewalld

Debian/Ubuntu:

apt-get install firewalld

Pēc instalēšanas to var sākt un nekavējoties aktivizēt ar komandu:

systemctl start firewalld

Tālāk jums ir jāpievieno pakalpojums startēšanai:

systemctl enable firewalld
Ugunsmūra pievienošana Linux automātiskajai ielādei

Šobrīd mēs iesakām atspējot ufw, jo šī rīka vienlaicīga lietošana ar ugunsmūri vai iptables nav ieteicama. Pārbaudiet statusu:

systemctl status ufw
Pārbauda ufw linux

Lai to apturētu, ievadiet komandu:

systemctl stop ufw

Pilnīgai deaktivizēšanai:

ufw disable

Pēc šīm darbībām varat turpināt ugunsmūra konfigurēšanu.

Pirmkārt, ir jādefinē uzticamības zonas. Firewall izmanto zonu jēdzienu, lai noteiktu tīkla saskarņu uzticamības līmeni. Katrai saskarnei ir piešķirta viena zona, un ugunsmūra noteikumi tiek piemēroti atkarībā no zonas. Visu pieejamo zonu saraksts tiek atvērts ar komandu:

firewall-cmd --get-zones

Parasti tiek izmantotas 4 galvenās zonas:

  1. valsts: šī zona ir paredzēta tīkliem, kurus uzskatāt par nedrošiem;
  2. Privāts: attiecas uz mājas tīkliem vai citiem uzticamiem tīkla savienojumiem;
  3. Iekšējs: izmanto iekšējiem tīkliem, piemēram, organizācijām vai korporatīvajiem tīkliem;
  4. DMZ: šajā zonā parasti tiek izvietoti serveri, kuriem vajadzētu būt pieejamiem no interneta.

Tomēr šis ir tikai viens piemērs. Jūs varat pievienot savu zonu, izmantojot komandu:

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

Pēc pievienošanas ir nepieciešama atkārtota ielāde:

firewall-cmd --reload

Lai izdzēstu zonu, tiek izmantota līdzīga metode

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

Pēc zonu noteikšanas ir nepieciešams atļaut satiksmi nepieciešamajiem pakalpojumiem un ostām. Lai atļautu noteiktu pakalpojumu, izmantojiet komandu:

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

Reģions nosaukums ir pakalpojuma nosaukums. Piemēram, lai atļautu Apache trafiku:

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

Lai definētu pieļaujamos portus, izmantojiet komandu:

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

Piemēram, SSH standarta 22 ports izskatās šādi:

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

Šajā posmā galvenie noteikumi jau ir izveidoti. Pēc tam nosakiet, kā trafiks tiks apstrādāts atkarībā no avota, galamērķa, ostas un citiem kritērijiem. Lai pievienotu noteikumu (izmantojot valsts zona kā piemērs):

firewall-cmd --zone=public rule

Piemēram, lai atļautu ienākošo trafiku no jebkura avota uz 80. portu (HTTP):

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

Lai noņemtu noteikumu:

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

Reģions lemt ir noteikuma veids (piemēram, osta, pakalpojums, bagātināts noteikums utt.), un noteikumu_specifikācija ir paša noteikuma specifikācija.

Pēc izmaiņu veikšanas ugunsmūra konfigurācijā tās ir jāsaglabā un jāpiemēro. Lai saglabātu izmaiņas, izmantojiet komandu:

firewall-cmd --runtime-to-permanent

Lai piemērotu izmaiņas:

firewall-cmd --reload

Pabeidzot iestatīšanu, varat pārbaudīt atlasītos parametrus, atverot visu noteikumu sarakstu:

firewall-cmd --list-all
ugunsmūra Linux noteikumi

Ja rodas kādas problēmas, pārbaudiet Firewall žurnālus ar komandu:

journalctl -u firewalld

Piezīme. Mēs esam apskatījuši tikai vispārīgo savienojuma iestatīšanas algoritmu. Rīkam ir plaša funkcionalitāte. Lai iegūtu pilnu informāciju par visām pieejamajām opcijām, varat izmantot oficiāls dokuments vai atveriet palīdzību:

firewall-cmd --help

IPtables konfigurēšana operētājsistēmā Linux

Atšķirībā no Firewall, iptables ir vecāks, bet joprojām plaši izmantots rīks Linux ugunsmūra pārvaldīšanai. Tas nodrošina tiešāku un elastīgāku pieeju pakešu filtrēšanas noteikumiem Linux kodola līmenī. Tomēr iptables prasa vairāk uzlabotas zināšanas un pieredzi, salīdzinot ar Firewall, padarot to mazāk pieejamu iesācējiem. Pārbaudiet iepriekš instalēto rīka versiju ar komandu:

iptables -V

Ja rīks nav instalēts, tas būs jāinstalē. Komanda instalēšanai Ubuntu, Debian:

apt install iptables

Red Hat sistēmām (piemēram, CentOS, Fedora):

yum install iptables

Aktivizēšanas komanda pēc instalēšanas:

systemctl start iptables

Lai pievienotu startēšanai, izpildiet:

systemctl enable iptables

Pirms iptables konfigurācijas palaišanas ir svarīgi saprast, kā tā darbojas. To palīdz programmas sintakse. Tas izskatās šādi:

iptables -t table action chain additional_parameters

Iedziļināsimies katrā vienumā.

Iptables ir četras galvenās tabulas: filtrs, nats, mangle un neapstrādāts. Katrs no tiem ir paredzēts noteikta veida pakešu apstrādei, un tam ir savas noteikumu ķēdes:

  1. filtrēt: šī ir visbiežāk izmantotā tabula, kas satur pakešu filtrēšanas noteikumus. To izmanto, lai pieņemtu lēmumus par pakešu atļaušanu vai noraidīšanu.
  2. nat: šo tabulu izmanto, lai modificētu tīkla adreses un portus paketēs. To bieži izmanto maskēšanas (NAT) iestatīšanai.
  3. mangle: šajā tabulā varat modificēt pakešu galvenes. To izmanto specializētām pakešu operācijām, piemēram, marķēšanai.
  4. neapstrādāts: šī tabula tiek izmantota, lai konfigurētu kārtulas, kas ir spēkā, pirms tās tiek izmantotas savienojuma izsekošanas sistēmā. To parasti izmanto, lai iestatītu noteikumus, kurus izsekošanas sistēmai nevajadzētu mainīt, piemēram, pakešu nomešanai no noteiktām adresēm.

Katrā tabulā ir ķēžu komplekts. Ķēdes ir noteikumu secība, kas tiek pārbaudīta secīgi. Ir trīs iepriekš noteiktas ķēdes:

  1. IEVADE (ienākošā). Šīs ķēdes noteikumi nosaka, ko darīt ar ienākošajām paketēm.
  2. IZEJA (izejošā). Šī ķēde attiecas uz visām paketēm, kuras jūsu dators sūta uz citām ierīcēm vai datoriem tīklā.
  3. FORWARD (pārsūtīšana). Šīs ķēdes noteikumi nosaka, ko darīt ar pārsūtītajām paketēm.

Visbeidzot, katrai ķēdei ir kāda darbība (mērķis). Praksē tiek izmantotas 5 galvenās darbības:

  1. PIEKRĪT: Ļaujiet paketei iziet cauri ugunsmūrim.
  2. DROP: Noraidīt paketi un izmest to bez atbildes.
  3. Noraidīt: Noraidīt paketi un nosūtīt sūtītājam ICMP kļūdas ziņojumu.
  4. LOG: reģistrējiet paketi sistēmas žurnālā un veiciet citu darbību (piemēram, ACCEPT vai DROP).
  5. RETURN: pārtrauciet pašreizējās ķēdes noteikumu pārbaudi un atgriezieties izsaukšanas ķēdē (ja piemērojams).

Lai sāktu iestatīšanu, atveriet esošo noteikumu sarakstu ar komandu:

iptables -L
Ugunsmūra konfigurēšana operētājsistēmā Linux

Kā ceļvedi Iptables konfigurēšanai, apskatīsim visbiežāk izmantoto komandu praktiskos piemērus. Ērtības labad mēs sadalīsim piemērus 3 grupās atkarībā no konkrētās ķēdes.

ķēde INPUT:

  1. Atļaut ienākošo trafiku, izmantojot TCP protokolu 80. portā:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Atļaut ienākošo trafiku, izmantojot UDP protokolu 22. portā:

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

3. Bloķējiet ienākošo trafiku no noteiktas IP adreses.

iptables -A INPUT -s 192.168.1.100 -j DROP

ķēde REZULTĀTS:

  1. Atļaut izejošo trafiku, izmantojot TCP protokolu 443. portā:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Atļaut izejošo trafiku, izmantojot UDP protokolu 80. portā:

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

3. Bloķējiet izejošo trafiku uz noteiktu portu (piemēram, 21):

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

ķēde Uz priekšu:

  1. Bloķēt pārsūtīto trafiku no noteikta IP adrešu diapazona:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Bloķējiet pakešu pārsūtīšanu no noteikta tīkla interfeisa:

iptables -A FORWARD -i eth1 -j DROP

3. Ierobežojiet vienlaicīgo savienojumu skaitu konkrētam portam (šajā piemērā — 10 savienojumi minūtē 80. portā):

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

Kā redzat, katrā atsevišķā gadījumā tiek izmantots papildu arguments (komanda). Lai iegūtu pilnu iespējamo argumentu sarakstu un vispārējo atbalstu rīka funkcionalitātei, ievadiet:

iptables -h
iptables linux iestatīšanas komandu saraksts

Lai pārliecinātos, ka iestatījumi ir pareizi, atkārtoti ievadiet komandu, lai skatītu noteikumu sarakstu:

iptables -L
Pārbauda iptables Linux noteikumus

Lai izdzēstu noteiktu noteikumu, izmantojiet komandu:

iptables -D chain rule_number

Piemēram, ja vēlaties dzēst kārtulas numuru 1 no INPUT ķēdes, komanda izskatīsies šādi:

iptables -D INPUT 1

Lai dzēstu visus noteikumus ar vienu komandu:

iptables -F

Svarīga piezīme: iptables noteikumi netiek saglabāti automātiski pēc sistēmas vai pakalpojuma pārstartēšanas. Lai saglabātu noteikumus, tie ir jāpievieno konfigurācijas failam un jāatjauno pēc atkārtotas palaišanas. The iptables-save un iptables-restore komunālie pakalpojumi var palīdzēt šajā jautājumā. Lai saglabātu noteikumus, ievadiet komandu:

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

Tādējādi pašreizējās iptables kārtulas tiek saglabātas failā rules.v4. Lai atjaunotu pēc pārstartēšanas, ievadiet:

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

Šī komanda atjauno noteikumus no faila rules.v4.

Secinājumi

Ugunsmūra konfigurēšana operētājsistēmā Linux, izmantojot ugunsmūri vai iptables, ir svarīgs servera drošības nodrošināšanas aspekts. Abi rīki piedāvā uzticamus līdzekļus tīkla trafika pārvaldībai un sistēmas aizsardzībai pret nesankcionētu piekļuvi un kiberuzbrukumiem. Izvēle starp ugunsmūri un iptables ir atkarīga no lietotāja īpašajām vajadzībām un vēlmēm, ņemot vērā to atšķirīgo funkcionalitāti un stiprās puses.

⮜ Iepriekšējais raksts Linux lietotāji: pārvaldība un atļaujas
Nākamais raksts ⮞ Servera slodzes diagnostika

Jautājiet mums par VPS

Mēs vienmēr esam gatavi atbildēt uz jūsu jautājumiem jebkurā diennakts laikā.