Repository 32bit  Forum
Repository 64bit  Wiki

non riesco a "stealthare" le porte

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

non riesco a "stealthare" le porte

Messaggioda themash » gio nov 23, 2006 15:59

salve ragazzi,
sono nuovo di questo forum, ma da un po' mi diletto a proteggere la mia rete casalinga grazie a iptables.
Ultimamente ho cambiato modem e ho preso un ethernet (prima avevo un usb, quindi usavo eciadsl), adesso uso un sitecom dc213.
La mia rete è così configurata

internet - modem ethernet - eth0 - firewall - eth1 - router 3com - clients della rete.

il modem ha indirizzo 10.0.0.1, e sull'interfaccia eth0, che sarebbe quella esterna e quindi co municante con il modem ho impostato 10.0.0.10, quindi niente dhcp.
I clients della rete sono collegati ad un router, il quale è in comunicazione con l'interfaccia eth1 che ha indirzzo 192.168.0.1.
Tralasciando i clients, sono tre giorni che ci perdo la testa e non riesco a rendere invisibili le porte ai test di pcflank.
Se faccio il test mi risultano la porta 21, 23, 80 stealthed mentre tutte le altre sono closed.
Ho provato 3000 configurazioni del firewall, ho provato anche ad aprire le tre porte stealthed impostando le dovute regole in INPUT su accept, ma non cambia praticamente nulla.
Visto che non riuscivo a renderle stealthed e non cambiava niente nello stealthing delle porte ho intrapreso una politica inversa, ovvero volevo verificare se aprendo le porte che indicavo io effettivamente risultassero nel test. Ma così non è stato.
Ho aperto alcune porte ma il test di pcflank rimane sempre invariato.

21 stealthed FTP File Transfer Protocol is used to transfer files between computers
23 stealthed TELNET Telnet is used to remotely create a shell (dos prompt)
80 stealthed HTTP HTTP web services publish web pages
135 closed RPC Remote Procedure Call (RPC) is used in client/server applications based on MS Windows operating systems
137 closed NETBIOS Name Service NetBios is used to share files through your Network Neighborhood
138 closed NETBIOS Datagram Service NetBios is used to share files through your Network Neighborhood
139 closed NETBIOS Session Service NetBios is used to share files through your Network Neighborhood
1080 closed SOCKS PROXY Socks Proxy is an internet proxy service
1243 closed SubSeven SubSeven is one of the most widespread trojans
3128 closed Masters Paradise and RingZero Trojan horses
12345 closed NetBus NetBus is one of the most widespread trojans
12348 closed BioNet BioNet is one of the most widespread trojan
27374 closed SubSeven SubSeven is one of the most widespread trojans
31337 closed Back Orifice Back Orifice is one of the most widespread trojans


Vi posto la configurazione di prova che ho realizzato per capire cosa non andava:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -Z
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT



Non riesco a capire cosa non vada.
In precedenza, con il modem usb, avevo una interfaccia ppp0 (ora diventata eth0) e il firewall funzionava perfettamente, ogni porta che aprivo o chiudevo nel test di pcflank risultava come era impostata.
Per collegarmi non uso rp-pppoe, sul modem ho impostato pppoa poichè penso che il provider non supporti pppoe, navigo semplicemente impostando gli indirizzi ip sulle schede di rete, il modem poi fa tutto da solo senza bisogno di alcun software lato firewall.
Sono disperato ragazzi, ho letto un sacco di guide e forum, ma non riesco a venirne a capo.
Eppure pensavo di avere capito la logica di iptables, ma mi sbagliavo.
Spero possiate aiutarmi, ve ne sarei molto grato.
Attendo risposte!
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Re: non riesco a "stealthare" le porte

Messaggioda francogdn » gio nov 23, 2006 16:36

themash ha scritto:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -Z
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT



Prova così:
Codice: Seleziona tutto
...
iptables -A INPUT -s $TUOIP -j ACCEPT
...
iptables -A INPUT -p tcp --dport 80 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 443 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 21 -j REJECT --reject-with tcp-reset
...


Ciao.
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Messaggioda Luci0 » gio nov 23, 2006 16:43

Ciao ...
Dall' esterno gli utenti internet vedono il modem ethernet ... (che tra l' altro si comporta come un router con funzionalità ridotte).
Le iptables opportunamente configurate "stealthano" la porta eth0 . Solo un ipotetico port scanning effettuato dal modem ethernet verso eth0 (... non ho idea come si possa fare ..) troverebbe le porte in condizioni di stealth ... é ovvio quindi che anche cambiando tutte le impostazioni dietro il modem ethernet, i tool di testing non non verifichino nessun cambiamento ... infatti la configurazione delle porte sul modem ethernet all'esterno non é stata cambiata...
Puoi vedere se é possibile fare qualcosa dai tool di configurazione del modem ... in modo da render più difficile la vita ai lameracci ... :-)
Avatar utente
Luci0
Staff
Staff
 
Messaggi: 3591
Iscritto il: dom giu 26, 2005 23:00
Località: Forte dei Marmi
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce

Messaggioda themash » gio nov 23, 2006 16:56

grazie per le risposte ragazzi, siete stati celerissimi!
Su altri forum neanche l'ombra di interesse al mio problema...
Adesso provo, e vi faccio sapere.
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Re: non riesco a "stealthare" le porte

Messaggioda themash » gio nov 23, 2006 16:59

francogdn ha scritto:
themash ha scritto:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -Z
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT



Prova così:
Codice: Seleziona tutto
...
iptables -A INPUT -s $TUOIP -j ACCEPT
...
iptables -A INPUT -p tcp --dport 80 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 443 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 21 -j REJECT --reject-with tcp-reset
...


Ciao.


dove $TUOIP a quale indirizzo si riferisce? quello della sottorete dei clients 192.168.0.0/24?
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Re: non riesco a "stealthare" le porte

Messaggioda francogdn » gio nov 23, 2006 17:08

themash ha scritto:dove $TUOIP a quale indirizzo si riferisce? quello della sottorete dei clients 192.168.0.0/24?


L'indirizzo del client o della rete da cui vuoi raggiungere quelle porte :)
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Messaggioda themash » gio nov 23, 2006 17:23

come mi hai suggerito non va francogdn, dopo il port scan vedo sempre le 3 porte stealthed e le altre chiuse...
credo sia il fatto che il modem/router inganni lo scanner, ma non riesco a capire in che modo.
Alla fin fine mi interessa sapere se effettivamente le porte porte sono invisibili, del test di pcflank non mi interessa.
C'è qualche altro modo per testare il firewall dall'esterno?
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Messaggioda francogdn » gio nov 23, 2006 17:26

Mi viene in mente nmap, l'hai già provato?
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Messaggioda themash » gio nov 23, 2006 17:34

Questo è l'output di nmap :

Interesting ports on firewall (127.0.0.1):
(The 1649 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
631/tcp open ipp
3128/tcp open squid-http
10000/tcp open snet-sensor-mgmt


Sul modem/router nella sezione NAT posso impostare tre opzioni:
NAT, NAPT, Dynamic NAPT , forse sono queste le causa dei problemi?

*EDIT: sono riuscito a rendere visibile la porta 21 (FTP) dal test di pcflank, ho impostato il forwarding delle porte sul modem /router. Ho impostato porta pubblica e privata su 21, da reindirizzare a 10.0.0.10 che sarebbe la scheda di rete eth0 che comunica col modem stesso.Ora faccio qualche altra prova:)
Ultima modifica di themash il gio nov 23, 2006 17:40, modificato 1 volta in totale.
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Messaggioda francogdn » gio nov 23, 2006 17:39

Ok, però la scansione non devi farla dallo stesso host...
Devi effettuare la scansione da un'indirizzo/rete diversa dalla famosa variabile $TUOIP...
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Messaggioda themash » gio nov 23, 2006 18:03

ad esempio, da dove potrei fare la scansione?
vorrei fare una prova, potreste accedere a http://lanfire.myftp.org ?
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Messaggioda masalapianta » ven nov 24, 2006 0:04

ma che intendi con "stealthare le porte"?
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Messaggioda themash » ven nov 24, 2006 0:33

intendo :
renderle invisibili dall'esterno, ovvero il sistema non risponde al tentativo di connessione su una determinata porta, invece di comunicare che la porta chiusa, rivelando così l'esistenza stessa di un sistema remoto.
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Messaggioda masalapianta » ven nov 24, 2006 0:47

themash ha scritto:intendo :
renderle invisibili dall'esterno, ovvero il sistema non risponde al tentativo di connessione su una determinata porta, invece di comunicare che la porta chiusa, rivelando così l'esistenza stessa di un sistema remoto.

ti basta droppare col target DROP di iptables tutti i pacchetti in ingresso diretti a quelle porte; i pacchetti verran scartati senza rispondere con un rst, un icmp port unreachable o altro
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Messaggioda themash » ven nov 24, 2006 10:36

sono ben a conoscenza che con il target drop il sistema è praticamente invisibile...
Solo che con i vari test in giro per la rete mi escono tre porte elencate sotto come stealthed, e le altre closed.

21 stealthed FTP File Transfer Protocol is used to transfer files between computers
23 stealthed TELNET Telnet is used to remotely create a shell (dos prompt)
80 stealthed HTTP HTTP web services publish web pages
135 closed RPC Remote Procedure Call (RPC) is used in client/server applications based on MS Windows operating systems
137 closed NETBIOS Name Service NetBios is used to share files through your Network Neighborhood
138 closed NETBIOS Datagram Service NetBios is used to share files through your Network Neighborhood
139 closed NETBIOS Session Service NetBios is used to share files through your Network Neighborhood
1080 closed SOCKS PROXY Socks Proxy is an internet proxy service
1243 closed SubSeven SubSeven is one of the most widespread trojans
3128 closed Masters Paradise and RingZero Trojan horses
12345 closed NetBus NetBus is one of the most widespread trojans
12348 closed BioNet BioNet is one of the most widespread trojan
27374 closed SubSeven SubSeven is one of the most widespread trojans
31337 closed Back Orifice Back Orifice is one of the most widespread trojans

