# che ne dite del mio firewall???

## khris81

#!/bin/sh

#elimino eventuali precedenti regole

iptables -F

#chiudo tutto il traffico

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#impedisco il ping

iptables -A INPUT -p icmp -s 127.0.0.1 -j DROP

#apro il traffico internet tcp/udp

iptables -A INPUT -p tcp  -j ACCEPT

iptables -A INPUT -p udp  -j ACCEPT

iptables -A OUTPUT -p tcp -j ACCEPT

iptables -A OUTPUT -p udp -j ACCEPT

#traffico amule

iptables -A INPUT -p tcp -s 127.0.0.1 --dport 4662 -j ACCEPT

iptables -A INPUT -p udp -s 127.0.0.1 --dport 4672 -j ACCEPT

la mia idea è quella di lasciare solo il traffico internet, bloccare il ping verso il mio ip, lasciare aperte solo le porte 4662 4672 x amule in modo da poter scaricare!

può funzionare???

xò netstat mi dice che ci sono aperte un mucchio di porte!!!

bash-2.05b# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 *:4662                  *:*                     LISTEN

tcp        0      0 192.168.8.2:4662        116.47.77.83.cust:15396 ESTABLISHED

tcp        0      0 192.168.8.2:4662        80-26-252-254.adsl:1872 TIME_WAIT

tcp        0   1300 192.168.8.2:47792       host134-235.pool82:4662 ESTABLISHED

tcp        0      0 192.168.8.2:4662        host47-80.pool8252:1330 ESTABLISHED

tcp        0      0 192.168.8.2:4662        host88-20.pool622:50212 TIME_WAIT

tcp        0      0 192.168.8.2:4662        adsl-ull-61-169.42:3333 TIME_WAIT

tcp        0    115 192.168.8.2:4662        host156-251.pool80:2448 ESTABLISHED

tcp        0      0 192.168.8.2:4662        195.210.217.46:39621    ESTABLISHED

tcp        0      0 192.168.8.2:4662        d83-176-92-67.cust:2829 ESTABLISHED

tcp        0      0 192.168.8.2:4662        200165119246.user.:1663 ESTABLISHED

tcp        0      0 192.168.8.2:4662        host172-20.pool821:4298 ESTABLISHED

tcp        0      0 192.168.8.2:4662        83.99.112.103:25183     ESTABLISHED

tcp        1      1 192.168.8.2:38755       adsl-ull-159-19.46:4662 CLOSING

tcp        0     73 192.168.8.2:4662        car06-2-82-236-29-:3938 ESTABLISHED

tcp        0      0 192.168.8.2:4662        dsl01.212.114.228.:4099 ESTABLISHED

tcp        0      0 192.168.8.2:4662        p54b69539.dip0.t-:15029 ESTABLISHED

tcp        0      0 192.168.8.2:4662        p213.54.217.25.tis:1826 ESTABLISHED

tcp        1      1 192.168.8.2:4662        adsl-ull-126-41.44:1965 CLOSING

tcp        0    176 192.168.8.2:4662        p83.129.44.58.tis:49793 ESTABLISHED

tcp        1      1 192.168.8.2:37340       host112-105.pool82:4662 CLOSING

tcp        0      0 192.168.8.2:4662        avista.com.ua:16610     TIME_WAIT

tcp        0      0 192.168.8.2:4662        wq190.internetdsl:40879 TIME_WAIT

tcp        1      1 192.168.8.2:4662        17.red-80-36-70.p:60915 CLOSING

tcp        1      1 192.168.8.2:45097       host219-128.pool82:4662 CLOSING

tcp        0      0 192.168.8.2:4662        host181-174.pool82:4382 ESTABLISHED

tcp        0      0 192.168.8.2:4662        106.red-83-37-51.:12088 ESTABLISHED

tcp        0      0 192.168.8.2:4662        host56-34.pool8291:3781 ESTABLISHED

tcp        0      0 192.168.8.2:4662        dyn-83-157-196-250:4184 TIME_WAIT

tcp        0      0 192.168.8.2:4662        acb0445b.ipt.aol.c:3559 TIME_WAIT

tcp        0      0 192.168.8.2:4662        host55-199.pool82:63118 TIME_WAIT

tcp        0   1300 192.168.8.2:45597       host6-169.pool8251:4662 ESTABLISHED

tcp        0      0 192.168.8.2:4662        chello08010817618:33565 TIME_WAIT

