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ŅEMTIzmantotie 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-ip4Sintakse būs šāda:
* filtrs # Noteikumi COMMIT pievienošanaiTagad 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 -XMē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-ip4Ja mēs vēlamies, lai šie noteikumi būtu pastāvīgi, mēs izpildīsim sekojošo:
sudo apt instalēt iptables-persistentTādā veidā Iptables ir mūsu labākais sabiedrotais, konfigurējot ugunsmūri Linux vidē.