Kā konfigurēt iptables ugunsmūri Linux drošībai

Lai gan Linux ir viena no visuzticamākajām un drošākajām operētājsistēmām, pateicoties tās īpašībām, vienmēr būs kāda veida ievainojamība, neatkarīgi no tā, vai tā ir sistēmai raksturīga vai lietotāja netīša. Lai palielinātu Linux drošību, mums ir dažādi rīki, kas paredzēti pakalpojumu, procesu, profilu vai failu aizsardzībai, un šodien mēs koncentrēsimies uz īpašu rīku, ko sauc par Iptables.

Kas ir IptablesIptables ir uzlabots ugunsmūra rīks, kas ir integrēts Linux kodolā, kas ir daļa no projekta, ko sauc par netfilter.

Pateicoties Iptables, mēs varēsim precīzi un tieši pārvaldīt visus ienākošos un izejošos savienojumus ar serveri. Iptables ir izstrādāts IPv4 adresēšanai, savukārt IPv6 mums ir Ip6tables.

1. Iptables struktūra Linux


Iptables atrodamā struktūra ir šāda:

NeapstrādātsTā ir atbildīga par pakešu filtrēšanu pirms jebkuras citas esošas tabulas

FiltrētŠī ir lietojumprogrammas noklusējuma tabula

NatTo izmanto tīkla adrešu tulkošanai

MangrovsTo izmanto, lai mainītu specializētas tīkla paketes

DrošībaVar ieviest obligātās piekļuves kontroles tīkla savienojuma noteikumos

2. Komandu struktūra Iptables operētājsistēmā Linux


Programmā Iptables katrs noteikums ir komanda, kas norāda, kā jāapstrādā tīkla pakešu trafiks.
Mēs varam izmantot šādu struktūru:
 -A IEVADE -i eth0 -p tcp -m stāvoklis -IESTATĪTS, SAISTĪTS -sports 80 -j PIEŅEMT
Izmantotie parametri ir:
  • -A: norāda, ka noteikumi tiks pievienoti Iptables
  • -i: norāda saskarni, kurā tiks piemērots noteikums
  • -p: attiecas uz protokolu, kurā tiks piemērots noteikums
  • -m: attiecas uz faktu, ka ir jāievēro noteikums, lai tas tiktu piemērots
  • -valsts: atļauj pieņemt jaunus savienojumus
  • --sport: norāda avota portu
  • -j: (Pārlēkt) norāda, ka viņi var pieņemt visu datplūsmu, kas atbilst dotajiem nosacījumiem.

3. Noteikumu izveide, izmantojot Iptables operētājsistēmā Linux


Lai gan mēs varam pievienot kārtulas manuāli, ir daudz praktiskāk izveidot noteikumu failu un pēc tam to importēt. Šajā gadījumā mēs izveidosim failu ceļā / tmp / iptables-ip4, un mēs varam izmantot redaktoru tā pielāgošanai:
 sudo nano / tmp / iptables-ip4
Sintakse būs šāda:
 * filtrs # Noteikumi COMMIT pievienošanai
Tagad minētajā failā mēs izveidosim šādus noteikumus:

Loopback = Tā ir Linux ārējā saskarne

 -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT

Ping = ļauj pārbaudīt tīkla savienojumus

 -A INPUT -i eth0 -p icmp -m statuss -valsts JAUNS -icmp -type 8 -j ACCEPT -A INPUT -i eth0 -p icmp -m state --valsts, kas izveidota, SAISTĪTA -j ACCEPT -A OUTPUT - o eth0 -p icmp -j PIEŅEMT

Web = Izmantojot šos noteikumus, mēs kontrolējam ienākošo un izejošo datplūsmu.

 -A INPUT -i eth0 -p tcp -m state --valsts IZSTATĪTA, SAISTĪTA --sport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m state --valsts, kas izveidota, SAISTĪTA -sports 443 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 443 -j ACCEPT

DNS pievienošanas gadījumā mēs izmantosim šādas rindas:

 -A INPUT -i ens3 -s 192.168.0.1 -p udp --ports 53 -m state --valsts IZSTATĪTA, SAISTĪTA -j ACCEPT -A OUTPUT -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j PIEŅEMT

Piezīme:Šeit mums pēc vajadzības jāmaina IP

Laiks = Šie noteikumi ļauj izveidot savienojumu ar NTP pareizai laika sinhronizācijai

 -A INPUT -i eth0 -p udp -m state --valsts IZVEIDOTA, SAISTĪTA --portport 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --port 123 -j ACCEPT

Drukāšana = ļauj iespējot USB portus printeru savienošanai

 -A INPUT -p udp -m udp --port 631 -j ACCEPT -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --sport 631 -j ACCEPT -A Izeja -p tcp -m tcp -sports 631 -j PIEŅEMT

E -pasts = mēs varam iespējot dažādus e -pasta protokolus

 # IMAP -A INPUT -i eth0 -p tcp -m state --valsts, kas izveidota, SAISTĪTA -sports 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 993 -j ACCEPT
 # POP3 -A INPUT -i eth0 -p tcp -m state --valsts, kas izveidota, SAISTĪTA -sports 995 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --port 995 -j ACCEPT
 # SMTP -A INPUT -i eth0 -p tcp -m state --valsts, kas izveidota, SAISTĪTA -sports 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT

SSH = Iespējot drošus savienojumus ar datoru, izmantojot SSH protokolu

 # Ievads -A IEVADE -i ens3 -p tcp -m statuss -valsts JAUNS, IZVEIDOTS --ports 22 -j PIEŅEMT -A IZVADE -o ens3 -p tcp -m stāvoklis -valsts IZSTATĪTA -sports 22 -j PIEŅEMT
 # Izeja -A IZEJA -o ens3 -p tcp -m stāvoklis -valsts JAUNS, IZVEIDOTS --ports 22 -j PIEŅEMT -A IEVADE -i ens3 -p tcp -m stāvoklis -valsts IZSTATĪTA -sports 22 -j PIEŅEMT

DHCP: mēs varam izveidot noteikumus, lai atļautu IP adresēšanu, izmantojot DHCP

 -A INPUT -i eth0 -p udp -m state --valsts, kas izveidota, SAISTĪTA -sports 67:68 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --port 67:68 -j ACCEPT

Noraidīt visus savienojumus: mēs varam pievienot šādas rindas, lai atspējotu visu iepriekš minēto:

 -A INPUT -j REJECT -A FORWARD -j REJECT -A OUTPUT -j REJECT

Visas šīs rindas tiks pievienotas minētajam failam:

PALIELINĀT

Mēs saglabājam izmaiņas

Ctrl + O

Mēs atstājam redaktoru, izmantojot

Ctrl + X

4. Noteikumu importēšana, izmantojot Iptables Linux


Kad fails ir rediģēts, mēs varam importēt šos noteikumus Iptable, izpildot šādu komandu:
 sudo iptables -F && sudo iptables -X
Mēs varam redzēt noteikumu statusu, izmantojot komandu sudo iptables -S:

PALIELINĀT

Ja mēs vēlamies atjaunot visus noteikumus, mēs izpildīsim šādu rindu:

 sudo iptables-atjaunot < / tmp / itpables-ip4
Ja mēs vēlamies, lai šie noteikumi būtu pastāvīgi, mēs izpildīsim sekojošo:
 sudo apt instalēt iptables-persistent
Tādā veidā Iptables ir mūsu labākais sabiedrotais, konfigurējot ugunsmūri Linux vidē.

wave wave wave wave wave