tcp        0      0 192.168.8.2:4662        adsl-ull-113-208.4:1606 TIME_WAIT

tcp        0      0 192.168.8.2:42997       razorback.ed2k.ch:4661  ESTABLISHED

tcp        0      0 192.168.8.2:4662        p54b3c70f.dip.t-d:36662 ESTABLISHED

udp        0      0 *:4665                  *:*

udp        0      0 *:4672                  *:*

udp        0      0 *:bootpc                *:*

raw        0      0 *:icmp                  *:*   

è normale oppure è il mio config del firewal che fa pietà?

----------

## khris81

aiuto nn riesco a chiudere la porta 23!!!!

se provo quei siti x testare le vulnerabilità mi dicono che ho la porta 23 aperta coma la chiudo???

----------

## flocchini

Scusa eh ma se 

 *khris81 wrote:*   

> #chiudo tutto il traffico
> 
> iptables -P INPUT DROP
> 
> iptables -P OUTPUT DROP
> ...

 

Allora che senso ha 

 *khris81 wrote:*   

> 
> 
> #apro il traffico internet tcp/udp
> 
> iptables -A INPUT -p tcp  -j ACCEPT
> ...

 

aprire TUTTE le porte tcp e udp? Non e' un firewall e' un grooviera questo  :Wink: 

Ricordati che a parte le policy di default le altre regole vengono applicate in ordine, la prima che matcha lo stato di un pacchetoto viene applicata. Di conseguenza dopo queste 7 righe il resto del firewall e' inutile.

Le scuole di pensiero sono 2: la prima e' quella di consentire tutto e bloccare solo le porte dannose (bleah imho), la seconda e' di chiudersi dentro e consentire il traffico in entrata solo ai servizi necessari e alle connessioni gia' stabilite perche' richieste dalla tua macchina.

Non capisco poi perche' impedire il ping sul loopback, cosi' come l'apertura delle porte tipiche di emule sempre sul loopback... Benche' come gia' detto in questo caso non siano comunque mai applicate di base sono inutili.

 Ti consiglio la lettura di una buona guida su netfilter/iptables... :Rolling Eyes: 

----------

## Mr.Evolution

Consiglio una buona lettura di questo:

http://www.gentoo.org/doc/it/gentoo-security.xml

----------

## comio

 *khris81 wrote:*   

> 
> 
> #apro il traffico internet tcp/udp
> 
> iptables -A INPUT -p tcp  -j ACCEPT
> ...

 

E' da rifare :S. Mai dare degli ACCEPT di questo tipo.

ciao

----------

## neryo

 *khris81 wrote:*   

> 
> 
> la mia idea è quella di lasciare solo il traffico internet, bloccare il ping verso il mio ip, lasciare aperte solo le porte 4662 4672 x amule in modo da poter scaricare!
> 
> può funzionare???
> ...

 

Chiaramente... hai aperto tutto il traffico tcp/udp in entrata e uscita..  :Shocked: 

io ti consiglio di crearti due catene una per tcp e una per udp.. e poi filtri il necessario... Un esempio per TCP.

```
#

# Creo la catena ok_tcp

#

$IPTABLES -N ok_tcp

#

# Appendo le regole a ok_tcp

#

# FTP

$IPTABLES -A ok_tcp -d $MY_IP_ADDRESS -p tcp -m tcp --dport 20 -j ACCEPT

$IPTABLES -A ok_tcp -d $MY_IP_ADDRESS -p tcp -m tcp --dport 21 -j ACCEPT

$IPTABLES -A ok_tcp -s $MY_IP_ADDRESS -p tcp -m tcp --sport 20 -j ACCEPT

$IPTABLES -A ok_tcp -s $MY_IP_ADDRESS -p tcp -m tcp --sport 21 -j ACCEPT

# SSH

$IPTABLES -A ok_tcp -d $MY_IP_ADDRESS -p tcp -m tcp --dport 25 -j ACCEPT

$IPTABLES -A ok_tcp -s $MY_IP_ADDRESS -p tcp -m tcp --sport 25 -j ACCEPT

# HTTP and HTTPS

$IPTABLES -A ok_tcp -d $MY_IP_ADDRESS -p tcp -m tcp --dport 80 -j ACCEPT

$IPTABLES -A ok_tcp -s $MY_IP_ADDRESS -p tcp -m tcp --sport 80 -j ACCEPT

# POP 3

$IPTABLES -A ok_tcp -d $MY_IP_ADDRESS -p tcp -m tcp --dport 110 -j ACCEPT

$IPTABLES -A ok_tcp -s $MY_IP_ADDRESS -p tcp -m tcp --sport 110 -j ACCEPT

$IPTABLES -A ok_tcp -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT

# mantengo le connessioni stabilite

$IPTABLES -A ok_tcp -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

# logs

$IPTABLES -A ok_tcp -i $NET_IFACE -p tcp -j LOG --log-prefix "ok_tcp drop:"

# il resto lo debello

$IPTABLES -A ok_tcp -p tcp -j DROP

#

# Imposto il firewall in modo che INPUT passi sulle catene

#

$IPTABLES -A INPUT -i $NET_IFACE -p tcp -j ok_tcp

```