Utilizzando questa configurazione al posto di quella di prova di eri adesso la porta 21 (che nel firewall accetto sull'interfaccia eth0) e la porta 80 adesso risultano closed e soltanto la telnet stealth.
Non riesco a comprendere dove sia il problema. Forse nno riesco a fare uno scan decente poichè i pacchetti partono dallo stesso ip e quindi passando dal router stesso vengono ruotati nuovamente al sistema locale ingannando lo scanner.
Nella mia configurazione del firewall non è cambiato assolutamente nulla, vi posto quello che ho usato per un anno e mezzo fino ad oggi :

#!/bin/sh
echo "#####################################################"
echo "########### LANSECURE ENTERPRISE FIREWALL ###########"
echo "########### Versione 1.8 - By TheMash ###########"
echo "#####################################################"
echo " Inizializzazione Enterprise Firewall..."

# Inizializzazioni variabili
echo " Definizione Interfacce...."
#Interfaccia Internet
EXTIF='eth0'
#Interfaccia LAN
INTIF='eth1'
#Definizione rete locale
LANINT="192.168.0.0/24"
#Indirizzi privati - non ruotati su Internet (serve per l'antispoof)
LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="192.168.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"

#Definizione Client della rete
echo " Definizione Clients..."
client2='192.168.0.2'
client3='192.168.0.3'
client4='192.168.0.4'
clientmobile='192.168.0.10'

#Servizi presenti nella rete
echo " Definizione porte servizi..."
emuletcp1="4661"
emuletcp2="4662"
emuleudp="4665 4672"

######## FINE VARIABILI ########

# Azzera e pulisce ogni regola esistente

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F
iptables -F -t nat
iptables -X
iptables -Z

#Settaggio impostazioni di base
#echo " Settaggio impostazioni di base..."
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Attivazione Masquerading & Forwarding
echo " Attivazione IP Forwarding..."
echo "1" > /proc/sys/net/ipv4/ip_forward

# ICMP Rules ####################################
#echo " Settaggio impostazioni di sicurezza..."
# Non risponde ai ping broadcast
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Ignora finti messaggi di errore ICMP
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Rifiuta pacchetti ICMP di route redirection
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
# Antispoof!
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Non risponde ai ping di broadcast
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

#Regole Antispoofing
echo " Attivazione anti-spoof..."
iptables -A INPUT -i $EXTIF -s $CLASS_A -j DROP
iptables -A INPUT -i $EXTIF -s $CLASS_B -j DROP
iptables -A INPUT -i $EXTIF -s $CLASS_C -j DROP
iptables -A INPUT -i $EXTIF -s $CLASS_D_MULTICAST -j DROP
iptables -A INPUT -i $EXTIF -s $CLASS_E_RESERVED_NET -j DROP
iptables -A INPUT -i $EXTIF -d $LOOPBACK -j DROP

######### INIZIO REGOLE DI SISTEMA ##########
echo " Settaggio regole Firewall..."

# Traffico di loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Permette traffico locale e della rete locale verso il Firewall
echo " Definizione traffico LAN autorizzato..."
iptables -A INPUT -i $INTIF -s $LANINT -j ACCEPT
iptables -A OUTPUT -o $INTIF -d $LANINT -j ACCEPT

# Permette traffico dalla rete locale a Internet
# Forward tutti pacchetti aventi sorgente la LAN interna verso tutte le destinazioni
iptables -A FORWARD -s $LANINT -d 0/0 -j ACCEPT

# Permette il forwarding di pacchetti correlati a comunicazioni esistenti
iptables -A FORWARD -d $LANINT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Maschera gli IP sorgenti della LAN interna con l'IP dell'interfaccia Internet
iptables -t nat -A POSTROUTING -o $EXTIF -s $LANINT -j MASQUERADE

# Permette all'host locale di collegarsi ad IP remoti e ricevere pacchetti di risposta
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

################ SERVIZI DI RETE ###################

echo " Settaggio servizi di rete..."

#echo " Attivazione Transparent Proxy..."
#iptables -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 3128

#Webmin Accessibile dalla LAN
#iptables -A INPUT -s $LANINT -p tcp --dport 10000 -j ACCEPT

#Remote Desktop Connection
#iptables -A OUTPUT -o $INTIF -p tcp --dport 3389 -j ACCEPT

# Accesso SSH dal mio pc :)

iptables -A INPUT -s $client3 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -s $clientmobile -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -i lo -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -i $EXTIF -p tcp --dport 22 -j DROP
iptables -A INPUT -i $EXTIF -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -s $LANINT -p tcp --dport 21 -j ACCEPT

########## CLIENT3 PORT FORWARDING #############

echo " Apertura porte servizi P2P..."
iptables -I INPUT -p tcp --dport 4661:4662 -j ACCEPT
iptables -I INPUT -p udp --dport 4672 -j ACCEPT
iptables -I INPUT -p udp --dport 4665 -j ACCEPT


echo " Disattivazione Port Forwarding P2P..."
iptables -A FORWARD -p tcp --dport 4661:4662 -j ACCEPT
iptables -A FORWARD -p udp --dport 4672 -j ACCEPT
iptables -A FORWARD -p udp --dport 4665 -j ACCEPT


iptables -t nat -I PREROUTING -i $EXTIF -p tcp --dport 4661:4662 -j DNAT \
--to-destination $client3

iptables -t nat -I PREROUTING -i $EXTIF -p udp --dport 4672 -j DNAT \
--to-destination $client3:4672

iptables -t nat -I PREROUTING -i $EXTIF -p udp --dport 4665 -j DNAT \
--to-destination $client3:4665

# Blocca il Flooding SYN
iptables -A INPUT -p tcp -i $EXTIF --syn -m limit --limit 1/s -j ACCEPT

# Blocca i Port Scanner
iptables -A INPUT -p tcp -i $EXTIF --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT


# Logging dei pacchetti rifiutati (tranne broadcast)
#iptables -A INPUT -m pkttype --pkt-type ! broadcast -j LOG --log-level=DEBUG --log-prefix="[INPUT DROP] : "
#iptables -A OUTPUT -m pkttype --pkt-type ! broadcast -j LOG --log-level=DEBUG --log-prefix="[OUTPUT DROP] : "

#iptables -N LOG_DROP
#iptables -A LOG_DROP -m pkttype --pkt-type ! broadcast -j LOG --log-level=DEBUG --log-tcp-options --log-ip-options --l
#iptables -A LOG_DROP -j DROP

echo " Firewall attivato."

#### FINE CONFIGURAZIONE ####
themash
Linux 1.0
Linux 1.0
 
Messaggi: 29
Iscritto il: gio nov 23, 2006 15:48

Prossimo

Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti