- 1. Filtraggio dei pacchetti su Linux
- 2. Visualizza lo stato del firewall
- 3. Arresta, riavvia o avvia iptables su Linux
- 4. Aggiungi nuove regole firewall in Linux
- 5. Elimina una regola firewall su Linux
- 6. Archivia e ripristina le regole di iptables su Linux
- 7. Imposta le regole predefinite in Linux
- 8. Blocca un indirizzo IP in Linux
- 9. Blocca le richieste di porte in entrata su Linux
- 10. Se consentire o meno il traffico di rete utilizzando l'indirizzo MAC in Linux
- 11. Blocca o consenti le richieste ICMP su Linux
- 12. Apri una gamma di porte e indirizzi IP in Linux
- 13. Limita il numero di connessioni parallele a un server per IP client su Linux
- 14. Limita il numero di connessioni parallele a un server per IP client su Linux
- 15. Cancella le regole NAT su Linux
- 16. Ripristina i contatori dei pacchetti in Linux
- 17. Convalida il firewall su Linux
- 18. Consenti l'accesso al loop con iptables su Linux
- 19. Definisci nuove stringhe iptables su Linux
- 20. Cancella le catene o le regole del firewall iptables su Linux
La sicurezza deve essere sempre una delle premesse su cui devono operare amministratori, personale direttivo e di supporto e, in generale, tutti gli utenti di qualsiasi sistema operativo attuale a causa delle molteplici minacce che sono presenti sulla rete.
Nel caso delle distribuzioni Linux, la maggior parte di esse dispone degli strumenti avanzati per applicare un filtro ai pacchetti di rete sia a livello di elaborazione del controllo dei pacchetti di rete in ingresso, movimento, controllo e uscita dello stack.reti all'interno del kernel del sistema utilizzato , quindi, a partire dal kernel 2.4, sono stati introdotti iptables, che vengono anche chiamati netfilter e questi hanno un livello di sicurezza più elevato e funzionalità pratiche per la protezione del sistema.
iptables gestisce il filtraggio IPv4 mentre ip6tables gestisce il filtraggio IPv6 sulle reti odierne.
Solvetic farà un'analisi su come funziona iptables e alcuni dei comandi più pratici che possiamo trarre da esso.
1. Filtraggio dei pacchetti su Linux
Il kernel delle distribuzioni Linux utilizza lo strumento Netfilter per eseguire il processo di filtraggio dei pacchetti, e quindi svolgere i compiti di riceverli o interromperli.
Regole integrate in NetfilterNetfilter è incorporato di default nel kernel Linux e ha tre tabelle o elenchi di regole integrate in questo modo:
- filtro: fa riferimento alla tabella predefinita progettata per la gestione dei pacchetti.
- nat: la sua funzione è quella di alterare i pacchetti che sono stati creati in una nuova connessione utilizzati principalmente da NAT.
- mangle: il suo utilizzo si applica quando devono essere modificati pacchetti di rete specifici.
Ora, ogni tabella ha un gruppo di catene integrate relative alle azioni che possono essere eseguite da netfilter, queste sono:
Regole per le tabelle filtroLe stringhe integrate per la tabella dei filtri sono:
- INPUT: è relativo ai pacchetti che sono stati destinati all'host.
- OUTPUT: Funziona su pacchetti di rete che sono stati generati localmente.
- FORWARD: Associa i pacchetti che sono stati instradati attraverso l'host principale.
Regole per i tavoli natLe stringhe integrate per la tabella nat sono:
- PREROUTING: La sua funzione è quella di alterare i pacchetti di rete non appena arrivano.
- OUTPUT: è stato progettato per alterare i pacchetti di rete che vengono creati localmente e vengono attivati prima di essere inviati.
- POSTROUTING: Creato per alterare i pacchi prima di essere spediti globalmente.
Regole per le tavole di mangrovieLe catene integrate per il tavolo di mangrovie sono:
- INPUT: Progettato per modificare i pacchetti di rete destinati all'host principale.
- OUTPUT: Creato per alterare i pacchetti di rete creati localmente e funziona prima che vengano inviati.
- FORWARD: altera i pacchetti che sono stati instradati attraverso l'host principale.
- PREROUTING: il tuo compito è modificare i pacchetti in entrata prima che vengano instradati.
- POSTROUTING: altera i pacchetti di rete prima che avvenga il processo di invio.
Ogni pacchetto di rete ricevuto o inviato dal sistema operativo Linux è sempre legato ad almeno una tabella. Ora, capiamo alcuni dei comandi più utili che possiamo usare con iptables.
2. Visualizza lo stato del firewall
Passo 1
Per conoscere lo stato attuale del firewall eseguiamo la seguente riga:
sudo iptables -L -n -v
INGRANDIRE
Passo 2
Lì possiamo convalidare ogni catena con i suoi rispettivi livelli di pacchetti gestiti, i parametri utilizzati in questo comando sono:
-LVisualizza le regole dell'elenco.
-vGenera informazioni dettagliate come il nome dell'interfaccia, oltre alle opzioni delle regole, oltre ai contatori di pacchetti e byte, con il suffisso 'K', 'M' o 'G' rispettivamente per le opzioni di 1000, 1.000.000 e 1.000.000.000.
-nVisualizza l'indirizzo IP e la porta in formato numerico.
Passaggio 3
Se lo desideri, vedi questo risultato con il numero di righe, possiamo eseguire quanto segue:
iptables -n -L -v --numeri-riga
INGRANDIRE
3. Arresta, riavvia o avvia iptables su Linux
Passo 1
I comandi principali per gestire le attività di iptables a livello di avvio o arresto sono:
servizio iptables interrompi il servizio iptables avvia il servizio iptables riavviaPasso 2
Sarà inoltre possibile utilizzare il comando iptables per fermare il firewall ed eliminare tutte le regole così:
iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INGRESSO ACCETTA iptables -P USCITA ACCETTA iptables -P AVANTI ACCETTAPassaggio 3
I parametri definiti sono:
-FRimuovi tutte le regole.
-XElimina una stringa.
-Tnome_tabella: seleziona la tabella (denominata nat o mangle) ed elimina o scarta le regole.
-PImposta il criterio predefinito come DROP, REJECT o ACCEPT.
4. Aggiungi nuove regole firewall in Linux
Passo 1
Uno dei compiti più pratici di iptables è creare determinate regole per la corretta gestione dei pacchetti, per inserire una o più regole nella catena selezionata utilizzeremo la seguente sintassi dove prima devono essere scoperti i numeri di riga:
iptables -L INPUT -n --line-numbersPasso 2
ad esempio, aggiungiamo la seguente regola:
iptables -I INPUT 2 -s 192.168.0.50 -j DROPPassaggio 3
Successivamente, vedremo le regole utilizzando il comando sopra. Lì vediamo che la regola creata è stata aggiunta alla riga 3 come indicato.
INGRANDIRE
5. Elimina una regola firewall su Linux
Passo 1
Prima di tutto, dobbiamo visualizzare le regole che vengono create per determinare esattamente quale dovrebbe essere eliminata, per ottenere queste informazioni abbiamo le seguenti opzioni:
iptables -L INPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers | menoPasso 2
Ora, per eliminare la regola 3 creata in precedenza, eseguiremo quanto segue:
iptables -D INGRESSO 3
INGRANDIRE
6. Archivia e ripristina le regole di iptables su Linux
Passo 1
Ogni volta che apportiamo una modifica alle regole di iptables dobbiamo procedere al salvataggio di tali modifiche, per questo è sufficiente eseguire la seguente riga:
servizio iptables lo saPasso 2
Possiamo semplicemente ripristinare quelle regole che abbiamo memorizzato eseguendo quanto segue:
servizio iptables riavviato
7. Imposta le regole predefinite in Linux
Con iptables sarà possibile consentire o negare le regole predefinite che devono essere applicate a tutto il sistema nel modo seguente.
Passo 1
Per eliminare tutto il traffico eseguiamo:
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROPPasso 2
Per rimuovere tutto il traffico in entrata:
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m stato - NEW, ESTABLISHED -j ACCEPT
INGRANDIRE
8. Blocca un indirizzo IP in Linux
Con iptables sarà possibile bloccare un particolare indirizzo IP per impedirgli di avere accesso ai pacchetti di rete al sistema. Per questo compito abbiamo le seguenti opzioni:
iptables -A INPUT -s 192.168.0.14 -j DROP (IP specifico) iptables -A INPUT -s 192.168.0.0/24 -j DROP (intervallo di indirizzi)
9. Blocca le richieste di porte in entrata su Linux
Passo 1
Un altro tipico compito di sicurezza è limitare l'accesso ai pacchetti attraverso una porta specifica, con iptables abbiamo le seguenti opzioni:
Blocca tutte le azioniBlocca tutte le azioni per una porta specifica eseguendo:
iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Blocca una portaBlocca una porta per un indirizzo IP specifico:
iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP
Blocca indirizzo IP in uscita
È possibile bloccare il traffico in uscita verso un host o dominio specifico, ad esempio Solvetic.com, per questo eseguiamo quanto segue:
host -t su solvetic.com
INGRANDIRE
Passo 2
Ora, con questo indirizzo IP procediamo a bloccare:
iptables -A OUTPUT -d 178.33.118.246 -j DROPPassaggio 3
Sarà inoltre possibile bloccare l'intero dominio in questo modo:
iptables -A OUTPUT -p tcp -d www.solvetic.com -j DROP
10. Se consentire o meno il traffico di rete utilizzando l'indirizzo MAC in Linux
Un'altra possibilità da utilizzare è limitare o consentire l'uso di pacchetti in base all'indirizzo MAC del dispositivo selezionato. Per questo utilizzeremo una delle seguenti opzioni:
iptables -A INPUT -m mac --mac-source 00: 2F: EF: 85: 04: 09 -j DROP (Nega traffico dall'indirizzo MAC selezionato) iptables -A INPUT -p tcp --destination-port 22 - m mac --mac-source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Supporta i pacchetti dall'indirizzo indicato solo dalla porta 22)
11. Blocca o consenti le richieste ICMP su Linux
Il protocollo ICMP (Internet Control Message Protocol) è un protocollo sviluppato per gestire le informazioni relative agli errori nei computer della rete locale, in modo che con questo protocollo si possano effettuare richieste remote per verificare la disponibilità di un team e questo in termini di sicurezza può essere delicato .
Passo 1
Possiamo eseguire le seguenti righe per evitare richieste ICMP su Linux:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROPPasso 2
Le risposte al ping possono anche essere limitate a determinate reti o host come questo:
iptables -A INPUT -s 192.168.0.1/24 -p icmp --icmp-type echo-request -j ACCEPTPassaggio 3
Saremo in grado di accettare solo un tipo limitato di richieste ICMP come questa:
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destinazione-non raggiungibile -j ACCEPT iptables -A INPUT -p icmp --icmp-type time- superato -j ACCEPT
12. Apri una gamma di porte e indirizzi IP in Linux
Passo 1
Ciò è utile se è necessario abilitare un intervallo definito di porte per eseguire azioni amministrative o di esecuzione del programma:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000: 9020 -j ACCEPTCosì abbiamo aperto la gamma di porte da 9000 a 9020 per le connessioni TCP.
Passo 2
Un'altra alternativa è abilitare un intervallo di indirizzi IP impostando una porta specifica come questa. Lì abbiamo autorizzato questo intervallo a utilizzare la porta 80.
iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.0.70-192.168.0.80 -j ACCEPT
13. Limita il numero di connessioni parallele a un server per IP client su Linux
Passo 1
Possiamo usare il modulo connlimit per definire queste restrizioni, ad esempio, per consentire 5 connessioni ssh per client, inseriamo quanto segue:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT
INGRANDIRE
Passo 2
Per limitare l'accesso HTTP a 10:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 24 -j DROPPassaggio 3
Abbiamo indicato quanto segue:
- --connlimit-above 5: corrisponde se il numero di connessioni esistenti è maggiore di 5.
- --connlimit-mask 24: questi sono gli host del gruppo che utilizzano la lunghezza del prefisso. Per IPv4, deve essere un numero compreso tra (incluso) 0 e 32.
14. Limita il numero di connessioni parallele a un server per IP client su Linux
Passo 1
NAT (Network Address Translation) è un sistema per tradurre indirizzi di rete e quindi facilitare la navigazione. Per elencarli eseguiremo quanto segue:
iptables -t nat -L -n -v
INGRANDIRE
Passo 2
Sarà possibile vedere questo risultato con le rispettive righe così:
iptables -t nat -v -L -n --numero-riga
15. Cancella le regole NAT su Linux
Passo 1
Se vogliamo eliminare le regole NAT stabilite, eseguiremo quanto segue:
iptables -t nat -v -L -n --line-number iptables -t nat -v -L PREROUTING -n --line-number iptables -t nat -v -L POSTROUTING -n --line-numberPasso 2
Per eliminare tutte le regole "PREROUTING" eseguiamo la seguente sintassi:
iptables -t nat -D PREROUTING {Numero regola}Passaggio 3
Per eliminare tutte le regole "POSTROUTING" eseguiamo:
iptables -t nat -D POSTROUTING {numero regola}
16. Ripristina i contatori dei pacchetti in Linux
Per prima cosa, dobbiamo eseguire il comando "iptables -L -n -v", che abbiamo visto in precedenza, per elencare i contatori.
Passo 1
Per cancellare questi contatori, esegui quanto segue:
iptables -ZPasso 2
Per resettare i contatori di solo accesso eseguiamo:
iptables -Z INPUT
17. Convalida il firewall su Linux
Passo 1
Prima di tutto, dobbiamo convalidare se le porte sono aperte o meno con il seguente comando:
netstat -tulpn
INGRANDIRE
Passo 2
Per convalidare una porta specifica eseguiamo:
netstat -tulpn | grep: 80
INGRANDIRE
Passaggio 3
Nel caso in cui la porta non sia aperta eseguiamo:
servizio httpd startPassaggio 4
Quindi dobbiamo assicurarci che iptables abbia accesso attraverso quella porta:
iptables -L INPUT -v -n | grep 80
18. Consenti l'accesso al loop con iptables su Linux
L'accesso loopback il cui accesso proviene da IP 127.0.0.1 è importante e dovrebbe essere sempre lasciato attivo per le attività di amministrazione e gestione della rete. Per abilitarlo in iptables, esegui semplicemente quanto segue.
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
19. Definisci nuove stringhe iptables su Linux
Passo 1
Con iptables abbiamo la possibilità di definire la nostra catena e memorizzare regole personalizzate in essa. Per definire una catena, eseguiamo quanto segue:
iptables -N "Nome stringa"Passo 2
Quindi eseguiamo "iptables -L" per elencare le stringhe iptables:
INGRANDIRE
Passaggio 3
Nel risultato vedremo la nostra catena creata:
INGRANDIRE
20. Cancella le catene o le regole del firewall iptables su Linux
Per eseguire questa cancellazione dobbiamo eseguire quanto segue:
iptables -FCome possiamo vedere, iptables è una soluzione completa per gestire centralmente vari aspetti della sicurezza nelle distribuzioni Linux per ottenere miglioramenti in tutto ciò che riguarda la privacy.