Per emule e p2p in generale...

```
#eDonkey-aMule

$IPTABLES -A INPUT -i $NET_IFACE  -p tcp --dport 4661 -j ACCEPT

$IPTABLES -A INPUT -i $NET_IFACE  -p tcp --dport 4662 -j ACCEPT

$IPTABLES -A INPUT -i $NET_IFACE  -p udp --dport 4665 -j ACCEPT

$IPTABLES -A INPUT -i $NET_IFACE  -p udp --dport 4672 -j ACCEP
```

In uscita invece ti consiglio di fare passare tutto...

```
#

$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

```

Cmq dai una letta a qualche man.. iptables e' molto complesso e richiede qualche studio prima di affrontarlo...  :Wink: 

----------

## .:deadhead:.

Se vuoi, dai un occhio a Shorewall, potrebbe semplificarti un po' la vita  :Wink: 

http://www.xchris.net/index.php?page=Shorewall_1

----------

## Cazzantonio

 *khris81 wrote:*   

> #elimino eventuali precedenti regole
> 
> iptables -F
> 
> 

 

```
  iptables -F

  iptables -F -t mangle

  iptables -F -t nat

  iptables -X

  iptables -X -t mangle

  iptables -X -t nat
```

questo è meglio per eliminare le regole...

 *Quote:*   

> la mia idea è quella di lasciare solo il traffico internet, bloccare il ping verso il mio ip, lasciare aperte solo le porte 4662 4672 x amule in modo da poter scaricare!

 

Ma il traffico internet è qualcosa di più complesso... che significa "lasciare tutto il traffico internet"? Anche emule fa traffico internet....

Dire di voler lasciare solo il traffico internet può voler dire che vuoi escludere il traffico sulla tua lan, ma nel tuo script non vedo nessuna indicazione della presenza di una lan....

Forse vuoi lasciare aperta solo la porta 80? 

Io penso che tu abbia un semplice desktop e voglia mettere un semplice firewall casalingo...

in questo caso puoi limitarti a consentire tutto il traffico in uscita e bloccare solo quello in entrata

Puoi bloccaro tutto e poi aprire le porte solo ai servizi che vuoi te (ssh, *donkey, o qualsiasi demone di rete tu abbia attivo sul tuo pc)

 *Quote:*   

> può funzionare???
> 
> xò netstat mi dice che ci sono aperte un mucchio di porte!!!

 

Ovvio, c'è tutto il traffico internet  :Wink: 

 *Quote:*   

> è normale oppure è il mio config del firewal che fa pietà?

 

La seconda che hai detto  :Wink: 

----------

## power83

seguendo i suggeriment idi neryo mi sono messo pure io a utilizzarlo.

ecco il mio "iptables -L"

```

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

ok_tcp     tcp  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination         

ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 

Chain ok_tcp (1 references)

target     prot opt source               destination         

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:ftp-data 

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:ftp 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:ftp-data 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:ftp 

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:smtp 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:smtp 

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:www 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:www 

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:pop3 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:pop3 

ACCEPT     tcp  --  anywhere             10.0.0.10           tcp dpt:webcache 

ACCEPT     tcp  --  10.0.0.10            anywhere            tcp spt:webcache 

ACCEPT     tcp  --  anywhere             anywhere            tcp flags:SYN,RST,ACK/SYN 

ACCEPT     tcp  --  anywhere             anywhere            state RELATED,ESTABLISHED 

LOG        tcp  --  anywhere             anywhere            LOG level warning prefix `ok_tcp drop:' 

