Na végül is rászántam a fél éjszakát és kiszenvedtem magamból egy m?köd? iptables szabályrendszert. A gyári beállítás egyik része volt ami megfogta az ADSL megosztást. Ha nem haragszotok ide teszem a szerény m?vemet (amely természetesen nem csak saját kútf?b?l származik) hogy ha hozzám hasonló kezd? akar csinálni egy internetkapcsolat megosztást - mondjuk úgy legyen mib?l kiindulnia. Amúgy két online t?zfalteszten is kipróbáltam és teljesen védettnek mutatta a gépemet.
Ennyi a megosztás: -A POSTROUTING -o ppp0 -j MASQUERADE -A POSTROUTING -s 192.168.100.0/255.255.255.0 -j MASQUERADE Ez kell a sajátgépr?l kiinduló cumóknak: -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT Ez a biztonság (minden bejöv?t se szó se beszéd eldob): -A INPUT -j DROP Ez szintén biztonság - és elvileg fölösleges, mert az el?z? szigorúbb de a régi configomból benne hagytam: -A INPUT -i ppp0 -m state --state INVALID,NEW -j DROP -A FORWARD -i ppp0 -m state --state INVALID,NEW -j DROP
Mondjuk majd egy-két portot meg kell még nyissak. Mi a véleményetek? Jó ez?
Köszi, de inkább szeretném megérteni azt a 2-3 sort, ami nekem kell. Talán megpróbálom az elejéről. Ez: iptables -t filter -F iptables -t nat -F iptables -t mangle -F Azaz a szabályok törlése után ugye minden nyitva van? És ez után kell egy biztoságos szabályrendszert felépíteni?
Rakd fel a firestarter nevű GUI-t az iptables-hez, ez amolyan kattintgatós, pipálgatós dolog, lehet vele NAT-olni is. Csak bejelölöd, hova forward-oljon, s kész. Az iptables-t ki fogja kapcsolni a daemon-ok közül, ettől ne ijedj meg, hiszen a saját szabályait fogja használni. Természetesen a kernel oldali iptables támogatás marad.
A firesterter-t megtalálod a repository-k valamelyikében, yum-mal fel tudod tenni.
Szevasztok! FC4-en (iptables-1.3.0-2) eleddig az otthoni ADSL kapcsolatom megosztására iptablest használtam a következőképp: -A POSTROUTING -s 192.168.100.0/255.255.255.0 -o ppp0 -j MASQUERADE A biztonság kedvéért pedig: -A FORWARD -i ppp0 -m state --state INVALID,NEW -j DROP -A INPUT -i ppp0 -m state --state INVALID,NEW -j DROP A 192.168.100.1 című kártyám "trusted" -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
Most ugyanez Fedora 7-en (iptables-1.3.8-2.1-fc7) nem működik. Tudna valaki segíteni hogy tudom megosztani az adsl kapcsolatomat?
Ha éppen ott vagy, akkor először is iptables -t filter -I INPUT -j DROP, de ha távolról vagy bejelentkezve, akkor ezzel saját magadat is kizárod... és persze ha úgy tűnik, hogy kárt tettek a gépedben, akkor reinstall, lehetőleg valami friss verziót...
Jól sejtem én, hogy ha így kezdődik az iptables: Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere DROP all -- anywhere 255.255.255.255 DROP all -- anywhere 212.52.166.255 input_ext all -- anywhere anywhere LOG all -- anywhere anywhere LOG level warning tcp-options ip-options prefix `SFW2-IN-ILL-TARGET ' DROP all -- anywhere anywhere
És ilyet látok a netstat-ban: Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 www.kundk.hu:piranha2 undernet.xs4all.nl:6667 ESTABLISHED tcp 0 56 www.kundk.hu:smtp 89.148.0.102:59673 ESTABLISHED tcp 0 0 www.kundk.hu:jdmn-port zagreb.hr.eu.under:6667 ESTABLISHED tcp 0 0 www.kundk.hu:partimage zagreb.hr.eu.under:6667 ESTABLISHED tcp 0 56 www.kundk.hu:smtp 89.148.0.102:59345 ESTABLISHED
Akkor megheckkelték a gépemet??? :(
Úgy gondolom, ha az iptebles-ből az első sor kiszedem (és az input_ext jól van beállítva), akkor az segíthet a gondomon. Erősítsetek meg!?
Van egy kis problémám, ami valszeg egyszerűbb, mint amire én gondolok. A rendszer Debian 4.0, 2.6-os kernel, iptables. Egy idegen rendszerről kellene programokat áthozni erre a masinára, a gond az, hogy a progikba be van drótozva a régi masina ip címe. Kérdés: hogy lehet beállítani, hogy az x.x.x.x IP felé irányuló kérést a localhost szolgálja ki?
Kiprobaltam, bajom van, tehat kerdezek. A ket idezett sort beirtam egy scriptbe, ami mindig lefut, amikor a halozat felall. Az "iptables -L -v" ki is listazza a szabalyokat. Csakhogy a nevfeloldas nem mukodik! ha beirom, hogy "host www.akarmi.hu", akkor a csomagszuro uzenetet kapom kulonfele kapcsolodasi kezdemenyezesekrol, amiket nyilvan visszautasit. Kerdes: mi kell ahhoz, hogy a DNS lekeresek mukodjenek?
[!] --syn Only match TCP packets with the SYN bit set and the ACK,RST and FIN bits cleared. Such packets are used to request TCP connec- tion initiation; for example, blocking such packets coming in an interface will prevent incoming TCP connections, but outgoing TCP connections will be unaffected. It is equivalent to --tcp- flags SYN,RST,ACK,FIN SYN. If the "!" flag precedes the "--syn", the sense of the option is inverted.
Ha jól sejtem, ez azt jelenti, hogy nem tudnak TCP kapcsolatot kívülről kezdeményezni, de az általad kifelé menő csomagok nyugtái például bejöhetnek.
Eloszor is meg kell ertenem, mi ez a ket sor. A man page szerint "-t filter" az alapertelmezett tabla. "-I INPUT" beilleszti az utana kovetkezo szabalyt. "-p ..." a protokoll. "-i eth+" minden ethernet kartyat jelenti. "-j" megadja, mi legyen a szabalynak megfelelo adatcsomaggal; a DROP eldobja. A "--syn"-t nem talaltam. Tehat nagyjabol arrol van szo, hogy e ket sor alapjan minden beerkezo tcp es udp csomag valasz nelkul marad. Ez alapban eleg? Pld. webbongeszes fog-e menni, vagy azt kulon engedelyezni kell?
Egy darab, direktben (kabelmodem) a halora kotott gepet kellene beallitani. A szokasos tevekenysegek (webbongeszes, levelezes, ftp, irc, p2p) mukodjenek. Mas jellegu befele jovo kereseket/tamadasokat ne fogadjon el, mivel web, ftp, mail es hasonlo szerver a gepen nem uzemel. Hogy lehet ezt megtenni egy kezdo szintjen, anelkul, hogy melyen bele kellene mennem a TCP protokollnak, az adatcsomagok szerkezetenek reszleteibe? Bizonyara letezik valamilyen "tipikus" otthoni gepre szant csomagszuro beallitas.
Termeszetesen alap az iptables. A felsoroltak - debianos ismertetojuk szerint - shell vagy perl scriptek, amik a csomagszuro beallitasat segitik elo. Volna meg az Arno-fele firewall script, ami eppenseggel nincs a Debian stable csomagok kozott, de ettol fuggetlenul letoltheto. Tehat: melyikkel dolgozzon egy magamfajta kezdo?
Debian Sarge alatt akarok parancssoros alapon firewallt beallitani
egy, azaz egy db Interneten logo gepre. A valasztek fiaif, lokkit,
mason, shorewall. Melyiket ajanljatok? Szempontok: egyszeru kezeles
es finomhangolhatosag.
A terminál bezárása természetesen magával rántja, hiszen a terminál shell-jének gyermekfolyamata, amit indítottál, a terminál, illetve a shell bezárása küldött egy HUP signal-t a folyamatodnak, így az is kilépett.
Ez esetben meg kell nézned, mi van abban a sudoers file-ban még. Biztos van valami, ami miatt nem futtathatod. Az egész filet nézd végig, miközben olvasgatod a szakirodalmat: