View Full Version : iptables su Mandrake 8.2: come???
Da perfetto novellino di Linux vorrei chiedervi
qualcosina sulla sicurezza di questo OS.
La mia distro è Mandrake 8.2 e mi collego con 56k.
Il PC non è in una LAN.
chiusura porte di sistema:
dopo aver letto il seguente:
http://www.linuxzine.it/tutorial.php
ho scaricato e instalalto nmap!
L'output del comando nmap -sS 127.0.0.1 è:
The 1599 ports scanned but not shown below are in state closed.
Ports State Service
111/tcp open sunrpc
6000/tcp open x11
Sinceramente pensavo di ottenere un listato più grosso
ma quando vado a cercare il file /ect/inetd.conf segnalato
nell'articolo scopro che non esiste:eek: Mah!
Passo poi ai "servizi avviati tramite init" e scopro
che il programma kinit suggerito nel link
su Mandrake non c'è..(almeno io non l'ho visto..) ri-Mah!
Qualcuno che ha configurato questa roba potrebbe
darmi qualche dritta su come procedere? Please:)
configurare iptables:
prendendo spunto da:
http://www.linuxzine.it/iptables.php
ho scritto le regole di un semplicissimo firewall
(vedi allegato) che blocca tutto tranne http,https,
ftp,pop3,smtp,dns.
Purtroppo vista la totale inesperienza avrò fatto
sicuramente errori:(
Avrei bisogno di 2 grossi favori:
1) un controllino del mio allegato con segnalazione
errori e possibili correzioni.
2) sapere come implementare un tale firewall,cioè
come renderlo operativo ad ogni boot della macchina.
(al momento non saprei proprio che fare....)
Grazie mille per ogni aiutino:D
Ciao;)
ilsensine
25-07-2002, 08:41
The 1599 ports scanned but not shown below are in state closed.
Ports State Service
111/tcp open sunrpc
6000/tcp open x11
Se queste porte sono in bind solo sull'interfaccia 127.0.0.1, non corri alcun pericolo. Francamente non credo che sia così, quindi un firewall effettivamente ti sarebbe utile.
Sinceramente pensavo di ottenere un listato più grosso
ma quando vado a cercare il file /ect/inetd.conf segnalato
nell'articolo scopro che non esiste
La Mandrake non usa più inetd da tempo, avendolo sostituito con xinetd. I file di configurazione li trovi sotto la directory /etc/xinetd.d, e sono uno per ogni servizio lanciato da xinetd.
Purtroppo vista la totale inesperienza avrò fatto
sicuramente errori
Il file è completamente sbagliato. Ad esempio:
# permesso a http ed https (tcp out 80,443)
iptables -A INPUT -p tcp -m multiport --sport 80,443 -j ACCEPT
Questa regola accetta qualsiasi connessione, a qualunque scopo, con porte sorgenti 80 e 443. E' illogico, oltre che sbagliato, consentire l'accesso verso questi servizi in questo modo: ad es. potrei fare una box che contatti la tua porta 6000 da una porta sorgente 80, senza che il tuo firewall abbia da obiettare. Il metodo corretto è: se non hai servizi da esportare all'esterno, chiudere tutto in INPUT, tranne le connessioni ESTABLISHED e RELATED. Eventuali regole di filtraggio in uscita vanno impostate nella catena di OUTPUT, ma la cosa più importante è la catena di INPUT; ad es. la base di tutto è:
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Intanto che ti documenti un pò meglio su iptables (v. www.netfilter.org ) puoi settare il firewall della Mandrake tramite DrakConf, è ragionevolmente "sicuro".
sei stato illuminante:D
Sapevo di aver fatto cazzate ma come ho detto sono un principiante....
appena ho tempo vado a farmi un giretto al link che hai segnalato;)
Ciao;)
Originariamente inviato da ilsensine
[B]
Il metodo corretto è: se non hai servizi da esportare all'esterno, chiudere tutto in INPUT, tranne le connessioni ESTABLISHED e RELATED.
Lo sto studiando.....:)
Originariamente inviato da ilsensine
[B]
puoi settare il firewall della Mandrake tramite DrakConf, è ragionevolmente "sicuro".
mmmm......
è settato su "normale" ma non so cosa implichi:confused:
ci sono poi i livelli alto - molto alto e paranoia
potresti dirmi a cosa corrispondono?
Originariamente inviato da ilsensine
[B]
Intanto che ti documenti un pò meglio su iptables.....
sono all'opera;)
sto selezionando un po di materiale ma di semplice (per novellini) trovo ben poco:(
su netfilter.org non ho trovato grande ispirazione:rolleyes:
nel frattempo ho rimesso mano al mio firewall....
....spero che così,nonostante gli errori,sia meno ridicolo del primo tentativo!
Inoltre,per fare delle prove,puoi dirmi come si implementa realmente il firewall partendo dal file testo?
A proposito non ho trovato ancora niente....
....illuminami:D
Ciao;)
ilsensine
25-07-2002, 15:02
mmmm......
è settato su "normale" ma non so cosa implichi:confused:
ci sono poi i livelli alto - molto alto e paranoia
potresti dirmi a cosa corrispondono?
NO, quello è il "livello di sicurezza", non è legato al firewall. Io lo avevo configurato con DrakConf->rete e internet->condivisione della connessione (dovrebbe impostare anche un firewall).
su netfilter.org non ho trovato grande ispirazione:rolleyes:
Ti garantisco che in mezza giornata ho imparato tutto. Vai qui:
http://www.netfilter.org/documentation/index.html#HOWTO
e leggi nell'ordine "networking concepts" e "packet filtering". Non ti serve altro al momento.
Inoltre,per fare delle prove,puoi dirmi come si implementa realmente il firewall partendo dal file testo?
Ho letto il nuovo allegato; ancora non ci siamo, ti mancano ancora le basi. Ad es. per quale stramaledetto motivo hai usato la catena di prerouting???? Vuoi fare un DNAT forse?
Kernel Panic!!
25-07-2002, 16:13
Originariamente inviato da ilsensine
[B]
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
io uso --state INVALID,NEW, gli state ESTABILISHED e RELATED a che servono? (più che altro RELATED, ESTABILISHED mi pare self-explanatory)
Originariamente inviato da ilsensine
[B]
NO, quello è il "livello di sicurezza", non è legato al firewall. Io lo avevo configurato con DrakConf->rete e internet->condivisione della connessione (dovrebbe impostare anche un firewall).
ehm....
il mio PC non è in una LAN e tutto soletto:(
se faccio come dici mi da errore perchè non mi trova l'adattatore ethernet:confused:
spero di farlo io il firewall......prima del 3000:rolleyes:
Originariamente inviato da ilsensine
[B]
Vai qui:
http://www.netfilter.org/documentation/index.html#HOWTO
e leggi nell'ordine "networking concepts" e "packet filtering".
grazie:D
ho visto che c'è un bel po di roba!
purtroppo non ho tantissimo tempo da dedicargli:(
comunque leggerò tutto e quanto prima spero di postare una nuova versione del firewall che spero sia migliore.....
nel frattempo grazie di tutto e spero che leggerai prossimamente anche il firewall 3:D:D
Ciao;)
ilsensine
25-07-2002, 21:38
Originariamente inviato da Kernel Panic!!
[B]
io uso --state INVALID,NEW, gli state ESTABILISHED e RELATED a che servono? (più che altro RELATED, ESTABILISHED mi pare self-explanatory)
Sono stati relativi a connessioni già effettuare o richieste.
ilsensine
25-07-2002, 21:39
Originariamente inviato da NZ
[B]
ehm....
il mio PC non è in una LAN e tutto soletto:(
se faccio come dici mi da errore perchè non mi trova l'adattatore ethernet:confused:
mumble...
Cerca con rpmdrake qualche programma di configurazione per bastille
alegallo
26-07-2002, 09:31
senza voler fare pubblicità ;) vi segnalo che c'è un articolo su iptables su Linux Magazine di Luglio/Agosto
se a volte servisse ... :)
di sicuro NON a ilsensine, che a occhio e croce è un MOSTRO di Linux :D:D:D
Articoli su iptables ci sono anche su Linux&C. di Maggio e Giugno, quello di Giugno soprattutto è molto chiaro e porta un esempio concreto di script ;)
Originariamente inviato da OsMoSiS
[B]...e porta un esempio concreto di script ;)
Bello:)
non è che potresti postarlo?:D
...intanto su consiglio del maestro ilsensine ho provato a scrivere qualcosa che implementasse il controllo dello stato dei pacchetti tcp in ingresso....sperando che non sia l'ennesimo buco nell'acqua:rolleyes:
alla prossima:cool:
Ciao;)
Originariamente inviato da NZ
[B]
Bello:)
non è che potresti postarlo?:D
Ciao;)
Ti ho mandato un PM ;)
Lascia perdere, non si può fare è troppo grosso, me ne sono accorto solo ora :(
ilsensine
26-07-2002, 15:41
iptables -A ppp_in -j blocked # salto alla catena blocked
u'nnè la catena blocked? Al momento è vuota
iptables -A ppp_in -p tcp --dport 1:1024 -j services
iptables -A ppp_in -p udp --dport 1:1024 -j services
Queste le eseguirei addirittura prima di controllare lo stato ESTABLISHED,RELATED. Inoltre, devi bloccare anche le porte > 1024 dove ci possono essere dei servizi attivi: v. /etc/services (puoi controllare quali sono i servizi attivi sul tuo sistema con netstat -avnt e netstat -avnu)
iptables -A conn_state -m state --state INVALID -j DROP # scarta pacchetti non appartenenti a connessioni note
iptables -A conn_state -m state --state RELATED,ESTABLISHED -j ACCEPT # accetta pacchetti di connesioni note
Che fai, le connessioni NEW le lasci passare??
sintassi corretta: elimina la catena conn_state (non serve a un tubo) e sostituisci la sua chiamata con
iptables -A ppp_in -m state --state NEW,INVALID -j DROP
oppure (come ultimo anello prima del DROP di default)
iptables -A ppp_in -m state --state ESTABLISHED,RELATED -j ACCEPT
a seconda di come vuoi impostare le cose.
TODO (1): se qualcuno tenta una connessione su porte riservate, devi loggarlo.
TODO (2): blocca pacchetti strani; ad es. pacchetti provenienti da ppp0 ma con indirizzo sorgente 127.x.x.x oppure 192.168.0.x (questo lo ho visto fare a Bastille della Mandrake). Blocca il multicast (224.x.x.x), tanto non lo usi.
Originariamente inviato da ilsensine
[b]
u'nnè la catena blocked? Al momento è vuota
infatti è una stupidata:(
non fa nulla....solo una perdita di tempo nel saltare da una catena all'altra... tolta immediatamente;)
Originariamente inviato da ilsensine
[B]
Queste le eseguirei addirittura prima di controllare lo stato ESTABLISHED,RELATED. Inoltre, devi bloccare anche le porte > 1024 dove ci possono essere dei servizi attivi: v. /etc/services (puoi controllare quali sono i servizi attivi sul tuo sistema con netstat -avnt e netstat -avnu)
grazie della dritta;)
Originariamente inviato da ilsensine
[B]
Che fai, le connessioni NEW le lasci passare??
sintassi corretta: elimina la catena conn_state (non serve a un tubo) e sostituisci la sua chiamata con
iptables -A ppp_in -m state --state NEW,INVALID -j DROP
oppure (come ultimo anello prima del DROP di default)
iptables -A ppp_in -m state --state ESTABLISHED,RELATED -j ACCEPT
a seconda di come vuoi impostare le cose.
Come le lascio passare:confused:
io pensavo che quando arriva una NEW non essendo soddisfatte le regole INVALID,ESTABLISHED,RELATED allora dalla catena conn_state si ritorna alla ppp_in la quale rimanda alla tcp_flags per controllarne i flags e decidere che farne dei pacchetti NEW...
...dal link che mi hai consigliato avevo capito questo sul salto da una catena all'altra....ovvero quando si arriva al termine di una catena NUOVA e non si è presa una decisione si ritorna alla catena da cui è avvenuto il salto alla regola successiva! avrò capito male:( ma c'era un esempio e sembrava fare così:confused:
Per quanto riguarda eliminare conn_state hai ragione.... nel tuo modo vengono fatte le stesse cose ma si risparmia una catena!
Per con la conn_state mi sembra più bello esteticamente:D
Originariamente inviato da ilsensine
[B]
TODO (1): se qualcuno tenta una connessione su porte riservate, devi loggarlo.
questo ancora non ho capito come si fa.... suggerimento?
Originariamente inviato da ilsensine
[B]
TODO (2): blocca pacchetti strani; ad es. pacchetti provenienti da ppp0 ma con indirizzo sorgente 127.x.x.x oppure 192.168.0.x (questo lo ho visto fare a Bastille della Mandrake). Blocca il multicast (224.x.x.x), tanto non lo usi.
Provvederò;)
Sei gentilissimo....da buon maestro mi stai guidando alla soluzione giusta:cool:
x OsMoSiS:
PVT ricevuto! GRAZIE.
Ciao a tutti,alla prossima;)
Originariamente inviato da NZ
[B]
CUT
Ciao a tutti,alla prossima;)
Per loggare si usa l'obiettivo LOG.
Es:
iptables -A INPUT -i ppp0 -p tcp --dport 1:1024 -j LOG --log-prefix "IPTABLES connessione richiesta: "
Una cosa simile. Quindi fai la regola normalmente come le altre e metti come obiettivo (-j) LOG, con "--log-prefix" puoi far scrivere nel syslog una intestazione nella riga per facilitarne la lettura.
Se ci riesco (leggi "se trovo il tempo" :)) domani scannerizzo lo script che c'è nella rivista ;)
ilsensine
26-07-2002, 21:31
io pensavo che quando arriva una NEW non essendo soddisfatte le regole INVALID,ESTABLISHED,RELATED allora dalla catena conn_state si ritorna alla ppp_in la quale rimanda alla tcp_flags per controllarne i flags e decidere che farne dei pacchetti NEW...
Cosa devi decidere? Hai ricevuto una richiesta di connessione dall'esterno, buttala via subito!
Per il log puoi fare come ha detto OsMoSiS; visto che -j LOG non termina l'esecuzione della catena (ricordatelo!), è utile qui creare una catena chiamata ad es. log_drop che effettua il log e quindi scarta il pacchetto; ad esempio:
iptables -A log_drop -j LOG --log-prefix "quello che vuoi"
iptables -A log_drop -j DROP
(...)
iptables -A ppp_in -p tcp --dport 0:1024 -j log_drop
Come variante sul tema puoi reindirizzare tutti i pacchetti "condannati" verso log_drop e controllare in questa catena quelli da loggare e quelli semplicemente da ignorare.
Originariamente inviato da OsMoSiS
[b]
Se ci riesco (leggi "se trovo il tempo" :)) domani scannerizzo lo script che c'è nella rivista ;)
Troppo gentile:D
Originariamente inviato da ilsensine
[B]
Cosa devi decidere? Hai ricevuto una richiesta di connessione dall'esterno, buttala via subito!
Scusa,ma se aggiungo NEW alla riga dove c'è già INVALID:
iptables -A ppp_in -m state --state NEW,INVALID -j DROP
e poi segue:
iptables -A ppp_in -m state --state RELATED,ESTABLISHED -j ACCEPT
allora che me ne faccio della catena dei flags?:confused:
o meglio...come la gestisco? metto la chiamata ai flags prima del controllo stato??? scusa ma qui mi son perso:( ci penserò....
x ilsensine & OsMoSis:
grazie per la dritta sul LOG.
x ilsensine:
ho eseguito i comandi netstat -avnt & -avnu e risulta che le uniche porte >1024 aperte sono la 6000 (x11) e la 32768 che non so a che servizio corrisponda! Comunque ad entrambe ho bloccato l'accesso.
ciao;)
...momento sono fuso dalla stanchezza ma posto ugualmente una nuova versione del firewall.....
spero di aver migliorato qualcosina:rolleyes:
a domani mattina l'ardua sentenza:D
Ciao;)
ilsensine
27-07-2002, 17:22
Va già meglio. Però nelle regole come questa:
iptables -A ppp_in -p ! icmp -s 127.x.x.x -j cose_strane
non escluderei i pacchetti icmp, e imposterei come target log_drop (dovresti loggarli simili pacchetti strani!)
I pacchetti di multicast puoi mandarli in drop senza loggarli.
Questa regola, inoltre, è superflua:
iptables -A ppp_in -m state --state NEW,INVALID -j DROP
in quanto hai scelto la forma ESTABLISHED,RELATED per la discriminazione dello stato; i pacchetti che non rispettano lo stato indicato vengono mandati in drop dalla regola di default della catena INPUT.
nb per i flag tcp non ti posso aiutare, non sono abbastanza esperto da conoscerli. Da quel che ne so, puoi farne a meno su un computer "domestico".
Ti metto in allegato lo script che c'è nell'articolo, ci sono anche cose che non ti servono (abilitazione di server interni), vedi se ti può essere utile ;)
Originariamente inviato da OsMoSiS
[B]Ti metto in allegato lo script che c'è nell'articolo, ci sono anche cose che non ti servono (abilitazione di server interni), vedi se ti può essere utile ;)
Grazie mille;)
Lo studierò con calma:p
ad occhio e croce ci sono molte differenze col mio:(
nel tuo vengono specificate le porte di servizi come http e posta elettronica che nel mio non ci sono.....:confused:
P.S. scusate la ripetitività.....ma una volta preparato uno script e lo si vuol provare....come si fa?????????????
Vorrei che si attivasse ad ogni boot della macchina.
mi dite una procedura semplice,please;)
Ciao a tutti;)
Originariamente inviato da NZ
[B]
Grazie mille;)
Lo studierò con calma:p
ad occhio e croce ci sono molte differenze col mio:(
nel tuo vengono specificate le porte di servizi come http e posta elettronica che nel mio non ci sono.....:confused:
P.S. scusate la ripetitività.....ma una volta preparato uno script e lo si vuol provare....come si fa?????????????
Vorrei che si attivasse ad ogni boot della macchina.
mi dite una procedura semplice,please;)
Ciao a tutti;)
Le regole che interessano le porte sono state messe come esempio per la limitazione del traffico in uscita. Se volessi usare il firewall per bloccare alcune porte, come quella di IRC per esempio, per non far usare alcuni programmi, allora puoi usare quelle regole. Visto che a te non interessa (è più utile per una policy aziendale) puoi ometterle ma ricordati che se non le abiliti esplicitamente quelle porte rimangono chiuse ;)
Per lanciare lo script gli devi dare prima i permessi di esecuzione, "chmod +x nomescript" per farla breve, e per provarlo lo lanci a mano. Quando è tutto a posto e lo vuoi far partire al boot inserisci la riga che lo lancia in uno degli script di avvio, tipo rc.local.
ho letto lo script gentilmente offerto da OsMoSiS:cool:
ho eliminato le parti che penso non mi servano ed ho aggiunto quel che è rimasto al mio precedente script cercando di fare una fusione indolore:rolleyes:
Ho anche applicato gli ultimi suggerimenti di ilsensine ed il risultato è il file che posto: spero sia valido....
(aspetto giudizi a tal proposito)
Originariamente inviato da OsMoSiS
[B]
Per lanciare lo script gli devi dare prima i permessi di esecuzione, "chmod +x nomescript" per farla breve
Cioè?
in primis: in quale directory lo salvo?
Se lo salvo col nome "firewall" devo aprire la console e digitare chmod x firewall:confused:
Originariamente inviato da OsMoSiS
[B]
e per provarlo lo lanci a mano.
mmm...
apro una console (da root) e cosa digito?
Originariamente inviato da OsMoSiS
[B]
Quando è tutto a posto e lo vuoi far partire al boot inserisci la riga che lo lancia in uno degli script di avvio, tipo rc.local.
cioè basta copiare la riga col quale lo lancio manualmente nel file rc.local??? e in quale directory si trova?
Scusa le tante domande,magari stupide,ma da pricipiante....
Ciao e grazie;)
Originariamente inviato da NZ
[B]
Cioè?
in primis: in quale directory lo salvo?
Se lo salvo col nome "firewall" devo aprire la console e digitare chmod x firewall:confused:
Il file lo puoi salvare dove vuoi, ma per convenzione tutto ciò che riguarda la configurazione del sistema si trova nella dir /etc puoi quindi salvarlo li come, per esempio, /etc/rc.d/rc.firewall per metterlo insieme agli altri script di avvio.
Fatto ciò, da root, digiti: chmod +x /etc/rc.d/rc.firewall
Originariamente inviato da NZ
[B]
mmm...
apro una console (da root) e cosa digito?
Da root: /etc/rc.d/rc.firewall
Originariamente inviato da NZ
[B]
cioè basta copiare la riga col quale lo lancio manualmente nel file rc.local??? e in quale directory si trova?
rc.local si trova, come gli altri script di avvio, in /etc/rc.d, gli aggiungi la riga /etc/rc.d/rc.firewall
Seguendo la tua procedura ho caricato il mio firewall 6 ed adesso sti scrivendo da Mozilla 1.0 su Mandrake:D
Al boot della macchina carica lo script però mi sembra che da messaggi di errore.....
comunque la macchina si avvia e se da console lancio un bel iptables -L per vedere le regole delle catene mi vien fuori una bella pappardella...
...spero solo sia corretta:rolleyes:
magari più tardi la posto!
Ora che che è chiaro come avviarlo serve solo sapere se lo script è valido....
...ma per questo aspetto l'autorevole parere di ilsensine:p
Ciao a tutti;)
Originariamente inviato da NZ
[B]Seguendo la tua procedura ho caricato il mio firewall 6 ed adesso sti scrivendo da Mozilla 1.0 su Mandrake:D
Al boot della macchina carica lo script però mi sembra che da messaggi di errore.....
comunque la macchina si avvia e se da console lancio un bel iptables -L per vedere le regole delle catene mi vien fuori una bella pappardella...
...spero solo sia corretta:rolleyes:
magari più tardi la posto!
Ora che che è chiaro come avviarlo serve solo sapere se lo script è valido....
...ma per questo aspetto l'autorevole parere di ilsensine:p
Ciao a tutti;)
Che errori da? Guarda in /var/log/messages (ma il syslog che fine ha fatto?) se dice qualcosa.
Per la validità dello script aspetto anche io ilsensine visto che ancora non ho smanettato a fondo sul connection tracking di iptables :rolleyes:
ilsensine
29-07-2002, 09:06
Ora che che è chiaro come avviarlo serve solo sapere se lo script è valido....
...ma per questo aspetto l'autorevole parere di ilsensine:p
No, non ci siamo, erano meglio le versioni precedenti.
nb Gli errori probabilmente sono generati da righe tipo questa:
iptables -A ppp_in -p ! icmp -s 127.x.x.x -j log_drop
Hai letto un pò di documentazione? Mi sembra di no, altrimenti avresti scritto
-s 127.x.x.x => -s 127.0.0.0/8
-s 192.168.0.x => -s 192.168.0.0/24
Ho usato la "x" per brevità, ma era ovvio che intendevo una subnet del tipo ip/netmask.
Originariamente inviato da ilsensine
[B]
Hai letto un pò di documentazione? Mi sembra di no, altrimenti avresti scritto
-s 127.x.x.x => -s 127.0.0.0/8
-s 192.168.0.x => -s 192.168.0.0/24
Ho usato la "x" per brevità, ma era ovvio che intendevo una subnet del tipo ip/netmask.
In effetti... non le avevo proprio notate, il sonno fa brutti scherzi :rolleyes:
Ho trovato a cosa corrisponde la porta 32768:
filenet-tms 32768/udp Filenet TMS
filenet-tms 32768/tcp Filenet TMS
Che cosa sia non lo so, però questo è quello che riporta un file services abbastanza completo.
Originariamente inviato da ilsensine
[B]
Hai letto un pò di documentazione? Mi sembra di no, altrimenti avresti scritto
-s 127.x.x.x => -s 127.0.0.0/8
-s 192.168.0.x => -s 192.168.0.0/24
Ho usato la "x" per brevità, ma era ovvio che intendevo una subnet del tipo ip/netmask.
Beh..per leggere ho letto però avevo capito che usare le x o le maschere era la stessa cosa....
ho capito male....
...pazienza rimedio subito!
Per quanto riguarda lo script allora torno all'origine....
Ciao;)
son tornato alle origini e al mio penultimo script ho applicato gli ultimi suggerimenti di ilsensine: lo posto è aspetto commenti!
E veniamo ai problemi:
imposto l'avvio automatico al boot di firewall7 e reboot la macchina:
durante l'avvio mi da il seguente errore:
iptables 1.2.5 can't load target flags...
...o qualcosa di molto simile! Purtroppo la scritta appare per pochi secondi:(
Comunque da quel che si capisce la versione di iptables 1.2.5 ha problemi con i flags....
Il PC poi si avvia regolarmente e se lancio un iptables -L
mi compaiono tutte le regole delle catene...
...anche se non riesco a capire se le ha caricate esatte!
Mi collego a internet,lancio mozilla ma qualunque sito digiti mi dice che non riece ad aprirlo:eek::(
non so se sia dovuto al problema iniziale o a qualche errore nello script:confused:
help!
Ciao;)
L'errore porbabilmente sta qua:
iptables -A ppp_in -j flags
dovrebbe essere:
iptables -A ppp_in -j tcp_flags
ilsensine
29-07-2002, 11:27
Mi collego a internet,lancio mozilla ma qualunque sito digiti mi dice che non riece ad aprirlo:eek::(
Grazie, la catena di OUTPUT è in DROP e non c'è nessuna regola che consenta l'uscita dei pacchetti :)
Metti la catena in OUTPUT su ACCEPT e vedrai che funziona.
Osservazioni:
iptables -A ppp_in -p tcp --dport 1:1024 -j log_drop
Le porte devono essere 0:1023 (0 è una porta valida, anche se il suo uso è riservato; 1024 non è una porta di sistema).
iptables -A ppp_in -p ! icmp -s 127.0.0.0/8 -j log_drop
iptables -A ppp_in -p icmp -s 127.0.0.0/8 -j log_drop
Per quale masochistico motivo non scrivere direttamente
iptables -A ppp_in -s 127.0.0.0/8 -j log_drop
?
Originariamente inviato da OsMoSiS
[B]L'errore porbabilmente sta qua:
dovrebbe essere:
iptables -A ppp_in -j tcp_flags
Non probabilmente.......sicuro:D
Mi era proprio sfuggito...
infatti adesso niente più errori!
Originariamente inviato da ilsensine
[B]Metti la catena in OUTPUT su ACCEPT e vedrai che funziona
OK;)
Originariamente inviato da ilsensine
[B]Le porte devono essere 0:1023 (0 è una porta valida, anche se il suo uso è riservato; 1024 non è una porta di sistema)
ops....
Originariamente inviato da ilsensine
[B]Per quale masochistico motivo non scrivere direttamente
iptables -A ppp_in -s 127.0.0.0/8 -j log_drop
?
attualmente sono fuso:rolleyes:
fortuna che fra poco vado in vacanza:cool:
Ciao;)
finalmente niente errori e riesco a navigare:D
Non devo certo difendere segreti industriali ma spero che nel suo piccolo questo firewall si comporti egregiamente! Avendo solo un cessoso 56k niente downloding sfrenato....solo navigazione e posta elettronica e quindi cercavo solo un minimo di sicurezza! Comunque dovrebbe essere sicuramente meglio dei vari ZA o Outpost per Windows.
A questo punto solo 2 cosine:
1) per migliorare la navigazione e impedire di far perdere tempo al browser a caricare siti publicitari o inutili come doubleclick.net volevo aggiungere delle regole...
devo fare:
iptables -A ppp_in -s www.xxxxxx.net -j drop per ogni sito,vero?
2) la cosa principale era sistemare l'INPUT....
per l'OUTPUT consigliate di fare qualcosa di particolare?
Un ringraziamento speciale a ilsensine e OsMoSiS:) siete stati gentilissimi e pazienti;)
Ciao:)
ilsensine
29-07-2002, 12:27
1) per migliorare la navigazione e impedire di far perdere tempo al browser a caricare siti publicitari o inutili come doubleclick.net volevo aggiungere delle regole...
devo fare:
iptables -A ppp_in -s www.xxxxxx.net -j drop per ogni sito,vero?
Bravo, così di tanto in tanto konqueror ti apre una fastidiosa finestra dicendo che non è riuscito a contattare il sito xyz.
2) la cosa principale era sistemare l'INPUT....
per l'OUTPUT consigliate di fare qualcosa di particolare?
Non è obbligatorio. Io ho duplicato alcune regole per un controllo "paranoico" di alcune porte riservate. Potresti inserire delle regole per consentire l'uscita solo su determinate porte destinazione (80, 20, 21, 25, 53, 110, 443 sono le principali), ma non è vitale e potrebbe comportarti problemi con alcuni programmi (tipo licq) se non è configurato alla perfezione.
allora lascio perdere la prima idea...
???
ora che ho su il firewall non riesco a vedere la posta:confused:
Kmail mi dice che non riesce a connettersi:eek:
strano.....
Scusa, ilsensine, non potresti postarci le regole del tuo firewall, così che possiamo tutti trarne "ispirazione" ?!
Grazie,
Bado
ilsensine
30-07-2002, 12:00
Le ho a casa, ma non so a che ora ritorno oggi
user4451716
30-07-2002, 13:47
grazie ragazzi!
anche oggi ho imparato qualcosa di molto utile....
ciao,
Marco
Originariamente inviato da bado
[B]Scusa, ilsensine, non potresti postarci le regole del tuo firewall, così che possiamo tutti trarne "ispirazione" ?!
Grazie,
Bado
bella idea:D
mi associo alla richiesta:p
Ciao;)
ilsensine
30-07-2002, 17:54
Tiè
nb non funziona sulla Redhat
#!/bin/bash
IPT=/sbin/iptables
echo Restoring politicies
# Ripristina politiche di default
/root/firewall/ipt_restore
$IPT -t filter -P FORWARD DROP
echo Creating chains
# Creazione delle catene interne a filter
$IPT -t filter -N ppp_in
$IPT -t filter -N ppp_out
$IPT -t filter -N log_drop
$IPT -t filter -N warn_drop
$IPT -t filter -N check_in
$IPT -t filter -N check_out
echo Creating log chains
# Riempie log_drop
$IPT -t filter -A log_drop -j LOG --log-level warning --log-prefix '<audit> '
$IPT -t filter -A log_drop -j DROP
# Riempie warn_drop
$IPT -t filter -A warn_drop -j LOG --log-level warning --log-prefix '<netfilter warning> '
$IPT -t filter -A warn_drop -j DROP
echo Creating input filters
# Riempie check_in
$IPT -t filter -A check_in -p tcp --dport 0:1023 -j warn_drop
$IPT -t filter -A check_in -p udp --dport 0:1023 -j warn_drop
$IPT -t filter -A check_in -p tcp --dport 6000:6063 -j warn_drop
$IPT -t filter -A check_in -p udp --dport 6000:6063 -j warn_drop
$IPT -t filter -A check_in -p tcp --dport 10000 -j warn_drop
$IPT -t filter -A check_in -p tcp --dport 32768:32770 -j warn_drop
$IPT -t filter -A check_in -p udp --dport 32768:32770 -j warn_drop
$IPT -t filter -A check_in -j RETURN
echo Creating output filters
# Riempie check_out
$IPT -t filter -A check_out -p tcp --sport 0:1023 -j warn_drop
$IPT -t filter -A check_out -p udp --sport 0:1023 -j warn_drop
$IPT -t filter -A check_out -p tcp --sport 6000:6063 -j warn_drop
$IPT -t filter -A check_out -p udp --sport 6000:6063 -j warn_drop
$IPT -t filter -A check_out -p tcp --sport 10000 -j warn_drop
$IPT -t filter -A check_out -p tcp --sport 32768:32770 -j warn_drop
$IPT -t filter -A check_out -p udp --sport 32768:32770 -j warn_drop
$IPT -t filter -A check_out -j RETURN
echo Filter ppp_in
# Riempie ppp_in
$IPT -t filter -A ppp_in -s 192.168.0.0/24 -j warn_drop
$IPT -t filter -A ppp_in -d 192.168.0.0/24 -j warn_drop
$IPT -t filter -A ppp_in -s 127.0.0.0/8 -j warn_drop
# $IPT -t filter -A ppp_in -d 127.0.0.0/8 -j warn_drop
$IPT -t filter -A ppp_in -d 224.0.0.0/4 -j DROP
$IPT -t filter -A ppp_in -j check_in
$IPT -t filter -A ppp_in -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -t filter -A ppp_in -p icmp --icmp-type 3 -j ACCEPT
$IPT -t filter -A ppp_in -p icmp --icmp-type 0 -j ACCEPT
$IPT -t filter -A ppp_in -p icmp --icmp-type 11 -j ACCEPT
$IPT -t filter -A ppp_in -j log_drop
echo Filter ppp_out
# Riempie ppp_out
$IPT -t filter -A ppp_out -j check_out
$IPT -t filter -A ppp_out -p icmp --icmp-type 3 -j REJECT --reject-with icmp-port-unreachable
$IPT -t filter -A ppp_out -p icmp --icmp-type 11 -j REJECT --reject-with icmp-port-unreachable
$IPT -t filter -A ppp_out -j ACCEPT
echo INPUT main chain
# Riempie INPUT
$IPT -t filter -A INPUT -s 224.0.0.0/4 -j log_drop
$IPT -t filter -A INPUT -i lo -j ACCEPT
$IPT -t filter -A INPUT -i ! lo -d 127.0.0.0/8 -j log_drop
$IPT -t filter -A INPUT -i ppp+ -j ppp_in
$IPT -t filter -A INPUT -i eth0 -j ACCEPT
$IPT -t filter -A INPUT -j log_drop
echo OUTPUT main chain
# Riempie OUTPUT
$IPT -t filter -A OUTPUT -o ppp+ -j ppp_out
echo FORWARD main chain
# Riempie FORWARD
$IPT -t filter -A FORWARD -i ppp+ -p icmp -j log_drop
$IPT -t filter -A FORWARD -i ppp+ -j check_in
$IPT -t filter -A FORWARD -o ppp+ -j check_out
$IPT -t filter -A FORWARD -i ppp+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -t filter -A FORWARD -o ppp+ -s 192.168.0.0/24 -j ACCEPT
$IPT -t filter -A FORWARD -j log_drop
echo Enabling NAT
# Riempie nat:POSTROUTING
$IPT -t nat -A POSTROUTING -o ppp+ -s 192.168.0.0/24 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
Oh, che peccato, la redhat è proprio la mia distribuzione.... ma perché sono così sfortunato?!
Ma perché sulla redhat non dovrebbe funzionare? (che distro usi tu??)
Grazie, in fede
Bado
ilsensine
31-07-2002, 09:07
Sulla Redhat danno fastidio le regole di filtraggio delle porte 32768:32770; ho verificato con un mio amico che le richieste al dns partono da una di queste porte. Per farlo funzionare, dovresti cambiare le regole di filtraggio relative a queste porte filtrando solo la porta 32768.
x ilsensine:
1) da qualche giorno sto giochicchiando con Slackware 8.1 e mi chiedevo se il firewall che (grazie a te;)) ho scritto andava bene anche su sta distro:confused:
lo script si chiama rc.firewall e l'ho copiato in /etc/rc.d poi ho aperto rc.local ed ho aggiunto la riga /etc/rc.d/rc.local
in Mandrake 8.2 funziona ma sotto Slack al boot mi compare la scritta:
/etc/rc.d/rc.M: /etc/rc.d/rc.firewall: Permission denied:(
è cosa grave o risolvibile?
non è che per caso in Slack la riga /etc/rc.d/rc.local la devo scrivere in rc.modules o rc.M???
2) ho visto le tue regole....
a cosa serve quel -t filter appena dopo iptables?
3) moderatore:eek:
Complimenti:D
almeno uno serve sempre e qui han scelto bene!
Competente e sempre chiaro e gentile nelle risposte;)
(qui avrai poco lavoro....ci sono sezioni ben più calde!)
Ciao;)
ilsensine
01-08-2002, 11:39
Originariamente inviato da NZ
x ilsensine:
1) da qualche giorno sto giochicchiando con Slackware 8.1 e mi chiedevo se il firewall che (grazie a te;)) ho scritto andava bene anche su sta distro:confused:
lo script si chiama rc.firewall e l'ho copiato in /etc/rc.d poi ho aperto rc.local ed ho aggiunto la riga /etc/rc.d/rc.local
in Mandrake 8.2 funziona ma sotto Slack al boot mi compare la scritta:
/etc/rc.d/rc.M: /etc/rc.d/rc.firewall: Permission denied:(
è cosa grave o risolvibile?
non è che per caso in Slack la riga /etc/rc.d/rc.local la devo scrivere in rc.modules o rc.M???
Devi renderlo eseguibile:
chmod +x nomefile
Vedi man chmod per sapere a cosa serve.
2) ho visto le tue regole....
a cosa serve quel -t filter appena dopo iptables?
A niente, pura paranoia. La tabella filter è quella di default, se non indichi nulla scrive comunque su quella.
Originariamente inviato da ilsensine
[B]
Devi renderlo eseguibile:
chmod +x nomefile
Vedi man chmod per sapere a cosa serve.
GRAZIE!
ho fatto come hai detto ed ora al boot niente più errori!
Un solo dubbio:
se mi collego come root e digito iptables -L mi compaiono tutte le regole delle catene come impostate da firewall.....e fin qui tutto OK!
Se però mi loggo come utente normale e digito iptables -L mi compare che iptables è un comando sconosciuto:confused:
Siccome mi loggo sempre come utente vorrei sapere se il firewall è attivo o no?
Ciao;)
ilsensine
01-08-2002, 13:35
Se però mi loggo come utente normale e digito iptables -L mi compare che iptables è un comando sconosciuto:confused:
iptables normalmente sta in una directory che non è nel path degli utenti, generalmente sotto /sbin. Per eseguirlo devi digitare il percorso completo:
/sbin/iptables -L
nb iptables ora verrà eseguito, ma non funzionerà come ti aspetti, il perchè puoi capirlo da solo se ci pensi un attimo :)
Originariamente inviato da ilsensine
[b]
nb iptables ora verrà eseguito, ma non funzionerà come ti aspetti, il perchè puoi capirlo da solo se ci pensi un attimo :)
di sicuro ora so perchè il tuo script comincia con un:
IPT=/sbin/iptables:D;)
ho riletto bene il tuo script e devo dire che seppur molto simile (in INPUT) al mio è più "elegante":p
allora mi son permesso di scopiazzarlo spudoratamente e,tolte alcune cosette forse per me non utili come il NAT e aggiunta la catena dei flags,è venuto fuori l'ennesimo script:cool:
Forse c'è qualche ridondanza...ma comunque dovrebbe funzionare!
Ciao;)
ilsensine
02-08-2002, 09:01
Sembra ok.
Controlla che il bloccaggio delle porte 32768:32770 non dia problemi sul tuo sistema (ho appena visto che anche la Mandrake 8.2 le usa per collegarsi al dns, quindi non è una caratteristica solo della Redhat).
Controlla anche il multicast, che ha una netmask 240.0.0.0 (dovresti scrivere 224.0.0.0/4 )
Puoi dirmi se ti capitano delle richieste spurie provenienti dal tuo provider con porta sorgente 80? A me capitano a volte, ma non ho capito perchè...
Originariamente inviato da ilsensine
[B]
Puoi dirmi se ti capitano delle richieste spurie provenienti dal tuo provider con porta sorgente 80? A me capitano a volte, ma non ho capito perchè...
Of course:D
ora però sono lievemente impedito nel farlo infatti sto scrivendo da windows:(
dovevo risolvere un problemino di mount e a via di fare esperimenti devo aver sputtanato l'os che non parte più e devo reinstallarlo:(
Ciao;)
Originariamente inviato da NZ
[b]
devo aver sputtanato l'os che non parte più e devo reinstallarlo:(
ORRORE!!!
ho appena terminato di reinstallare la Slackware 8.1.....
dopo qualche piccolo settaggio sulla configurazione ho attivato il firewall ultimo che ho postato....
ho seguito fedelmente la procedura ed ho dato il permesso di esecuzione (chmod) allo script.....
riavvio e......
....una sfilza di errori (uno per ogni riga dell script) tutti uguali ovvero:
/sbin/iptables file o directory inesistente!
Sono rimasto di sasso:eek:
sono andato a vedere personalmente in /sbin ed effetivamente non esiste niente che si chiami iptables:(
STRANO! Durante l'installazione della Slack ho selezionato di installare tutto (quasi 2GB di roba) strano che iptables non ci sia!!!
a meno che in Slack iptables non si trovi in /sbin ma altrove:confused:
HELP!
Ciao;)
Originariamente inviato da NZ
[b]
a meno che in Slack iptables non si trovi in /sbin ma altrove:confused:
infatti....
si trova in /usr/sbin
allora ho editato la prima riga del mio script in: IPT=/usr/sbin/iptables;)
MORALE DELLA STORIA:
al boot niente più errori e se da root digito iptables -L spuntano le regole:
se però mi collego come utente e,dopo essermi posizionato in /usr/sbin,digito iptables -L mi compare la seguente:
iptables 1.2.6a: can't initialize iptables table 'filter':Permission denied (you must be root):eek::confused:
e adesso cosa c'è che non va?
help again!
Ciao;)
ilsensine
02-08-2002, 19:01
[B]>>> (you must be root) <<<
E' una ovvia misura di sicurezza non far sapere in giro quali sono le regole di filtraggio e di log impostate sulla macchina ;)
Originariamente inviato da ilsensine
[B]
E' una ovvia misura di sicurezza non far sapere in giro quali sono le regole di filtraggio e di log impostate sulla macchina ;)
haaaaaaa......
cioè non mi mostra le regole però il firewall è attivo,funziona.....giusto?
anche perchè da root le regole le vedo eccome:D
Ciao;)
Originariamente inviato da ilsensine
[B]
Controlla che il bloccaggio delle porte 32768:32770 non dia problemi sul tuo sistema (ho appena visto che anche la Mandrake 8.2 le usa per collegarsi al dns, quindi non è una caratteristica solo della Redhat).
Confermo la cosa anche su Slackware:(
Con le porte 32768:32770 bloccate non mi si connette a niente:( Se le abilito tutto OK!
evidentemente servono:rolleyes:
per adesso le ho abilitate sia in "in" che "out"....
....se ci sono news al riguardo postate pure!
Ciao;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.