DROP       tcp  --  anywhere             anywhere            

```

La dicitura webcache corrisposnde alla porta 8080 che uso per comunicare col proxy x la connessione ad internet scroccandola da un altro pc.

DUBBIO: avendo capito che iptables fa il match con la prima riga che soddisfa il pacchetto entrante, non ho ben capito l'utilita e a che serve la riga

```

ACCEPT     tcp  --  anywhere             anywhere            state RELATED,ESTABLISHED 

```

messa prima della

```

DROP       tcp  --  anywhere             anywhere  

```

l'ultima elimina tutto, ma la precendete accetta tutto????

se fosse cosi' l'ultima riga e' inutile.

ps: consideranto il fatto che non ho capito la dicitura "state" eccetera eccetera...

Potrei fare qualcosa di piu' sofisticato o basta questo come firewall?

postate anche il vostro config!

bye

----------

## neryo

 *power83 wrote:*   

> 
> 
> DUBBIO: avendo capito che iptables fa il match con la prima riga che soddisfa il pacchetto entrante, non ho ben capito l'utilita e a che serve la riga
> 
> ```
> ...

 

Allora quella con state RELATED,ESTABLISHED accetta tutti i pacchetti che appartengono ad una connessione preesistente o i pacchetti correlati senza far parte di una conessione preesitente..

l'ulima regola e' una sicurezza in caso non soddisfi i match precedenti viene distrutto tutto quello che passa!  :Laughing: 

 *Quote:*   

> Potrei fare qualcosa di piu' sofisticato o basta questo come firewall?

 

puoi sempre fare di meglio.. e non e' mai abbastanza  :Wink:  [/code]

----------

## power83

ok capito, grazie.

mmm...fare di meglio vorrei, ma listati di esempio o vostri listati avere dovrei! :Very Happy: 

----------

## CarloJekko

 *power83 wrote:*   

> ok capito, grazie.
> 
> mmm...fare di meglio vorrei, ma listati di esempio o vostri listati avere dovrei!

 

Questo è il mio, su un server POP3, SMTP, FTP, SSH  e WWW

```
#SOSTITUIRE $MyIp

MyIp=xxx.xxx.xxx.xxx

dev_int=xxx

iptables _f

iptables -N icmp_in

iptables -A icmp_in -i $dev_int -p icmp -m icmp --icmp-type 3 -j ACCEPT 

iptables -A icmp_in -i $dev_int -p icmp -m icmp --icmp-type 5 -j ACCEPT 

iptables -A icmp_in -i $dev_int -p icmp -m icmp --icmp-type 11 -j ACCEPT 

iptables -A icmp_in -p icmp -j LOG --log-prefix "ICMP drop:" 

iptables -A icmp_in -p icmp -j DROP 

iptables -A INPUT -i $dev_int -p icmp -j icmp_in

iptables -N bad_tcp

iptables -A bad_tcp -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "Nuova non syn:" 

iptables -A bad_tcp -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP 

iptables -A bad_tcp -p tcp -m state --state INVALID -j LOG --log-prefix "Invalida:" 

iptables -A bad_tcp -p tcp -m state --state INVALID -j DROP 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m limit --limit 5/min -j LOG --log-prefix "NMAP-XMAS:" 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/min -j LOG --log-prefix "SYN/RST:" 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -m limit --limit 5/min -j LOG --log-prefix "SYN/FIN:" 

iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 137:139 -m limit --limit 5/min -j LOG --log-prefix "NO SMB:" 

iptables -A bad_tcp -p tcp -m tcp --sport 137:139 -m limit --limit 5/min -j LOG --log-prefix "NO SMB:" 

iptables -A bad_tcp -p tcp -m tcp --dport 137:139 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 137:139 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 2049 -m limit --limit 5/min -j LOG --log-prefix "NO NFS:" 

iptables -A bad_tcp -p tcp -m tcp --sport 2049 -m limit --limit 5/min -j LOG --log-prefix "NO NFS:" 

iptables -A bad_tcp -p tcp -m tcp --dport 2049 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 2049 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 6000:6063 -m limit --limit 5/min -j LOG --log-prefix "NO X:" 

iptables -A bad_tcp -p tcp -m tcp --sport 6000:6063 -m limit --limit 5/min -j LOG --log-prefix "NO X:" 

iptables -A bad_tcp -p tcp -m tcp --dport 6000:6063 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 6000:6063 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 20034 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus2:" 

iptables -A bad_tcp -p tcp -m tcp --sport 20034 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus2:" 

iptables -A bad_tcp -p tcp -m tcp --dport 20034 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 20034 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 12345:12346 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus:" 

iptables -A bad_tcp -p tcp -m tcp --sport 12345:12346 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus:" 

iptables -A bad_tcp -p tcp -m tcp --dport 12345:12346 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 12345:12346 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --dport 27374 -m limit --limit 5/min -j LOG --log-prefix "NO SubSeven:" 

iptables -A bad_tcp -p tcp -m tcp --sport 27374 -m limit --limit 5/min -j LOG --log-prefix "NO SubSeven:" 

iptables -A bad_tcp -p tcp -m tcp --dport 27374 -j DROP 

iptables -A bad_tcp -p tcp -m tcp --sport 27374 -j DROP 

iptables -A INPUT -i $dev_int -p tcp -j bad_tcp

iptables -N ok_tcp

iptables -A ok_tcp -d $MyIp -p tcp -m tcp --dport 20 -j ACCEPT 

iptables -A ok_tcp -d $MyIp -p tcp -m tcp --dport 21 -j ACCEPT 

iptables -A ok_tcp -d $MyIp -p tcp -m tcp --dport 25 -j ACCEPT 

iptables -A ok_tcp -d $MyIp -p tcp -m tcp --dport 80 -j ACCEPT 

iptables -A ok_tcp -d $MyIp -p tcp -m tcp --dport 110 -j ACCEPT 

iptables -A ok_tcp -s $MyIp -p tcp -m tcp --sport 20 -j ACCEPT 

iptables -A ok_tcp -s $MyIp -p tcp -m tcp --sport 21 -j ACCEPT 

iptables -A ok_tcp -s $MyIp -p tcp -m tcp --sport 25 -j ACCEPT 

iptables -A ok_tcp -s $MyIp -p tcp -m tcp --sport 80 -j ACCEPT 

iptables -A ok_tcp -s $MyIp -p tcp -m tcp --sport 110 -j ACCEPT 

iptables -A ok_tcp -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT 

iptables -A ok_tcp -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 

iptables -A ok_tcp -i $dev_int -p tcp -j LOG --log-prefix "ok_tcp drop:" 

iptables -A ok_tcp -p tcp -j DROP 

iptables -N ok_udp

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 20 -j ACCEPT 

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 21 -j ACCEPT 

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 25 -j ACCEPT 

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 80 -j ACCEPT 

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 110 -j ACCEPT 

iptables -A ok_udp -d $MyIp -p udp -m udp --dport 53 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 53 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 20 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 21 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 25 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 80 -j ACCEPT 

iptables -A ok_udp -s $MyIp -p udp -m udp --sport 110 -j ACCEPT 

iptables -A ok_udp -p udp -m udp --udp-flags SYN,RST,ACK SYN -j ACCEPT 

iptables -A ok_udp -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT 

iptables -A ok_udp -i $dev_int -p udp -j LOG --log-prefix "ok_udp drop:" 

 

iptables  -i INPUT -i $dev_int -d $MyIp -p tcp --dport 9176 -j ACCEPT ##per Valknut in modalità attiva

iptables  -i INPUT -i $dev_int -d $MyIp -p udp --dport 9176 -j ACCEPT ##per Valknut in modalità attiva

iptables -A ok_udp -p udp -j DROP 

iptables -A INPUT -i $dev_int -p tcp -j ok_tcp 

iptables -A INPUT -i $dev_int -p udp -j ok_udp 

iptables -A INPUT -i $dev_int -j LOG --log-prefix "Drop default : " ##regola aggiunta per sicurezza

iptables -A INPUT -i $dev_int -j DROP
```

----------

## ^Sporting^

Se vuoi imparare per bene, sbattendoci la testa e studiando per bene l'argomento, allora:

```
man iptables
```

Se invece vuoi semplificarti la vita o avere gia' una buona base su cui, poi, fare esperimenti e migliorie, allora:

```
emerge -s gshield

Searching...   

[ Results for search key : gshield ]

[ Applications found : 1 ]

 

*  net-firewall/gshield

      Latest version available: 2.8-r2

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 46 kB

      Homepage:    http://muse.linuxmafia.org/gshield.html

      Description: iptables firewall configuration system

      License:     GPL-2
```

