Megpróbálom összefoglalni a témát, ahogyan jelenleg állok:
Ahhoz, hogy saját tűzfalunk (beállításunk) legyen, két dolog (meg még egy) kell:
Lehetne persze mindenféle "varázslatot" elkövetni és terminálba irogatni, majd menteni az iptables szabályokat, de számomra ez (IQ szempontjából) követhetetlen (érteni értem, csak elvesztem a fonalat közben). Sokkal jobban szeretem, ha átlátható az egyszerű ember (én) számára is, amit csinálok - azaz írjunk egy szkriptet.
Tehát akkor nézzük, hogyan állok most.
Tűzfal szkript
(egyedülálló gép számára)
Lehet azon vitatkozni, hogy hol legyen a szkript, én ide tettem: /usr/sbin/
Ahhoz, hogy saját tűzfalunk (beállításunk) legyen, két dolog (meg még egy) kell:
- tűzfal szkript
.service fileLemaradt a név, helyesen: valami.service file (nálam my_firewall.service)
üres .service fileLemaradt a név, helyesen: valami.service file (nálam my_firewall.service)
Lehetne persze mindenféle "varázslatot" elkövetni és terminálba irogatni, majd menteni az iptables szabályokat, de számomra ez (IQ szempontjából) követhetetlen (érteni értem, csak elvesztem a fonalat közben). Sokkal jobban szeretem, ha átlátható az egyszerű ember (én) számára is, amit csinálok - azaz írjunk egy szkriptet.
Tehát akkor nézzük, hogyan állok most.
Tűzfal szkript
(egyedülálló gép számára)
Lehet azon vitatkozni, hogy hol legyen a szkript, én ide tettem: /usr/sbin/
A jelenlegi szkript: my_firewall_05
Egy új sor került bele:
# A nem tőlünk származó csomagokat eldobjuk.
iptables -A INPUT -m state --state INVALID -j DROP
A végén pedig majd ne felejtsük el, hogy a biztonság kedvéért parancssorból töröljük eddigi próbálkozásaink maradványait.$iptables -X
$iptables -Z
-X = esetleges üres lánc törlése-Z = a csomag-, és byte-számlálók nullázása a lánc valamennyi szabályában.
Ez persze magától nem fog lefutni, ezért ezt nekünk kell "megmondani", azaz gondoskodnunk kell róla, hogy minden rendszerindításkor lefusson egy script ami ezt az utasítást tartalmazza. Ezt úgy tehetjük meg, hogy a /etc/runlevel.d/default könyvtárba beteszünk egy pl.: my_firewall.service nevű file-t a következő tartalommal (a kommentes rész nem kell, csak magyarázat).
Summary=Firewall
# A szolgáltatás leírása angolul.
Summary[hu]=Tűzfal
# A szolgáltatás leírása magyarul.
Description=This is a script-file for iptables
# A szolgáltatás leírása angolul (részletes).
Description[hu]=Ez egy script-file az iptables beállításához
# A szolgáltatás leírása magyarul (részletes).
Script=/usr/sbin/my_firewall
# A scriptünk helye.
SupportsReload=no
# Nem támogatjuk a reload-ot.
Runlevels=2345
# A 2-5 futási szinteken fusson a tűzfal.
Sequence=99
# 99-s prioritással.
A /etc/runlevel.d/custom könyvtárba beteszünk szintén egy my_firewall.service nevű file-t ami üres.Hogy ez miért kell, a válasz itt található.
Ha minden stimmel akkor következő rendszerindításkor a scriptünk automatikusan le fog futni.
my_firewall.service file
Summary=Firewall
Summary[hu]=Tűzfal
Description=This is a script-file for iptables
Description[hu]=Ez egy script-file az iptables beállításához
Script=/usr/sbin/my_firewall
SupportsReload=no
Runlevels=2345
Sequence=99
Ha jól csináltuk, akkor megjelenik az UHU Vezérlőközpont szolgáltatásai között is.Nem elfelejteni, hogy futtathatóvá kell tenni és a jogosultságokat is be kell állítani! Én minden jogot a root-nak adtam (biztos, ami biztos).
Ellenőrzés
Terminálban ellenőrizzük le, hogy működik-e a dolog:
root:~# iptables -L
Nyitott kérdések:- INVALID sorra szükség van?
- a my_firewall.service file Sequence=99 jó? (milyen prioritással kell indítani?)
- DHCP sorok?
- Closed port - stealth helyett? Open ports?
További feladatok:
- Laptoppal (UHU-Linux 2.0) leellenőrizni a portokat (ShieldsUp), mert az itthon virtuális gépen linuxozom és lehet, hogy a host (XP) bezavar.
- Átnézni a log file-t, hátha van valami érdekes.
SP
Utolsó kommentek