Newsgroup: it.comp.os.os2
Titolo: Firewall TCPIP 4.1

Allora, questo e' il poco che ho capito del  firewall incluso nel 
TCPIP 4.1
Attivarlo e' una bagatella:
1) installare il TCPIP 4.1 (ovvio)
2) aggiungere le seguenti 4 righe nel CONFIG.SYS e riavviare
DEVICE=C:\MPTN\PROTOCOL\IPSEC.SYS
DEVICE=C:\MPTN\PROTOCOL\FWIP.SYS
DEVICE=C:\MPTN\PROTOCOL\CDMF.SYS
DEVICE=C:\MPTN\PROTOCOL\MD5.SYS
3) creare questi due file di configurazione:
 %ETC%\fwsecad.cnf
dove sono elencati gli  IP address delle interfacce sicure
 %ETC%\security\fwfiltrs.cnf
dove sono elencate le regole di filtraggio degli IP address
4) infine
cfgfilt -u -i
inetcfg -s firewall 1
e il firewall e' attivo.
La documentazione by IBM 
(
ftp://ftp.math.bme.hu/pub/os2/info/ipfwdocs.zip
), lungi dall'essere 
lacunosa, comprende una quantit… infinita di esempi, dai piu' 
elementari ai piu' complessi.
Per esempio, con un file fwfiltrs.cnf contenente queste 2 regole:
permit 0 0 192.168.0.1 255.255.255.0 all any 0 eq 21 both both both 
permit 192.168.0.1 255.255.255.0 0 0 all eq 21 any 0 both both both 
[azione, indirizzo e netmask di origine, indirizzo e netmask di 
destinazione, porta di origine, porta di destinazione, interfaccia, 
routing e direzione]
chiudo tutte le porte eccetto la 21, per e dall'indirizzo dato.
Il problema e' che mi e' impossibile definire ppp0 come interfaccia 
"sicura". Ci vuole un IP, o una gamma di IP. Quindi, a meno di azioni 
cruente via Rexx (ricavare il Dynamic IP, andarlo a scrivere al suo 
posto, e solo poi attivare il Firewall), l'uso e' impossibile per chi 
ha una connessione dialup come me. Almeno, cosi' mi pare.
Se qualcuno ha u'idea meno vaga della mia di come funziona la Rete, il
TCPIP 4.1 installato e voglia di fare un po' di esperimenti, sono ben 
felice di dare una mano.
Ciao
Gabriele

Gabriele Gamba ha scritto nel messaggio ...
|Allora, questo e' il poco che ho capito del  firewall
incluso nel
|TCPIP 4.1
Ho fatto un copia incolla del testo, lo metto nelle FAQ per
OS/2, magari lo integro cercando di capire come definire
l'interfaccia ppp0.
Ciao!

 
wrote:

Se ci fosse un modo per risolverla sarebbe gia' qualcosa.
Il comando hostid non e' mai sincronizzato!
E io non sono capace di fare uno script Rexx per estrapolare quel che 
mi serve da netstat -a, accidenti!
Ciao

 mi serve da netstat -a, accidenti!
Prova questo, restituisce il tuo IP address oppure 'ko':
/* REXX  */
address CMD
'@ifconfig ppp0 | rxqueue'
myip = 'ko'
if queued() <> 0 then
  do until queued() = 0
     parse pull lin
     if pos('inet', lin)>0 then parse var lin "." -5 . myip . hisip .
  end /* do */
'logger -t getip' myip
return myip
return res

 scrisse:
|Gabriele Gamba wrote:
|> Il comando hostid non e' mai sincronizzato!
|> E io non sono capace di fare uno script Rexx per estrapolare quel che
|> mi serve da netstat -a, accidenti!
|
|Prova questo, restituisce il tuo IP address oppure 'ko':
Lo metto a corredo della doc del Firewall.
Ciao!

Gabriele Gamba ha scritto nel messaggio ...
|e il firewall e' attivo.
|Per esempio, con un file fwfiltrs.cnf contenente queste 2
regole:
|Il problema e' che mi e' impossibile definire ppp0 come
interfaccia
|"sicura". Ci vuole un IP, o una gamma di IP. Quindi, a meno
di azioni
Primo step:
Ho trovato un software, Zampa (non riesco a trovare la URL),
che consente di editare le regole del firewall nonche' le
interfaccie definite come sicure.
Ho definito le interfaccie sicure:
indirizzo IP internet
indirizzo di loopback
indirizzo eth0
Ho iniziato ad impostare le regole x qualsiasi protocollo
- permetti da qualsiasi destinazione verso 127.0.0.1
- permetti da 127.0.0.1 a qualsiasi destinazione
- permetti da qualsiasi destinazione verso
192.168.0.0/255.255.255.0
- permetti da 
192.168.0.0/255.255.255.0
 verso qualsiasi
