Nors „Linux“ yra viena patikimiausių ir saugiausių operacinių sistemų, dėl savo charakteristikų visada bus tam tikras pažeidžiamumas, nesvarbu, ar tai būdinga sistemai, ar netyčia vartotojas. Norėdami padidinti „Linux“ saugumą, turime įvairių įrankių, skirtų apsaugoti paslaugas, procesus, profilius ar failus, ir šiandien mes sutelksime dėmesį į specialųjį, vadinamą „Iptables“.
Kas yra „Iptables“„Iptables“ yra pažangus užkardos įrankis, integruotas į „Linux“ branduolį, kuris yra projekto, vadinamo „netfilter“, dalis.
„Iptables“ dėka galėsime tiksliai ir tiesiogiai valdyti visus įeinančius ir išeinančius ryšius su serveriu. „Iptables“ sukurta IPv4 adresavimui, o „IPv6“ - „Ip6tables“.
1. „Iptables“ struktūra „Linux“
„Iptables“ rasta tokia struktūra:
ŽaliasJi yra atsakinga už paketų filtravimą prieš bet kurią kitą esamą lentelę
FiltrasTai yra numatytoji programos lentelė
NatJis naudojamas tinklo adresų vertimui
MangroveJis naudojamas specializuotiems tinklo paketams keisti
SaugumasGalima įgyvendinti pagal Privalomos prieigos kontrolės tinklo ryšio taisykles
2. Komandų struktūra „Iptables“ sistemoje „Linux“
„Iptables“ kiekviena taisyklė yra komanda, nurodanti, kaip turėtų būti tvarkomas tinklo paketų srautas.
Mes galime naudoti šią struktūrą:
-A ĮVADAS -i eth0 -p tcp -m būsena -ĮSTEIGTA, SUSIJĘS -sportas 80 -j PRIIMTINaudojami šie parametrai:
- -A: rodo, kad taisyklės bus pridėtos prie „Iptables“
- -i: nurodo sąsają, kurioje bus taikoma taisyklė
- -p: nurodo protokolą, kuriame bus taikoma taisyklė
- -m: nurodo, kad norint įvykdyti taisyklę reikia įvykdyti tam tikrą sąlygą
- --state: leiskite priimti naujus ryšius
- --sport: nurodo šaltinio prievadą
- -j: (Peršokti) rodo, kad jie gali priimti visą srautą, atitinkantį nurodytas sąlygas.
3. Taisyklių kūrimas naudojant „Iptables“ „Linux“
Nors taisykles galime pridėti rankiniu būdu, daug praktiškiau sukurti taisyklių failą ir tada jį importuoti. Tokiu atveju mes sukursime failą kelyje / tmp / iptables-ip4 ir galėsime naudoti redaktorių, kad jį atitinkamai koreguotume:
sudo nano / tmp / iptables-ip4Sintaksė bus tokia:
* filtras # Taisyklės, kurias reikia pridėti ĮSIPAREIGOTIDabar minėtame faile sukursime šias taisykles:
Loopback = Tai išorinė „Linux“ sąsaja
-A ĮVADAS -i lo -j PRIPAŽINTI -A IŠVESTIS -o lo -j PRIIMTI
Ping = leidžia patikrinti tinklo ryšius
-A ĮVADAS -i eth0 -p icmp -m būsena -būsena NAUJAS -icmp tipo 8 -j PRIIMTI -A ĮVADAS -i eth0 -p icmp -m būsena -būsena ĮSTEIGTA, SUSIJUSI o eth0 -p icmp -j ACCEPT
Žiniatinklis = Pagal šias taisykles mes kontroliuojame įeinantį ir išeinantį srautą.
-A ĮVESTIS -i eth0 -p tcp -m būsena -valstybė ĮSTEIGTA, SUSIJUSI -sportas 80 -j PRIPAŽINTI -A ĮVADAS -i eth0 -p tcp -m būsena -valstybė ĮSTEIGTA, SUSIJUSI -sportas 443 -j PRIPAŽINTA -A OUTPUT -o eth0 -p tcp -m tcp --port 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT
Pridėdami DNS naudosime šias eilutes:
-A INPUT -i ens3 -s 192.168.0.1 -p udp --sport 53 -m state --state SUSIJUSI, SUSIJUSI -j ACCEPT -A OUTPUT -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j PRIIMTI
Pastaba:Čia mes turime pakeisti IP, jei reikia
Laikas = Šios taisyklės leidžia prisijungti prie NTP, kad būtų sinchronizuotas laikas
-A ĮVESTIS -i eth0 -p udp -m būsena -valstybė ĮSTEIGTA, SUSIJUSI --portas 123 -j PRIPAŽINIMAS -A IŠVADA -o eth0 -p udp -m udp --sport 123 -j ACCEPT
Spausdinimas = leidžia įjungti USB prievadus, skirtus prijungti spausdintuvus
-A ĮVADAS -p udp -m udp -dport 631 -j PRIIMTI -A ĮVADAS -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --sport 631 -j ACCEPT -A IŠVESTIS -p tcp -m tcp -sportas 631 -j ACCEPT
El. Paštas = galime įgalinti įvairius el. Pašto protokolus
# IMAP -A ĮVADAS -i eth0 -p tcp -m būsena -valstybė ĮSTEIGTA, SUSIJĘS --sportas 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 993 -j ACCEPT
# POP3 -A ĮVADAS -i eth0 -p tcp -m būsena -valstybė ĮSTEIGTA, SUSIJĘS --sportas 995 -j PRIPAŽINTI -A IŠVESTIS -o eth0 -p tcp -m tcp --portas 995 -j ACCEPT
# SMTP -A ĮVADAS -i eth0 -p tcp -m būsena -valstybė ĮSTEIGTA, SUSIJUSI --sport 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT
SSH = Įjungti saugų ryšį su kompiuteriu naudojant SSH protokolą
# Įvestis -A ĮVADAS -i ens3 -p tcp -m būsena -būsena NAUJAS, ĮSTEIGTAS -22 -asisportas -J PRIIMTI -A OUTPUT -o ens3 -p tcp -m būsena -būsena ĮSTEIGTA -sportas 22 -j PRIIMTI
# Išvestis -A OUTPUT -o ens3 -p tcp -m būsena -būsena NAUJAS, ĮSTEIGTAS -22portas -j PRIIMTI -A ĮVADAS -i ens3 -p tcp -m būsena -valstybė ĮSTEIGTA -sportas 22 -j PRIIMTI
DHCP: galime sukurti taisykles, leidžiančias IP adresuoti per DHCP
-A ĮVADAS -i eth0 -p udp -m būsena -valstybė ĮSTEIGTA, SUSIJĘS -sportas 67:68 -j PRIIMTI -A IŠVADA -o eth0 -p udp -m udp --port 67:68 -j PRIIMTI
Atmesti visus ryšius: norėdami išjungti visus aukščiau išvardintus veiksmus, galime pridėti šias eilutes:
-A ĮVADAS -j ATSISAKYMAS -A Į priekį -j ATSISAKYMAS -A IŠVESTIS -j ATSISAKYMAS
Visos šios eilutės bus pridėtos minėtame faile:
DIDELIS
Išsaugome pakeitimus
Ctrl + O
Mes paliekame redaktorių naudodami
„Ctrl“ + X
4. Taisyklių importavimas naudojant „Iptables Linux“
Kai failas bus redaguotas, galime importuoti šias taisykles į „Iptable“ vykdydami šią komandą:
sudo iptables -F && sudo iptables -XTaisyklių būseną galime pamatyti naudodami komandą sudo iptables -S:
DIDELIS
Jei norime atkurti visas taisykles, vykdysime šią eilutę:
sudo iptables-restore < / tmp / itpables-ip4Jei norime, kad šios taisyklės būtų nuolatinės, vykdysime šiuos veiksmus:
sudo apt install iptables-persistentTokiu būdu „Iptables“ yra geriausias mūsų sąjungininkas konfigūruojant ugniasienę „Linux“ aplinkoje.