E' un programmino di semplice configurazione che ti crea in automatico le regole giuste, tu devi solo impostare i tuoi valori personalizzati in un file di configurazione

Bye!

----------

## khris81

ecco con il mio nuovo e fiammant firewall copiato  :Laughing: 

xò netstat mi dice che ho aperto tutto!!!!

bash-2.05b# netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 192.168.8.2:41354       host220-34.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:60468       host86-148.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:38987       razorback.ed2k.ch:4661  ESTABLISHED

tcp        0      0 192.168.8.2:58615       host46-160.pool825:4662 ESTABLISHED

tcp        0     44 192.168.8.2:33841       adsl-17-111.38-151:4662 ESTABLISHED

tcp        0      0 192.168.8.2:33641       adsl-ull-100-20.44:4662 ESTABLISHED

tcp        0      0 192.168.8.2:45776       host54-120.pool801:4000 ESTABLISHED

tcp        0      0 192.168.8.2:41201       host-84-222-80-201:4662 ESTABLISHED

tcp        0      0 192.168.8.2:54800       p54AAD706.dip.t-di:9664 ESTABLISHED

tcp        0      0 192.168.8.2:54794       host71-167.pool825:4662 ESTABLISHED

tcp        0      1 192.168.8.2:55448       d83-176-64-146.cus:4662 SYN_SENT

tcp        0      0 192.168.8.2:53255       user152.cetra.si:4662   ESTABLISHED

tcp        0     77 192.168.8.2:33179       host234-170.pool82:4662 ESTABLISHED

tcp        0      0 192.168.8.2:53094       host79-121.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:55922       host95-181.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:37248       host5-174.pool8253:4662 ESTABLISHED

tcp        0      0 192.168.8.2:40589       host175-51.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:35076       host169-163.pool82:4662 ESTABLISHED

tcp        0     22 192.168.8.2:39436       host172-20.pool821:4662 ESTABLISHED

tcp        0      0 192.168.8.2:39509       lns-vlq-43-mon-82-:7752 ESTABLISHED

tcp        0      0 192.168.8.2:35399       host184-141.pool82:4662 ESTABLISHED

tcp        0      0 192.168.8.2:33912       host79-13.pool8252:4662 ESTABLISHED

tcp        0      0 192.168.8.2:38834       host28-244.pool801:6799 ESTABLISHED

tcp        0      1 192.168.8.2:56140       host34-247.pool801:4662 SYN_SENT

tcp        0      0 192.168.8.2:33857       host16-29.pool8250:4662 ESTABLISHED

tcp        0      0 192.168.8.2:46311       host139-94.pool825:4662 ESTABLISHED

tcp        0      0 192.168.8.2:48092       21.20-218-195.adsl:4662 ESTABLISHED

tcp        0      0 192.168.8.2:55759       host30-16.pool8257:4662 ESTABLISHED

tcp        0   2728 192.168.8.2:4662        host90-190.pool217:4657 ESTABLISHED

tcp        0      0 192.168.8.2:33176       host12-31.pool8257:4662 ESTABLISHED

tcp        0      0 192.168.8.2:33176       host12-31.pool8257:4662 ESTABLISHED

questo è il firewall

#!/bin/sh

# elimino eventuali precedenti regole

iptables -F

iptables -X

# impedisco il ping

iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

iptables -A INPUT -p icmp ! --icmp-type echo-reply -j DROP

# traffico amule

#iptables -A INPUT -i eth0  -p tcp --dport 4662 -j ACCEPT

#iptables -A INPUT -i eth0  -p udp --dport 4672 -j ACCEPT

# creo la catena ok_tcp

iptables -N ok_tcp

#

#traffico input

#

# FTP

iptables -A ok_tcp -d 192.168.8.2 -p tcp -m tcp --dport 20 -j ACCEPT

iptables -A ok_tcp -d 192.168.8.2 -p tcp -m tcp --dport 21 -j ACCEPT

iptables -A ok_tcp -s 192.168.8.2 -p tcp -m tcp --sport 20 -j ACCEPT

iptables -A ok_tcp -s 192.168.8.2 -p tcp -m tcp --sport 21 -j ACCEPT

# HTTP and HTTPS

iptables -A ok_tcp -d 192.168.8.2 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A ok_tcp -s 192.168.8.2 -p tcp -m tcp --sport 80 -j ACCEPT

# POP 3

iptables -A ok_tcp -d 192.168.8.2 -p tcp -m tcp --dport 110 -j ACCEPT

iptables -A ok_tcp -s 192.168.8.2 -p tcp -m tcp --sport 110 -j ACCEPT

iptables -A ok_tcp -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT

# mantengo le connessioni stabilite, possiamo consentire che sessioni iniziate possano ricevere dati

iptables -A ok_tcp -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

# traffico amule

iptables -A ok_tcp -d 192.168.8.2 -p tcp --dport 4662 -j ACCEPT

iptables -A ok_tcp -d 192.168.8.2 -p udp --dport 4672 -j ACCEPT

# il resto lo debello

iptables -A ok_tcp -p tcp -j DROP

# Imposto il firewall in modo che INPUT passi sulle catene

iptables -A INPUT -i eth0 -p tcp -j ok_tcp

# log

iptables -A ok_tcp -i eth0 -p tcp -j LOG --log-prefix "ok_tcp drop:"

#

#traffico output lascio passare tutto

#

iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#

# traffico farword

#

iptables -A FORWARD -p tcp --syn -m limit --limit 3/s -j ACCEPT

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPTLast edited by khris81 on Sun May 15, 2005 11:59 pm; edited 1 time in total

----------

## khris81

continuo ad avere la porta 23 aperta xchè????

----------

## neryo

guarda che con quel netstat stai vedendo tutte le connessioni stabilite dal tuo p2p...  :Wink: 

----------

## khris81

si?  :Laughing: 

nn me ne intendo molto scusate!  :Very Happy: 

cmq come firewall com'è???? vi dico subito che è copiato nn è mia intenzione prendere i meriti di qualcun'altro, l'ho un pochino adattato alle mie esigenze desktop!

può essere sicuro cosi impostato oppure meglio ritoccarlo???

----------

## neryo

 *khris81 wrote:*   

> si? 
> 
> nn me ne intendo molto scusate! 
> 
> cmq come firewall com'è???? vi dico subito che è copiato nn è mia intenzione prendere i meriti di qualcun'altro, l'ho un pochino adattato alle mie esigenze desktop!
> ...

 

come ti ho detto non e' facile stabilire se e' sicuro.. cmq quando apri all'esterno il minimo necessario dovresti quantomeno stare leggermente tranquillo.. poi chiaramente e sempre buona regola controllare giornalmente i log di sistema..  :Wink: 

----------

## khris81

dove li mette i log???

----------

## neryo

 *khris81 wrote:*   

> dove li mette i log???

 

```
/var/log/messages
```

puoi usare anche 

```
# dmesg
```

----------

## khris81

bo io nn vedo nessun log da parte del firewall eppure li ho pur attivati!!!

iptables -A ok_tcp -i eth0 -p tcp -j LOG --log-prefix "ok_tcp drop:"

----------

## neryo

 *khris81 wrote:*   

> bo io nn vedo nessun log da parte del firewall eppure li ho pur attivati!!!
> 
> iptables -A ok_tcp -i eth0 -p tcp -j LOG --log-prefix "ok_tcp drop:"

 

ma hai guardato dentro a /var/log/messages??

----------

## khris81

ho inserito il config del firewall in /var/lib/iptables/rules-save

ma nn me le mette!!!

se vado a fare iptables -L nn c'è un cappero!!!!

come mai????

----------

## khris81

 *neryo wrote:*   

>  *khris81 wrote:*   bo io nn vedo nessun log da parte del firewall eppure li ho pur attivati!!!
> 
> iptables -A ok_tcp -i eth0 -p tcp -j LOG --log-prefix "ok_tcp drop:" 
> 
> ma hai guardato dentro a /var/log/messages??

 

si ma nn ci sono i log del firewall!!!

----------

## neryo

 *khris81 wrote:*   

>  *neryo wrote:*    *khris81 wrote:*   bo io nn vedo nessun log da parte del firewall eppure li ho pur attivati!!!
> 
> iptables -A ok_tcp -i eth0 -p tcp -j LOG --log-prefix "ok_tcp drop:" 
> 
> ma hai guardato dentro a /var/log/messages?? 
> ...

 

i log li scrive solo quando fa il drop dei pacchetti.. se non ha niente da droppare non scrive nulla...

----------

## khris81

ok ora il problema è un altro nn mi carica le regole del firewall!!!

mi da errore in linea 4 all'avvio del sistema, ora ho controllato ma è tutto ok in tutte le linee!!!

dove devo metterla la config del firewall???

io l'ho messa in /var/lib/iptables/rules-save, ma nn va bene!!! mi da sempre errore!!!

----------

## CarloJekko

ma devi dare /etc/init.d/iptables start

----------

## CarloJekko

@khris81

```
ciao a tutti, sto sistemando il mio firewall e scopiazzando qua e là ho notato 

questa regola:

[...]

iptables -A ok_udp -p udp -m udp --udp-flags SYN,RST,ACK SYN -j ACCEPT

[...]

il problema è che se la eseguo iptables non mi riconosce questo paramentro   

--udp-flags piu' precisamente:

iptables v1.3.1: Unknown arg `--udp-flags'

Try `iptables -h' or 'iptables --help' for more information.

mentre ho notato che --tcp-flags funzia

ma esiste qualche modulo speciale nel kernel per attivare questa funzionalità?
```

```
UDP non li ha proprio i flag: http://www.ietf.org/rfc/rfc0768.txt

Ci si può arrivare ricordando che i flag di TCP indicano lo stato della 

connessione e UDP non gestisce le connessioni...

> scopiazzando qua e là ho notato questa regola:

> [...]

> iptables -A ok_udp -p udp -m udp --udp-flags SYN,RST,ACK SYN -j ACCEPT

Beh, quelli sono indubbiamente i flag TCP. Dove hai trovato questa roba?
```

```
> ciao a tutti, sto sistemando il mio firewall e scopiazzando qua e là ho notato 

> questa regola:

> [...]

> iptables -A ok_udp -p udp -m udp --udp-flags SYN,RST,ACK SYN -j ACCEPT

> [...]

Non sapevo che il protocollo UDP implementasse un meccanismo di flagging dei pacchetti :P

Prima di giocare in firewall e roba di quel tipo studiati i protocolli di rete, almeno il TCP e UDP 

se no farai piu' male che bene. E' come se un dottore si mettesse a fare ricette mediche

senza conoscere le varie forme di malattie. 

Per iniziare non posso che consigliarti la guida: tcp ip illustrated. Il secondo volume offre 

anche un panoramica di implementazione su kernel 2.2, che comunque rimane molto simile a quella del 2.6

ciao bello

```

```
Precisando che fino a l'altro ieri la pensavo come te, ovvero che il 

protocollo UDP non avesse flag simili, mi ero per un attimo ricreduto vedendo 

questa fantomatica configurazione di un server postata sul forum di 

gentoo.org (ecco il link : http://forums.gentoo.org/viewtopic-t-336988.html 

il post è CarloJekko ) visto che sto tipo la spaccia per configurazione 

funzionante e visto che sta configurazione a dir suo gira su un server, a sto 

punto mi erano venuti dei dubbi (avere un dubbio è una cosa legittima, e non 

è sinonimo di incompetenza... e comunque meglio avere un dubbio che 

professare ogni cosa come se fosse vangelo, comprese le eventuali cazzate 

annesse).

Grazie alla tua simpaticissima risposta questo dubbio è stato fugato, ti 

ringrazio davvero di cuore, per quanto riguarda le cose che m'hai detto di 

leggere magari ci faccio un pensierino, te pero' leggi libri che trattatano 

argomenti del tipo:

-Se ho voglia di aiutare aiuto, ma non tratto la persona che aiuto come un 

povero pirla

-Se considero il tipo un povero pirla non lo aiuto

-Essere umili è una gran bella cosa

-Io non sono Dio in terra

Da questa lista me ne ero andato da tempo, troppa gente saccente e pure 

esaltata che considera gli altri dei poveri inetti, speravo che le cose 

fossero cambiate, mi sbagliavo, va beh dai torno alle mie liste tipo Pluto, 

Gentoo, ecc.. che sono allo stesso lv di competenza, magari anche piu' alto o 

piu' basso,  chi lo sa ma per lo meno ti trattano con una persona e non come 

il primo pirla che passa.
```

Hai ragione non esistono gli --udp-flags  :Wink: 

Mi sono dimenticato di togliere quella regolaccia... ma potevi anke risparmiarti di andare su altri forum... chiedevi qui

Qui non ci frusciamo  :Smile: 

CMQ... Come và ora il firewall.. dà ancora problemi all'avvio ?

----------

