Configurazione delle regole del firewall dall'interfaccia della riga di comando
Nota
Questo articolo è destinato solo a utenti esperti.
Queste istruzioni esamineranno la configurazione delle regole del firewall dall'interfaccia della riga di comando (CLI) del router. Le informazioni teoriche sono trattate in dettaglio nell'articolo 'Come è implementato il firewall?'. Per informazioni sulla configurazione delle regole del firewall dall'interfaccia web, fare riferimento all'articolo Firewall.
La CLI fornisce opzioni aggiuntive per la configurazione del Keenetic firewall rispetto all'interfaccia web. Una descrizione dettagliata dei comandi CLI per ogni Keenetic modello si trova nella Guida di riferimento ai comandi, disponibile in Download center.
Il firewall del dispositivo Keenetic esegue le regole di filtraggio scritte nell'Elenco di controllo accessi (ACL) su ciascuna interfaccia a cui questo elenco è associato. Più elenchi possono essere collegati a un'unica interfaccia.
Sono disponibili i seguenti comandi per la configurazione del firewall:
access-list {ACL_name}— fornisce l'accesso alla gestione delle regole nell'elenco di accesso specificato. Se l'elenco non esiste, verrà creato.no access-list {ACL_name}— rimuove l'elenco specificato, se esiste.
Ad esempio, per passare alla modifica dell'elenco MyList1, si utilizza il seguente comando:
(config)> access-list MyList1
(config-acl)>Una volta creato l'elenco di accesso, è possibile iniziare a creare le relative regole. A tale scopo, si utilizzano i comandi deny e permit, corrispondenti alle regole di filtraggio di negazione e autorizzazione. Il formato di questi comandi è lo stesso e si può trovare nella Guida di riferimento ai comandi.
Importante
Ogni regola può contenere un filtro solo per uno dei protocolli supportati.
Ecco alcuni esempi di regole:
Un comando che abilita un filtro per consentire la trasmissione di pacchetti TCP dall'host
192.168.1.33a qualsiasi indirizzo:(config-acl)>
permit tcp 192.168.1.33/32 0.0.0.0/32Un comando per vietare il ping da tutti gli host sulla sottorete
192.168.1.0/24a qualsiasi altra sottorete:(config-acl)>
deny icmp 192.168.1.0/24 0.0.0.0/32Un comando che abilita un filtro per bloccare i pacchetti IP da
192.168.1.0/24a qualsiasi host:(config-acl)>
deny ip 192.168.1.0/24 0.0.0.0/32Il comando (
permit|deny ip) senza specificare il tipo di protocollo integra i protocolli TCP e UDP in un'unica configurazione comune (ip).Un comando per consentire la connessione all'interfaccia web del router (
192.168.1.1) tramite HTTP (porta TCP 80) da qualsiasi host da Internet:(config-acl)>
permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80Per rimuovere una regola dall'elenco, è necessario ripetere il comando che la imposta, ma con
nodavanti.Ad esempio:
(config-acl)>
no permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80
Il comando exit viene utilizzato per uscire dalla modifica dell'elenco di accesso.
Un elenco completo di regole, utilizzando i comandi di cui sopra, nel file di configurazione del router apparirà così:
access-list MyList1 permit tcp 192.168.1.33/32 0.0.0.0/32 deny icmp 192.168.1.0/24 0.0.0.0/32 deny ip 192.168.1.0/24 0.0.0.0/32
Dopo aver preparato l'elenco delle regole di accesso, è necessario associarlo all'interfaccia richiesta del dispositivo. A tale scopo si utilizza il comando ip access-group {ACL_name} {direction in|out} nelle impostazioni di ciascuna interfaccia.
Ricorda che l'interfaccia definisce anche la direzione del flusso di traffico per ogni elenco a cui verranno applicate queste regole. La direzione è determinata rispetto all'interfaccia (la direzione in entrata in — sempre verso il dispositivo, e in uscita out — da esso). Queste informazioni sono descritte in dettaglio nell'articolo Come è implementato il firewall?.
Ad esempio, associa le regole create all'interfaccia ISP esterna:
(config)>interface ISP(config-if)>ip access-group MyList1 outNetwork::Acl: Output "MyList1" access list added to "ISP".
Nella direzione in uscita (out) dell'interfaccia ISP (questa è la direzione dal router alla rete di questa interfaccia) la trasmissione di qualsiasi traffico verso qualsiasi indirizzo sarà vietata.
Un elenco di regole simile al nostro esempio può essere utile quando è necessario negare l'accesso a Internet tramite l'interfaccia esterna a tutti gli host sulla rete locale tranne uno. Nel nostro esempio, l'accesso e il ping vengono negati a tutti gli host su 192.168.1.0, ad eccezione dell'host con l'indirizzo IP 192.168.1.33.
Le impostazioni del livello di accesso (security-level) vengono applicate sulle interfacce Keenetic, che determinano la logica di funzionamento del firewall:
private(locale);public(esterno);protected(protetto, locale).
Il seguente diagramma può rappresentare lo schema delle direzioni dei dati consentite e proibite nei router Keenetic:

Per impostazione predefinita, un router Keenetic accetta connessioni di rete solo da interfacce private. Le interfacce di tipo private sono autorizzate a stabilire connessioni con interfacce public e con il dispositivo stesso per la gestione e l'accesso ai servizi in esecuzione sul router. Per l'interfaccia della rete ospite, l'accesso al router e ai suoi servizi è negato.
Tra interfacce private e tra un'interfaccia private e una protected, per impostazione predefinita, è vietato stabilire una connessione, ma l'accesso può essere consentito se necessario. Questa opzione dipende dall'impostazione del parametro isolate-private. Se devi consentire connessioni tra interfacce private o tra un'interfaccia private e protected (cioè non isolare l'accesso), esegui il comando no isolate-private.
Dalle interfacce public, è vietato stabilire connessioni a qualsiasi interfaccia, comprese altre interfacce di tipo public e il dispositivo stesso.
Le interfacce di tipo protected sono autorizzate a stabilire connessioni solo con interfacce di tipo public. Per impostazione predefinita, l'accesso ai dispositivi di tipo private e ad altre interfacce protected, così come alla gestione dei dispositivi, è proibito.
Con il comando security-level public|private|protected, è possibile gestire i livelli di accesso sulle interfacce del router.
Ad esempio:
(config)>interface Bridge3(config-if)>security-level protectedNetwork::Interface::IP: "Bridge3": security level set to "protected".
È possibile identificare il livello di sicurezza dell'interfaccia specificata eseguendo il comando show interface {interface_name}.
Ad esempio:
(config)> show interface ISP
id: GigabitEthernet1
index: 1
type: GigabitEthernet
description: Broadband connection
interface-name: ISP
link: up
connected: yes
state: up
mtu: 1500
tx-queue: 2000
address: 193.0.174.199
mask: 255.255.255.0
uptime: 12433
global: yes
defaultgw: yes
priority: 700
security-level: public
mac: 50:ff:20:2d:ed:ea
auth-type: noneLa linea security-level specifica il livello di sicurezza in base al quale funziona la politica firewall predefinita.
Importante
Per impostazione predefinita, a tutte le interfacce appena create tramite la riga di comando viene assegnato il livello di sicurezza public.
L'elenco dei nomi delle interfacce e i relativi identificatori di sistema possono essere visualizzati come segue: digita il comando show interface e poi premi il tasto TAB sulla tastiera. Vedrai l'elenco di tutte le interfacce attualmente disponibili del dispositivo, comprese le interfacce di servizio preimpostate.

Nota
Il router Keenetic supporta i protocolli IPv6 e IPv4. Sono fornite solo impostazioni minime per la gestione del firewall IPv6: abilitazione o disabilitazione.
Puoi farlo con i comandi
ipv6 firewall(abilita), eno ipv6 firewall(disabilita).Per impostazione predefinita, il firewall per IPv6 è abilitato.
Nei router Keenetic, esiste un livello di accesso
protected. Questo livello di accesso è analogo al livelloprivatema senza accesso al router.Il tipo
protectedè impostato per l'interfaccia Wi-Fi della rete Ospiti quando l'opzione Accedi alle applicazioni in esecuzione sul tuo dispositivo Keenetic è disabilitata nell'interfaccia web, nella pagina Segmento Ospite, nella sezione Impostazioni IP. Per impostazione predefinita, l'accesso a Keenetic è vietato dalla rete ospite. Se si consente l'accesso alle impostazioni, l'interfaccia verrà impostata sul livelloprivate.
Se è necessario applicare un gran numero di regole firewall, è possibile configurare le regole modificando il file di configurazione startup-config.txt con un qualsiasi editor di testo. Dopo aver salvato le modifiche, è necessario caricare di nuovo il file sul dispositivo e riavviarlo. Ma è necessario modificare il file di configurazione con molta attenzione, perché potrebbe portare a un'impossibilità di controllare il dispositivo, alla perdita di funzionalità di singole funzioni o alla visualizzazione errata delle impostazioni nell'interfaccia web.
Se il tuo dispositivo ha smesso di funzionare correttamente dopo aver caricato il file di configurazione modificato, ti consigliamo di ripristinare le impostazioni utente con il pulsante Reset e regolare nuovamente Keenetic o caricare un file di configurazione di backup funzionante.