PDA

Visualizza la versione completa : IPTABLES, SERVIZI DI RETE


trillullero
18-03-2005, 20:41
Sto studiando iptables e ho diversi dubbi:

1-Unserver web(apache) è in ascolto sulla porta 80.
il browser, con che porta invia le richieste e con che porta le riceve?
Il server web usa la porta 80 sia per ricevere le richieste che per inviare le pagine web o bisogna abilitare un' altra porta?

Le stesse domande sopra riportate si ripequtono su tutti gli altri servizi di rete: ftp, ssh, dhcp

2-Ho compreso il protocollo ip e il suo completamento, il tcp ... l' UDP non riesco a capire che ruolo abbia, a cosa serve e quali sono le sue caratteristiche.

Penso che sia molto importante avere chiaro il ruolo del UDP. Se ad esempio si utilizza la policy DROP sulla catena input bisogna conoscere perfettamente tutte le porte e i protocolli chiamati in gioco altrimenti non funziona nulla.

3-un firwall sostanzialmente permette di bloccare certe porte, oppure bloccarle tutte ad eccezione di alcune, accettare solo pacchetti con certe caratteristiche MA, se ho ad esempio un server web, che deve essere raggiunto da da qualsasi IP, il firewall non protegge il server da eventuali attacchi perchè non è in grado di filtrare i pacchetti in base al loro contenuto GIUSTO?

Br14n^
18-03-2005, 21:06
Allora:
1) il browser invia richieste da porte random, ad ogni connessione viene assegnata una porta in modo casuale. Invece il server web gestisce tutte le connessioni dalla porta 80. Così per tutti i servizi server. Loro stanno in ascolto su una determinata porta e quando vengono contattati gestiscono tutto il traffico da quella porta. L'ftp oltre la 21 usa anche la 20 per l'invio dei file. Infatti ha due canali, uno per il controllo l'altro per il trasferimento dei file.

2) Il protocollo udp è un protocollo non orientato alla connessione, si potrebbero dire molte cose, dovresti studiarti come funziona il tcp e come l'udp. In breve l'udp è più snello e più veloce ma anche meno sicuro. Mentre col tcp hai la certezza che i pacchetti arrivino a destinazione, senza duplicati, e nell'ordine corretto, con l'udp nn ce l'hai. Per questo viene usato principalmente, oltre che per le query ai dns, per le applicazioni multimediali (streaming ad esempio).

3) iptables blocca i pacchetti in funzione di veramente tante cose, fai un man iptables. Certo nn può vedere effettivamente il contenuto. Cioè se pensi di filtrare i pacchetti che contengono exploit nn puoi. Quindi patcha e aggiorna i vari software.

trillullero
18-03-2005, 21:26
Grazie di cuore, molti dubbi si stanno chiarendo.

Solo un' altra domandina sull' UDP, poi cerco altra documentazione:
sono correlati il TCP/IP e l' UDP, c'è un rapporto fra i due o sono proprio due protocolli distinti?

Ora la domanda che più mi preme:
Io uso il pc sopratutto come client (poi smanetto anche coi server).
Io vorrei impostare la catena di input di iptables su drop e accettare solo il traffico inviato verso il browser ... come faccio se la posrta di comunicazione è random ?????????

ps: hai detto che l' udp viene usato nelle query per i dns, devo abilitare anche qualcosa al UPD ?
Non credo visto che dovrebbe essere il server dns del mio provider a risolvere il dominio in base alla richiesta del borwser ma una conferma non fa male.

Ciao!

trillullero
19-03-2005, 11:10
Per favore se potete rispondete prima alle domande nel post precedente.

Altra domanda:
se non ho server attivi e una volta connesso uso solo il browser, che rischi corro?
Se non ci sono porte aperte, un craker non può riuscire a penetrare nel mio computer, oppure esiste qualche tecnica che permette di farlo?
In altre parole, per penetrare in un computer è necessario sfruttare la falla di qualche servizio server e non ci sono altri modi.
Se questa affermazione è vera, l' uso del firewall potrebbe risultare poco utile in certi casi, che ne pensate?

Grazie, ciao!

Br14n^
19-03-2005, 13:00
Allora il protocolo tcp/ip in realtà sono due protocolli distinti: tcp e ip. Ora ti spiego. Solitamente la cosa funziona così il pacchetto viene formattato secondo il protocollo tcp e poi incapsulato in un pacchetto ip. Ora nn ricordo se anche l'udp viene incapsulato in un pacchetto ip, ma penso di si però controlla. Cmq tcp e udp sono due protocolli differenti anche se appartengono allo stesso layer, così come tcp udp e ip sono tre cose differenti, anche se il protocollo ip appartiene ad un altro layer.
Per quanto riguarda i dns, è ovvio che se configuri iptables per bloccare tutto il traffico udp, il tuo pc nn potrà comunicare con i server dns. quindi se proprio vuoi bloccare sblocca almeno le comunicazioni in entrata e in uscita provenienti e e destinate alla porta 53 di un server remoto.
Per quanto riguarda il traffico web è lo stesso. Puoi dire di lasciar passare i pacchetti in uscita destinato alla porta 80 e in paccehtti in entrata proveniente dalla porta 80. In ogni caso penso che ti basti stare attento ai servizi che mostri all'esterno e semmai chiudere le porte, tramite firewall, di quei servizi che nn vuoi che vengano visti dall'esterno. Usa nmap per farti un port scan oppure netstat per vedere che porte stanno in ascolto. Di solito si entra in un sistema sfruttando le falle di qualche servizio. Certo potrebbero anche sfruttare una qualche falla del tuo browser e farti aprire una pagina web fatta ad hoc.

trillullero
23-03-2005, 18:34
FUNZIONA: ECCO IL MIO CODICE:

#!/bin/bash
#FIREWALL

#resetto tutto per sicurezza
iptables -F

#chiudo tutto il traffico in entrata
iptables -P INPUT DROP

#abilito in entrata solo i pacchetti che arrivano dalla porta 80
iptables -A INPUT --protocol tcp --source-port 80 -j ACCEPT
iptables -A INPUT --protocol udp --source-port 53 -j ACCEPT

--------------------------
PROBLEMA:
Leggendo il manuale di iptables, leggo che si possono definire più porte per ogni istruzione --source-port es:
--source-port 80,22,25
ma se lo faccio ricevo errore.
Ho provato ad usare il ; al posto della , ad usare gli spazi i : ma niente da fare.
ora ne avrei bisogno perchè allo stesso modo del serizio http volgio attivare quello di posta.
provate ad aggiungere ad le porte smtp e pop3 (si possono scrivere anche in lettere in base al file /etc/services) e sappiatemi dire come avete fatto !!!!!!!!!!

Ciao!

maxgrante
23-03-2005, 18:47
In alternativa puoi aprire tutto il traffico in uscita (cosa che tu già fai) e permettere tutto il traffico in entrata relazionato a traffico in uscita.
Questo si fa così:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Con questo puoi permetterti di non mettere regole di INPUT che permettano accessi dalle porte 53 e 80 di server esterni.

Ciao. Max

trillullero
24-03-2005, 11:12
Ineressante, proverò, però la mia domanda resta irrisolta.
Qualcuno ha qualche idea ?

Loading