destinazione
- blocca tutto il resto
o provato anche a mettere prima blocca tutto il resto ed
apri quello che voglio io
Risualtato: non blocca nulla, se dall'esterno provavano ad
accedere via ftp non avrebbero dovuto entrare con queste
regole ed invece....entravano tutti
Sbaglio io oppure lo strumento ha qualcosa che non va?
A parte la questione dell'IP spoofing che rimane insoluta
(bisogna lavorare sulle interfaccie sicure), le regole sono
simili a quelle che utilizzo con Linux Kernel 2.2.x IPchains
firewalling.
Idee?
Ciao!

  n
C:\SCRIVANIA>ip
SYS1041: Il nome logger non Š riconosciuto come
un comando interno o esterno, un programma eseguibile
o un file batch.
    13 *-* 'logger -t getip' myip
       >>>   "logger -t getip ko"
       +++   "RC(1041)"
Mi manca qualcosa? E gia' che ci siamo, gli si puo' dire di salvare il
solo IP come C:\MPTN\ETC\fwsecad.cnf ?
Grazie!
Ciao

 Idee?
Mah.  Se riuscissi a infilare l'IP Address nell'elenco delle 
interfacce sicure,  potrei chiudere tutte le porte in entrata da 
qualunque indirizzo, e lasciarle tutte aperte in uscita da qualunque 
indirizzo. Tanto ci sono solo io di qua, no?
Pero' vado a tentoni, non e' che ne capisca di queste cose.
Ciao

In data Wed, 26 Jul 2000 11:27:49, 
ggamba....@tiscalinet.it
 
(Gabriele Gamba) scrisse:
|> Ho definito le interfaccie sicure:
|> indirizzo IP internet
|E' statico?
No e' dinamico ma lo aggiunge Zampa automaticamente, prima di avviare il
firewall con Zampa determini le interfaccie sicure.
|Cioe' 192.168.0.1?
L'elenco delle interfaccie sicure in questo momento e':
127.0.0.1
192.168.0.1
212.141.65.158
|> Risualtato: non blocca nulla, se dall'esterno provavano ad
|> accedere via ftp non avrebbero dovuto entrare con queste
|> regole ed invece....entravano tutti
|> Sbaglio io oppure lo strumento ha qualcosa che non va?
|Ma hai usato lo Wizard? No, vero?
Si ho usato il Wizard, prima apro al localhost, poi alla mia rete e dopo
voglio bloccare gli accessi da 0/0 verso l'interfaccia sicura 
212.141.65.58, quindi chi si connette da internet verso il mio host non 
deve avere accesso come impostazione base e poi dopo apro solo quello 
che mi serve
Ora ho impostato cosi:
deny 0.0.0.0 0 0.0.0.0 0 all any 0 any 0 both both both l=yes f=no
permit 127.0.0.1 0 0 0 all any 0 any 0 both both both l=yes f=no
permit 0 0 127.0.0.1 0 all any 0 any 0 both both both l=yes f=no
permit 192.168.0.0 255.255.255.0 0 0 all any 0 any 0 both both both l=no
f=no
permit 0 0 192.168.0.0 255.255.255.0 all any 0 any 0 both both both l=no
f=no
E la prima regola non funziona: le cose sono 2 ho il firewall non 
funziona oppure le impostazioni sono diverse.
|Mah.  Se riuscissi a infilare l'IP Address nell'elenco delle 
|interfacce sicure,  potrei chiudere tutte le porte in entrata da 
|qualunque indirizzo, e lasciarle tutte aperte in uscita da qualunque 
|indirizzo. Tanto ci sono solo io di qua, no?
Alla luce di quello che ho scritto parrebbe proprio di no :-((
Ciao!

 Ciao
Gia', in effetti LOGGER.EXE e' un utile programma che indirizza messaggi
al SYSLOGD;
Per avere sempre DynDNS aggiornato ho schedulato ogni x minuti questo
script che verifica la connessione, la fa ripartire se e' caduta ed
aggiorna il DNS se l'IP e' cambiato dall'ultima volta:
/* rexx */
address CMD
rcy=RxFuncAdd("SysLoadFuncs", "RexxUtil", "SysLoadFuncs")
rcy=SysLoadFuncs()
call RxFuncAdd "SockLoadFuncs","rxSock","SockLoadFuncs"
call SockLoadFuncs
'LOGGER -t testppp inizio'
res = getip()
server='
katobleto.dyndns.org
'
katodns='d:\os2apps\data\katoip'
if res=='ko' then do
   'LOGGER -t testppp KO !!!'
   'detach setjoy -o:wind -connect'
   end
   else do
   'LOGGER -t testppp OK'
   rc=sockgethostbyname(server, "serv.0")
   say 'my='res
   say 'dyn='serv.0addr
   'LOGGER -t testppp dyndns addr' serv.0addr
   if res \= serv.0addr then do
      do while (queued()>0)
	 pull .
      end
      '@pstat /C | find "NAMED"|rxqueue'
      if queued()>1 then do
	 'LOGGER -t testppp ci sono' queued() 'server dns'
	 do while (queued()>1)
	    pull .
	    '@pkill named'
	    end
	 end
       else do
	 katoip = linein(katodns)
	 if katoip = res then do
	    'LOGGER -t testppp DynDns già aggiornato'
	    end
	    else do
	    call lineout katodns, res, 1
	    'LOGGER -t testppp aggiorna DynDns'
	    'detach dyndns'
	    end
	 end
      end
   end
return

deny 0.0.0.0 0 0.0.0.0 0 all any 0 any 0 both both both l=yes f=no
Questa, messa cosi', ti dovrebbe bloccare del tutto l'accesso...
oppure fregarsene.
Non ricordo come mi scrive i pacchetti l'interfaccia del FW per Os2,
ma se mi ricordo guardo: ma non mi are proprio che  0 0 0 0 sia un
indirizzo che itende 'tutti'...
Obelix

...
|On Wed, 26 Jul 2000 18:34:35 GMT,
merlino...@ghostbbs.cx
 (Stefano)
|wrote:
|
|>212.141.65.158
|Sicura questa?? sei sicuro che sia sicura?? io non ne sarei
sicuro...
Non ho capito cosa tu voglia dire, spiegami meglio.
Se intendi l'indirizzo IP e la macchina credo che nulla sia
sicuro su internet.
Cmq ti spiego il senso della frase: L'indirizzo IP internet
della macchina ieri era quello, per configurare le
impostazioni del firewall devi aggiungere quell'indirizzo al
file di configurazione.
Tutto deve essere riferito alla configurazione, avendo tutti
noi un'indirizzo dinamico e' possibile ipotizzare che ogni
giorno lo stesso cambi.
|
|>deny 0.0.0.0 0 0.0.0.0 0 all any 0 any 0 both both both
l=yes f=no
|Questa, messa cosi', ti dovrebbe bloccare del tutto
l'accesso...
|oppure fregarsene.
Non blocca nulla, passa tutto.
|Non ricordo come mi scrive i pacchetti l'interfaccia del FW
per Os2,
|ma se mi ricordo guardo: ma non mi are proprio che  0 0 0 0
sia un
|indirizzo che itende 'tutti'...
su 0 / 0 intente tutti gli IP, quindi a logica si imposta la
politica come deny e poi si danno le allow, quindi o la
sinstassi delle regole impostate e' sbagliata oppure non so.
Ciao!

 funziona oppure le impostazioni sono diverse.
Le impostazioni sono sicuramente diverse. La prima regola e' implicita
e non va scritta. Il Firewall IBM blocca tutto quello che non e' 
esplicitamente consentito dalle regole. Secondo me, sbagli nel momento
di determinare l'interfaccia sicura. Vedi sopra. 
Qui funziona sia l'esempio con FTP da 192.168.0.2 che facevo 
nell'altro messaggio, sia il blocco di tutto da Internet, se gli do a 
mano il mio IP address (ovviamente, io vedo che non posso uscire; 
presumo che gli altri non possano entrare, ma non posso provare)
Ciao

 al SYSLOGD;
Ok, ho trovato logger.exe su Hobbes.
Adesso mi dice
C:\SCRIVANIA>ip
Illegal option chosen
Immagino si riferisca a getip.
Se tu trovassi un minuto per tirar via tutto quello che non serve a 
scrivere l'IP in un file, sarebbe bellissimo ! :-))
Io avrei solo bisogno che il maledetto si avviasse, chiedesse l'IP su 
PPP0 e lo scrivesse in un file, nudo e crudo...
Grazie ancora
Gabriele

politica come deny
Si, ma il file viene letto sequenzialmente: intendo, la prima regola
che si trova giusta viene applicata. Quindi se dici 'nego l'accesso a
tutti gli indirizzi' per primo, ti trovi un "Packet rejected, rule #
1" su tutti i  tentativi di accesso. 
Oggi ho dovuto prestare il PC ad un collega, sikke, non ho guardato,
ma domani controllo: mi pare che la sintasso per il vecchi FW fosse
qualcosa del tipo *ALL.
Obelix

In data Thu, 27 Jul 2000 16:12:17, 
ggamba....@tiscalinet.it
 
(Gabriele Gamba) scrisse:
|Qui funziona sia l'esempio con FTP da 192.168.0.2 che facevo 
|nell'altro messaggio, sia il blocco di tutto da Internet, se gli do a 
|mano il mio IP address (ovviamente, io vedo che non posso uscire; 
|presumo che gli altri non possano entrare, ma non posso provare)
A be, sulla rete locale funziona anche a me, e' su internet che non 
blocca nulla.....forse non mi sono spiegato sufficentemente bene.
Ciao!

In data Thu, 27 Jul 2000 21:32:33, 
nbr...@box.seven.it
 (Obelix) scrisse:
|Quello e' il tuo indirizzo internet, right?? quindi quella e' una
|porta *NON* sicura. Le porte sicure sono quelle che stanno *dietro* al
|firewall. Ovviamente, io ho una configurazione a due schede: nel mio
|caso, 194.185.105.196 e' la porta non sicura (e' quella da cui accede
|chi arriva ) e 192.168.2.3 e' la porta sicura.
Sono daccordo con te, pero' per il firewall di ibm le interfaccie che 
definisce "sicure" sono gli IP della macchina. E' qui che vado in loop.
|Si, ma il file viene letto sequenzialmente: intendo, la prima regola
|che si trova giusta viene applicata. Quindi se dici 'nego l'accesso a
|tutti gli indirizzi' per primo, ti trovi un "Packet rejected, rule #
|1" su tutti i  tentativi di accesso. 
Dovrebbe essere implicito ma non funziona
Lo metto a mano ma non va, quella regola dovrebbe bloccare tutto il 
traffico da 0/0 a 0/0 esclusa l'interfaccia 127.0.0.1, 
192.168.0.0/24
 
dove invece i pacchetti devono passare.
Ciao!

 
Che sta scritto nel file C:\MPTN\ETC\fwsecad.cnf ?

Gabriele Gamba ha scritto nel messaggio ...
|On Fri, 28 Jul 2000 03:39:22, 
merlino...@ghostbbs.cx
(Stefano)
|wrote:
|> A be, sulla rete locale funziona anche a me, e' su
internet che non
|> blocca nulla.....forse non mi sono spiegato
sufficentemente bene.
|Che sta scritto nel file C:\MPTN\ETC\fwsecad.cnf ?
192.168.0.1
indirizzo IP internet ottenuto alla connessione
127.0.0.1
Ciao!

 
Non so che dire...

> dove invece i pacchetti devono passare.
Quello ti devd bloccare *tutto* incluso 127.x.x.x e 192.168.x.x
Obelix

In data Fri, 28 Jul 2000 13:41:40, 
n...@unitessile.it
 (Obelix) scrisse:
|Quello ti devd bloccare *tutto* incluso 127.x.x.x e 192.168.x.x
Scusa ma forse mi sono spiegato male
- La prima politica e' quella di bloccare tutto
- La seconda e' quella di aprire laddove interessa
Arggggg.....ed io quello tento di fare!!!! :-(
Ho configurato piu' volte IPChains/Linux e sta trappola di firewall di 
OS/2 mi sembra un po macchinoso e poco logico. Nel caso di IPChains dico
per l'appunto di bloccare tutto, imposto le regole per prevenire 
l'IpSpoofing e poi inizio ad aprire laddove mi interessa. Continuero' a 
fare altre prove visto che comunque ho solo un IP disponibile e non 
posso dedicarlo al solo firewall, se ne avessi avuti due di IP 
sicuramente avrei utilizzato Linux/IpChains come firewall ed OS/2 come 
server.
Ciao!