[Lugge] Re: Convertire TeX in html

  • From: lucas <lgk27@xxxxxxxxx>
  • To: lugge@xxxxxxxxxxxxx
  • Date: Wed, 31 Oct 2001 20:17:02 +0100

At 11.50 31/10/01 +0100, you wrote:
>A quanto so io, latex2html imbroglia un po': genera delle immagini
>quando ci sono le formule.

Ho scaricato tth e l'ho installato. Funziona abbastanza bene. Cioe:
mi fa un po di pasticci con l'intestazione html e con le tabelle.
C'e un file in allegato; al punto( 1.1.2 Come passano i pacchetti attraverso i 
filtri)
ho utilizzato una tabella come elenco con margini definiti. e mi ha fatto quel 
che si vede.
La mia domanda e' la seguente:
una volta convertito un file .tex in html, va bene cosi o  bisogna metterci le 
mani per sistemare un po le cose?


Ciao luca
---------------
allegati:
due file uno .tex ed un'altro .html
-----------------------

-- Binary/unsupported file stripped by Listar --
-- Type: application/octet-stream
-- File: IPCHAINS.TEX


-- HTML Attachment decoded to text by Listar --
-- File: ipchains.html

 DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd";> A4



A4 



\textbf{ Ipchains.} \\ \begin{normalsize}Vers. 1.0\end{normalsize}

Ipchains. 
Vers. 1.0 

Powered by 





Contents 1  Descrizione funzionamento[1]
    1.1  Concetti fondamentali[2]
        1.1.1  Input, output e foward[3]
        1.1.2  Come passano i pacchetti attraverso i filtri.[4]
        1.1.3  L' ordine nelle catene.[5]
        1.1.4  Le tre regole[6]
    1.2  Regole.[7]
        1.2.1  Costruire una regola[8]
        1.2.2  Cancellare una regola[9]
        1.2.3  Opzioni per le regole[10]
    1.3  Specificare il filtraggio.[11]
        1.3.1  Ehi!! Da dove e'arrivato sto pacchetto?[12]
        1.3.2  Che protocollo ha utilizzato il pacchetto?[13]
        1.3.3  Su quale porta e' diretto il pacchetto[14]
        1.3.4  E se il pacchetto e' un messaggio di controllo?[15]
        1.3.5  Da quale interfaccia e' passato il pacchetto.[16]
        1.3.6  Ah ah! Qualcuno cerca di instaurare una connessione sul mio
pc.....Cosa!!![17]
        1.3.7  Ma i frammenti....come vengono gestiti?[18]
2  Esempi di configurazione[19]






Introduzione Viene descritto il pacchetto Ipchains dall'installazione alla
configurazione piu' alcuni trucchetti carini 

1  Descrizione funzionamento 

1.1  Concetti fondamentali 



E' bene chiarire alcune cose su ipchains prima di iniziare: 


  
  
  * che i pacchetti sono analizzati nel Kernel 
  
  
  *  come funzione ipchains in generale 
  
  
  * catene predefinite e funzionamento di default 


SCHEMA GENERALE 

Il kernel parte con tre elenchi di regole:input, output, foward. 

E' facoltà di ogni catena rifiutare un pacchetto. Le catene sono collegate
incascata input -&#62; foward -&#62; output,1[20]tutti i pacchetti eccetto
quelli che ritornano da una precedente mascheratura DEVONO per forza
attaversare la catena di input. Qualsiasi pacchetto prima di entrare nella
catena di input subisce due controlli per verificarne la sua integrita': se
il pacchetto risulta compromesso non entrerà mai nella catena di input. 

I controlli che vengono fatti sul pacchetto sono: 


* controllo della cecksum; 


* controllo della sanita' del pacchetto. 

1.1.1  Input, output e foward 



I controlli vengono fatti all'inteno del kernel, ed e' necessario chiarire
subito che le catene di input, output e foward si riferiscono ai pacchetti
che entrano ed escono dal kernel e NON a quelli che entrano ed escono dalla
macchina. Quindi la catena 'input' indica tutti i pacchetti che entrano nel
kernel: sia che essi provengano dalla macchina locale sia che essi
provenganodalla rete passeranno SEMPRE E COMUNQUE dalla catena di input. 

Possiamo dire che la catena di input (come si può vedere dalla figura
precedente) e' UN PASSO OBBLIGATORIO per ogni pacchetto. 

E' DUNQUE ERRATO FARE QUESTA ASSOCIAZIONE: 



catena di input = pacchetti provenienti dalla rete catena di output =
pacchetti diretti verso la rete 



Da quanto appena detto non sembra possibile distinguere i pacchetti
provenienti dalla rete dai pacchetti diretti verso la rete. In realtà la
distinzione è possibile sia specificando il tipo di interfaccia di rete e
siautilizzando la destinazione/provenienza con l'indirizzo IP2[21] . 1.1.2 
Come passano i pacchetti attraverso i filtri. Per evitare di sbagliare
scoppiazzo allegramente la descrizione sia sul percoso del pacchetto che
della descrizione dei blocchi dall'autore dell' hotow su ipchains. Egli non
me ne voglia la mia è solo un tentativo per non ingenerare confusione 



Il kernel parte con tre elenchi di regole; questi elenchi sono detti
firewallchains (catene di firewall) o semplicemente chains (catene). Le tre
catene predefinite sono chiamate rispettivamente input (ingresso), output
(uscita) e foward (inoltro). Quando arriva un pacchetto (supponiamo
attravesola scheda ethernet) il kernel usa la carena di input per decidere
ilsuo destino. Se soppravvive a quel passo, allora il kernel decide dove
mandare successivamente il pacchetto (ciò è detto routing instradamento). Se
è destinato ad un'altra macchina, consulta la catena foward. Alla fine,
appena prima che il pacchetto esca, il kernel consulta la catena output. 

Una catena è una lista di regole. Ogni regola dice <<se l'intestazione dek
pacchetto è fatta cosi', allora questo e' quello che si deve fare con il
pacchetto&#62;&#62;. Se il pacchetto non soddisfa (verifica) una regola,
allora viene consultata la successiva regola nella catena. Alla fine, se non
ci sono altre regole da consultare il kernel guarda la policy (tattica)
dellacatena per decidere che cosa fare. In un sistema conscio delle
problematiche di sicurezza, questa tattica dice al kernel se rifiutare o
proibire il pacchetto. 



Checksum Questo è il test per verificare che il pacchetto non sia in qualche
modo corrotto. Se lo e',viene rifiutato Sanity In reata' c'è una verifica di
integrita' del pacchetto prima di ogni catena firewall, ma quello della
catena input è il piu' importante. Alcuni pacchetti malformati possono
confondere il codice per il controllo delle regole, quindi sono qui
rifiutati( se cio' avviene è stampato un messaggio nel syslog). Input chain
E' la prima catena firewall contro la quale viene testato il pacchetto. Se
ilverdetto della catena non e' DENY o REIECT, il pacchetto prosegue.
Demasquerade Se il pacchetto e' una risposta (reply) ad un precedente
pacchetto " mascherato", e' demascherato e passa direttamente alla catena
output (Questo e' l'unico caso in cui pacchetto salta la catena foward).
Routing Decision Il codice di instradamento esamina il campo di destinazione
per decidere se questo pacchetto deve andare o meno ad un processo locale
(sivedaa Local process quì sotto) o inoltrato a una macchina remota ( si
vedafoward più avanti). Local process Un processo in esecuzione sulla
macchina può ricevere pacchetti dopo il passo di routing decision, e può
inviare pacchetti (che passano per il passo Routing Decision), e poi
attraversano la catena output. lo interface Se i pacchetti provenienti da un
processo locale sono destinati a un processo locale, attraverseranno la
catena output con il campo di interfaccia impostato a 'lo', e poi
ritorneranno attraverso la catena input sempre con interfaccia impostato a
'lo'. L'interfaccia 'lo' e' solitamente chiamata interfaccia loopback. local
Se il pacchetto non era stato creato da un processo locale, allora viene
esaminato la catena foward, altrimenti il pacchetto va verso la catena
output. foward chain Questa catena e' attrversata da qualsiasi pacchetto un
attino prima di essere spedito fuori. 









1.1.3  L' ordine nelle catene. 
  
  
  * Ipchains controlla per ogni catena tutte le regole presenti al suo
interno. 
  
  
  * Se una regola viene soddisfatta allora viene eseguito il suo obbiettivo.
(-j) e poi continua la lettura delle altre regole presenti nella catena. 
  
  
  *  Giunto alla fine di una catena possono essere successe due cose: 
    
    
    * Il pacchetto ha soddisfatto una o piu' regole 
  
  
  * Il pacchetto non ha soddifatto nessuna regola Nel primo caso: 
  
  Queste regole avranno eseguito degli obbiettivi (-j) che possono aver
ancherifiutato il pacchetto od averlo inoltrato alle altre catene. Nel
secondo caso il pacchetto non ha soddisfatto alcuna regola e sarà applicata
la tattica di default per quella catena 
  
  
  * Ogni catena ha una sua tattica di default3[22] ovvero attua un
comportamento predefinito su ogni pacchetto che non soddisfa nessuna regola
all' interno della propria catena. 
    
    I comportamenti predefiniti di default sono tutti DENY4[23] 
1.1.4  Le tre regole Le tre linee guida di Rusty al masqueraditing per una
connessione dial-up sono: 





1. ipchains -P foward DENY 2. ipchains -A foward -i ppp0 -j MASQ 3. echo 1
/proc/sys/net/ipv4/ip_foward Table 1: Rusty's Rules 



Questi tre comandi fanno quanto segue: 


  
  
  * si imposta il default per la catena foward a DENY, tutti i pacchetti che
non soddisferanno le regole della catena foward saranno rifiutati e non
proseguiranno attaverso le altre catene. 
  
  
  * tutti i pacchetti diretti in uscita verso l'interfaccio ppp0, saranno
mascherati. N.B.per la catena foward si considera come interfaccia quella
dalla quale i pacchetti escono. In questo caso -i indica i pacchetti che
escono da ppp0. 
  
  
  * Utilizza ipfowarding (un altro programma che gestisce il routing) per
inoltrare i pacchetti. 


1.2  Regole. 

Una regola indica che proprieta' deve avere un pacchetto; se queste
propieta'sono soddisfatte la regola eseguira' un obbiettivo oppure no. 

1.2.1  Costruire una regola 

ipchains -A input -s 127.0.0.1 -p icmp -j deny 



tutti i ping provenienti dall'interfaccia di loopback saranno rifiutati. 

E' stata aggiunta (-A) una regola che si riferisce a tutti i pacchetti di
tipo ICMP (-p icmp) provenienti dalla macchina locale5[24](-s 127.0.0.1). A
questi pacchetti non sara' permesso di passare (-j DENY). 


In breve: 




* viene definita una regola: 

input -s 127.0.0.1 -p icmp 

tutti i pacchetti provenienti dal localhost e di tipo ICMP. 


* La regola viene aggiunta alla catena di input (-A) 


* Se la regola viene soddisfatta sara' esegiuto un obbiettivo -j DENY e
cioe'rifiutare il pacchetto. 


* altrimenti verra' eseguita la policy (tattica) predefinita per la catena
input che dovrebbe essere ACCEPT6[25] 



STRUTTURA DI UNA REGOLA: questa e' la regola |-------------------------|
ipchains -A input s-127.0.0.1 -p icmp -j DENY |__| |_________| | | v v
azionesulla regola l'obbiettivo Figure 1: Struttura di una regola 

1.2.2  Cancellare una regola 



ipchains -D input 1 

cancella la prima regola nella catena di input. Oppure si puo' ridigitare la
regola, sostituendo il comando -A con -D. 



ipchains -D input -s 127.0.0.1 -p icmp -j DENY 



se ci sono due regole uquali viene cancellata la prima regola. 

1.2.3  Opzioni per le regole 

Questo e' un elenco delle opzioni per agire sulle catene: 



-N crea una nuova catena; -X cancella una catena vuota; -P cambiare tattica
di default 



1.3  Specificare il filtraggio. 

Questa sezione si occupa di descrivere la realizzazione delle regole in base
all'indirizzo, all'interfaccia utilizzata considerando anche i messaggi icmp
e descrivendo come ' forzare un tipo di servizio'. 

1.3.1  Ehi!! Da dove e'arrivato sto pacchetto? 



Specificare un indirizzo di provenienza o di destinazione. 



Si deve specificare sia la provenienza del pacchetto che l'indirizzo del
pacchetto 



Specificare la Sorgente Destinazione Specificare un Indirizzo -d indirizzo
didestinazione Nome -s indirizzo di sorgente Indirizzo IP Gruppo di
indirizzi



Ecco alcuni esempi: 


  
  
  * -{s|} www.pippo.bat 
  
  
  * -{s|d} 10.5.4.7 
  
  
  * -{s|d} 192.168.10.0/255.255.255.0 
  
  N.B. in questo caso e' indicato l'indirizzo di una rete ed la sua netmask 
  
  oppure si puo' indicare la sottorete utilizzando i bit validi: 
  
  -{s|d} 192.168.10.0/24 
  
  cosi' vengono consigerati a 1 i primi 24 bit da sinistra


ES. 

192.168.10.0 / 255.255.255.128 == 192.168.10.0/25 

ove: 

255.255.255.128 E' in bit: 

255.255.255.10000000 

8+8+8+1=25 

Operatore di negazione. Molto utile e' l'operatore di negazione !. Nel
nostrocaso lo applichiamo all'indirizzo di provenienza/destinazione: 



-d ! localhost tutti i pacchetti che non sono destinati o provenienti al
localhost 

1.3.2  Che protocollo ha utilizzato il pacchetto? 



Specificare un protocollo. 



-p tipo_di_protocollo 



mi permette di specificare il protocollo che direttamente incapsulato
datagramma IP; posso utilizzare il nome del protocollo (tcp, udp, icmp)
oppure il numero di protocollo. 

Anche in questo caso e' consentito l'utilizzo dell'operatore '!' di
negazione: 



-p !tcp tutti i protocolli che non sono tcp 

ES. 

-d 0.0.0.0 -p icmp 

questa regola specifica tutti i pacchetti provenienti da qualsiasi macchina
(anche la propria) e che siano di tipo icmp. 

E' possibile voler contare tutti i pacchetti di controllo (icmp) che
giungonoalla nostra macchina; basta mare una piccola modifica alla regola
precedente 



-d! 127.0.0.1 -p icmp 



verranno contati tutti i pacchetti di controllo inviati alla nostra macchina
locale 

1.3.3  Su quale porta e' diretto il pacchetto 



Specificare una porta TCP o UDP 



E' possibile specificare le porte utilizzate dai protocolli TCP e
UDP:(0-655355); specificando: una singola porta , un intervallo di porte
oppure un nome per la porta (ad esempio port 80 = www). Il concetto di porta
esiste soltanto per i protocolli di trasporto informazioni TCP e UDP ed e'
associata sempre ad un indirizzo IP. 

Per definire una porta e' necessario un indirizzo e quindi si deve
utilizzareil flag -{s|d} 



-{s|d} indirizzo:numero_di_porta 



ES. 


  
  
  * -p tcp -s 192.168.10.5 1500:1520 La regola avra' effetto su tutti i
pacchetti provenienti dalle porte com- prese tra 1500 e 1520 di 192.168.10.5

  
  
  * - p tcp -d 192.168.100.3 1500: La regola avra' effetto su tutti i
pacchetti diretti alle porte da 1500 (compresa) in poi di 192.168.100.3 
  
  
  * -p tcp -d 192.168.45.4 www la regola avra' effetto su tutti i pacchetti
diretti alla porta www (80) di 192.168.45.4 
  
  
  * -p tcp 0.0.0.0/0 !www questa regola sara' applicata a tutti i pacchetti
in arrivo di tipo tcp esclusi quelli destinati alla porta 80. 




Esempio importante. 

Analizziamo adesso, le seguenti tre regole: 




* -p tcp ! 192.168.1.1 www 


* -p tcp 192.168.1.1 !www 


* -p tcp ! 192.168.1.1 !www 

Nel primo caso tutti i pacchetti di tipo tcp verso la porta www di qualsiasi
macchina tranne la 192.168.1.1 

Nel secondo caso tutti i pacchetti verso qualsiasi porta della 192.168.1.1
tranne la porta www. 

Infine nel terzo caso tutti i pacchetti che non sono dieretti sia alla porta
www e sia alla macchina 192.168.1. 



FAQ: In che modo lavora l'operatore di negazione !? 




  
  
  * -d !(192.168.1.1 gr) www 
  
  
  * -d !(192.168.1.1 www) 
In base agli esempi sopra riportati posso pensare che l'operatore ! lavori
solo sul primo elemento alla sua destra; se cosi' non fosse non sarebbe
statonecessario specificare il terzo caso, quello con due negazioni.
ATTENZIONE pero'......... secondo me, la 3 regola e' molto ampia: qualsiasi
pacchetto che non sia diretto a 192... ma anche verso tutte le poste www. 



Ricorda che una una connessione C e' una coppia indirizzo:porta: 



C(ind,p) 



Se mi riferisco ad una sola macchina questa coppia e' un and tra quella
macchina e su quella porta. e se considero tutte le macchine tranne la
192.168.1.1 avro' n-1 macchine sulla www. 

Tornando al nostro esempio nel primo caso considero tutte le n-1macchine;nel
terzo caso considero le n-1 macchine e le loro m-1 porte. 



La prima regola : 



-p tcp -d !192.168.1.1 www 



sara' applicata quando una connessione andra' su una qualsiasi macchina,
tranne la 192.168.1. sulla porta www. 



La terza regola: 



-p tcp -d!192.168.1.1 !www" 



sara' applicata su qualsiasi macchina (tranne la 192.168.1.1 e su qualsiasi
porta (tranne la 80) di queste macchine. 



1.3.4  E se il pacchetto e' un messaggio di controllo? 

Messaggi ICMP. 

L' ICMP7[26] non utilizza il concetto di porta; egli e' incapsulato
direttamente nel datagramma IP e non utilizza i protocolli di trasposto TCP
oUDP. Ai messaggi ICMP e' assegnato un tipo che puo' essere specificato sia
con un codice che con un nome, all'utente la scelta se utilizzare uno o
l'altro. L' ICMP e' quindi un protocollo e viene utilizzato il flag -p. 



Prima di tutto: 




  
  
  * NON USARE MAI l'0peratore di negazione ! 
  
  
  * NON BLOCCARE MAI i messaggi di tipo 3. 






Numero Nome Richiesto da 0 echo-reply ping 3 destination-unreacheable
qualsiasi traffico TCP UDP 5 redirect instradamento se non gira il demone
perl'intradamento 8 echo-request ping 11 time-execeeded traceroute 

Table 2: Codici ICMP 

1.3.5  Da quale interfaccia e' passato il pacchetto. 

Specificare un'interfaccia 

Per specificare un'interfaccia si utilizza il flag -iche indica una
qualsiasiinterfaccia di rete, sia essa una scheda Ethernet che un modem
connesso ad una seriale (pppX) 



-i nome_dell'intefaccia 




  
  
  * L'interfaccia e' il dispositivo fisico ove entra od esce il pacchetto. 
  
  
  * E' lecito specificare una interfaccia che al momento non esiste. 
  
  
  * Un nome di interfaccia che termina con + indica tutte le interfacce che
iniziano con quel nome: 
      
      
      * -i ppp+ 
      
      indica tutte le interfacce che iniziano con ppp 
  
  
  
  * E' supportato l'operatore di negazione !: 
      
      
      * -i!ppp0 
      
      tutte le interfacce eccetto la ppp0 
  




Interfacce di ingresso e di uscita Quando una regola, si riferisce ad una
interfaccia come si fa a sapere se sono considerati i pacchetti in ingresso
oquelli in uscita? 

Prendiamo la sequente regola: 



ipchains -A input -i ppp0 -j DENY 



tutti i pacchetti in ingresso dalla interfaccio ppp0 saranno rifiutati.
L'interfaccia e' ppp0 e i pacchetti considerati sono quelli che entrano
dall'interfaccia. Se avessi avuto: 



ipchains -A output -i ppp0 -j DENY 



L'interfaccia e' sempre ppp0 ma i pacchetti considerati sono quelli che
escono dall'interfaccia. 



In breve possiamo dire8[27] che i pacchetti sono considerati entranti od
uscenti a seconda della catena alla quale si riferisce la regola: 


  
  
  * Se la catena e' la input vengono considerati i pacchetti che entrano da
quella interfaccia. 
  
  
  * Se la catena e' la output vengono considerati i pacchetti che escono da
quella interfaccia. 
  
  
  * Se la catena e' la foward vengono considerati i pacchetti che escono da
quella interfaccia. 
Il comportamento per le catene output e foward e'identico 





Catena Pacchetti sulla ppp0 input Pacchetti che entrano dalla ppp0 output
Pacchetti che escono dalla ppp0 foward Pacchetti che escono dalla ppp0 

Table 3: Intefacce catene. 

1.3.6  Ah ah! Qualcuno cerca di instaurare una connessione sul mio
pc.....Cosa!!! 

Bloccare i pacchetti di tipo SYNC. 



-y 



Per evitare che chiunque possa connettersi sul mio computer potrei bloccare
tutti i pacchetti in ingresso che provengono, ad esempio, dalla mia
connessione dial-up. Con questa semplice regola: 



ipchains -A input -i pp0 -j DENY9[28] 



posso bloccare tutti i pacchetti che entrano dalla mia 'interfaccia di
rete'.Purtroppo in questo modo ho bloccato anche tutti i pacchetti che
ritornano alla mia macchina per una mia richiesta. Se si e' connessi
all'indirizzo www.trova.it il server web inviera' la pagina che ho
richiesto;purtroppo questa pagina sara' un insieme di pacchetti che
entreranno dalla mia connessione dial-up e la regola le blocchera'. 

Sorge la necessita di distinguere le connessioni in base al loro tipo.
Quandoio eseguo una richiesta ad un server web, eseguo una richiesta di
connessione.In breve: 


  
  
  * La mia richiesta è una apertura attiva perchè chiedo al server di
iniziare una connessione; 
  
  
  * il server riceve dalla mia macchina la richiesta di connessione, la
accetta10[29] ed esegue una apertura passiva. 
  
  
  * ora e' possibile il transito delle informazioni. 


Tutte Le richieste di connessione (aperture attive) hanno il flag sync
attivato, basta quindi bloccare tutti i pachetti di tipo sync. 

L' apertura attiva e successivamente l'apertura passiva si verificano solo
una volta per ogni connessione e servono solo per instaurarla. 





Una apertura attiva== richiesta di connessione una apertura passiva==
accettazione di una connessione Table 4: Tabella sync 





Ad esempio: 



-p tcp -s 192.168.1.1 -y 



tutte le richieste di connessione provenienti dalla macchina 192.168.1.1
saranno bloccate. Ma non saranno bloccati tutti i pacchetti che ritornano
alla mia macchina per una mia richiesta di connessione a 192.168.1.1. 

L'operatore di negazione e' supportato: 



-p tcp -s 192.168.1.1 -!y 



saranno accettate solo le richieste di connessione da parte di 192.168.1.1 

1.3.7  Ma i frammenti....come vengono gestiti? 

In alcuni casi e' necessario che ipchains osservi l'intestazione del primo
pacchetto. Quando ipchains controlla un pacchetto legge le informazioni
contenute negli header IP ; in questa parte sono contenute le informazioni
di: provenienza,destinazione,porte utilizzate , protocollo ed altre cose.
Nelcaso di frammentazione11[30]queste informazioni sono presenti solo nel
primo pacchetto, come ad esempio le informazioni sulla porta di provenienza
edi destinazione. I successivi pacchetti mantengono l'indirizzo di
provenienza e di destinazione del primo pacchetto ma non contengono le
informazioni, ad esempio, sulla porta di provenienza e su quella di
destinazione. Possiedono invece un numero di identificazione ed un numero
progressivo che permetteranno di ricostruire il pacchetto quando sara'
arrivato a destinazione. 

Sorge spontanea la seguente domanda: 

Come vengono gestiti i frammenti da ipchains ? 

Partendo dal fatto che: qualsiasi regola che richieda informazioni che non
sihanno non sara' soddisfatta succede quanto segue: 


  
  
  * Il primo frammento verrà analizzato in quanto nella sua intestazione
contiene tutte le informazioni 
  
  
  * Il secondo ed i successivi non saranno considerati in quanto il kernel
siaccorge che sono dei frammenti. 
    
    Quando in una catena nessuna regola viene soddisfatta viene applicata la
tattica di default Vedi Sez. 1.1.3[31] pag.pageref[32] L'ordine nelle catene



ENTRAMBI I METODI SONO CONSIDERATI VALIDI 

Quindi la regola: 



-p tcp -s 192.168.1.1 www 



nel caso di frammenti sara' soddisfatta solo per il primo frammento e tutti
gli altri saranno ignorati.Che cosa si deve fare per ottenere che la
macchinaelimini anche gli altri pacchetti successivi al primo? 

Le soluzioni possibili sono due: 




* Se la vostra macchina e' la sola che si connette ad internet e' sufficente
ricompilare il kernel12[33] impostando l'opzione IP: always defragment=yes. 


* Se la vostra macchina non e' la sola che si connette ad internet, ed in
particolare, e utilizzata come router da altre macchine13[34] e' meglio
utilizzare l'opzione -f che applica la regola anche ai frammenti. 

E' naturale che non si ptranno specificare : 



- porte TCP o UDP; 

- messaggi ICMP 



La regola: 



-p tcp -s 192.168.1.1 !www 



non potra' mai essere soddisfatta da un frammento a parte il primo. Vediamo
un esempio di una regola che agisce sui frammenti: 



ipchains -A output -f -d 192.168.1.1 -j DENY 



tutti i frammenti verso 192,168.1.1 saranno rifiutati. 



Eliminando, in una serie di frammenti, il primo, non sara' possibile
ricostruire il pacchetto. Quindi in teoria non sarebbe' necessario: ne
abilitare l'opzione always fragment=yes ne utilizzare il flag -y; esiste
comungue la possibilita' che il sistema si inchiodi se gli arrivano dei
pacchetti malformati14[35]. 

Inoltre,basta ricordare che se all'interno di una qualsiasi catena nessuna
regola viene soddisfatta allora viene applicata la tattica(policy di
default;questo vale per ogni pacchetto e quindi anche per i frammenti. Basta
dunque impostare la tattica di default a DENY 



ipchains -P input DENY 



ed o risolto il problema senza aver utilizzato nessuna delle due soluzioni
precedentemente esposte. 



Opzione Modo IP :always defragment=y ricompilando il kernel opzione file-y
gestisce i frammenti dopo il primo ipchains -P input DENY Imposta la tattica
di default a DENY Table 5: Modi per gestire i frammenti 

2  Esempi di configurazione 


----------------------------------------------------------------------------
Footnotes: 

1[36]Non e' del tutto vero, come verrà spiegato piu' avanti.Per il momento
accontentiamoci di questa affermazione al solo scopo disemplificare l'
esposizione 

2[37]Ne parleremo più avanti quando descriveremo tutti i flag per creare le
regole in base alla provenienza o destinazione del pacchetto. 

3[38]Vefremo piu' avanti con degli esempi che cosa significa impostare una
tattica (policy) di default 

4[39]NON CREDO PROPRIO 

5[40]Piu' esattamente: provenienti dall'interfaccia della macchina locale 

6[41]Non ne sono sicuro 

7[42]Internet Control Message Protocol 

8[43]Con una certa approssimazione e comunque come asserzione discutibile 

9[44]Questa l'ho scritta io!!!! Non garantisco la veridicita! Se il Vs Pc
salta......zzi ...ostri 

10[45]Si spera sempre di si! 

11[46]e sicuramente succedera', perche' e impossibile che tutti i pacchetti
vi arrivino senza essere mai stati frammentati 

12[47]N.B. Ricompilare il kernel, non ipchains 

13[48]In posche parole: non e' un nodo terminale ma un punto di transito 

14[49]Pur essendoci due controlli sulla sanita' del pacchetto prima di
entrare nella catena di input 


----------------------------------------------------------------------------
File translated from TEX by TTH[50], version 3.02.
On 31 Oct 2001, 20:03. 

--- Links ---
   1 #tth_sEc1
   2 #tth_sEc1.1
   3 #tth_sEc1.1.1
   4 #tth_sEc1.1.2
   5 #tth_sEc1.1.3
   6 #tth_sEc1.1.4
   7 #tth_sEc1.2
   8 #tth_sEc1.2.1
   9 #tth_sEc1.2.2
  10 #tth_sEc1.2.3
  11 #tth_sEc1.3
  12 #tth_sEc1.3.1
  13 #tth_sEc1.3.2
  14 #tth_sEc1.3.3
  15 #tth_sEc1.3.4
  16 #tth_sEc1.3.5
  17 #tth_sEc1.3.6
  18 #tth_sEc1.3.7
  19 #tth_sEc2
  20 #tthFtNtAAB
  21 #tthFtNtAAC
  22 #tthFtNtAAD
  23 #tthFtNtAAE
  24 #tthFtNtAAF
  25 #tthFtNtAAG
  26 #tthFtNtAAH
  27 #tthFtNtAAI
  28 #tthFtNtAAJ
  29 #tthFtNtABA
  30 #tthFtNtABB
  31 #tattica
  32 #tattica
  33 #tthFtNtABC
  34 #tthFtNtABD
  35 #tthFtNtABE
  36 #tthFrefAAB
  37 #tthFrefAAC
  38 #tthFrefAAD
  39 #tthFrefAAE
  40 #tthFrefAAF
  41 #tthFrefAAG
  42 #tthFrefAAH
  43 #tthFrefAAI
  44 #tthFrefAAJ
  45 #tthFrefABA
  46 #tthFrefABB
  47 #tthFrefABC
  48 #tthFrefABD
  49 #tthFrefABE
  50 http://hutchinson.belmont.ma.us/tth/

<========----------
 Prima di scrivere in m-list per favore leggi il regolamento
 http://lugge.ziobudda.net/benvenuto.html



Other related posts: