Nell'articolo seguente viene tentato di risolvere l'argomento della creazione di criteri di protezione utilizzando l'esempio di firewall e DNS. Può essere utilizzato nella tua azienda nella sua interezza o come modello per ulteriori sviluppi.
firewall
1.Firewall è progettato per aumentare la sicurezza dell'organizzazione utilizzando:
- Bloccare i tentativi di accesso non autorizzati (controllare e limitare l'accesso alla rete interna).
- Ispezione del traffico di rete a più livelli (m.in. firewall conduce il controllo in base agli indirizzi IP, alla direzione e allo stato delle connessioni, dei protocolli e delle applicazioni, dei singoli utenti).
- Creare zone di sicurezza e modellare le caratteristiche del traffico tra di esse.
- Nascondere l'organizzazione interna e la struttura della rete.
- Monitorare le zone di sicurezza per generare allarmi appropriati.
- Raccogli registri sugli eventi e offri opportunità per creare statistiche e report.
2 . Allo stesso agd.com traffico esterno è limitato all'accesso al suo sito web pubblico all'esterno del porto 443. La parte amministrativa della pagina è disponibile solo dalla rete interna sulla porta 8080. Il servizio DNS è disponibile sulla porta 53. Inoltre, è aperta una connessione intra-aziendale a un server di posta sulla porta 110, la porta 3306 per le connessioni al database e una connessione alla porta 2020 a ssh per l'amministrazione remota del server.
3. La seguente procedura è rivolta agli amministratori di rete e non deve essere divulgata a persone non autorizzate:
- Lo script iptables dettagliato è latente e si trova in una cassaforte all'8 ° piano dell'edificio A. Utilizzarlo se si apporta modifiche alla configurazione del firewall. L'amministratore principale della rete è la persona autorizzata a farlo.
Il firewall è configurato con uno script per iptables simile al seguente:
#!/bin/sh
##############################################################################
IPTABLES=iptables
PATH="/usr/sbin"
# Indirizzo server
SERVER="192.168.1.3"
# Indirizzo computer amministratore
ADMIN="192.168.1.10"
# Spazio di indirizzi del nostro web e della scheda che supporto
WEW_NET="192.168.1.0/24"
WEW_DEV="eth0"
# Indirizzo di uscita - scheda esterna e di servizio
ZEW_NET="0/0"
ZEW_DEV="eth1"
# Servizi TCP che vogliamo passare
TCP_IN="ssl,dns" # 443, 53
TCP_OUT="ssl,dns" # 443, 53
# Servizi UDP, che passano attraverso
UDP_IN="443"
UDP_OUT=""
# Servizi ICMP che vogliamo passare
ICMP_IN=""
ICMP_OUT=""
#################################################################################
# Rimuoviamo le normative precedenti
$IPTABLES -F INPUT
$IPTABLES -F AVANTI
$IPTABLES -F PRODUZIONE
# Impostazione del criterio predefinito
$IPTABLES -P INGRESSO DROP
$IPTABLES -P ACCETTAZIONE OUTPUT
$IPTABLES -P GOCCIA AVANTI
# Salva tutto il nostro traffico nei registri
$IPTABLES -A INPUT -j LOG -m limite --limite 15/hor
$IPTABLES -A OUTPUT -j LIMITE LOG -m --limite 15/ora
$IPTABLES -A FORWARD -j LOG -m limite --limite 15/ora
# Caricare la possibilità di seguire i collegamenti
modprobe ip_conntarck
modprobe ip_conntarck_ftp
# Disattivare le risposte ai ping
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Protezione contro gli attacchi dei Puffi
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Mettiamo la protezione contro la comunicazione degli errori ICMP
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Abilita la registrazione di pacchetti strani (origine contraffatta instradata. reindirizza)
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Non accettiamo datagramma IP con l'opzione "route di origine"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# Non accettiamo pacchetti di redict ICMP che possono cambiare le nostre bacheche di routing
eco "0" /proc/sys/net/ipv4/conf/all/accept_redirects
# Tutte le carte non verranno utilizzate pacchetti di semina diversi da quelli
# dalla matrice di routing
eco "1" /proc/sys/net/ipv4/conf/all/rp_filter
# Permettiamo ai pacchetti di funzionare intorno al nostro computer
# cioè, sbloccare petle ritorno LOOPBACK
$IPTABLES -A INPUT -i lo -j ACCETTA
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Permettiamo l'uso di protocolli in modalità passiva
$IPTABLES -A INPUT -m stato --state ESTABLISHED, RELATED -j ACCEPT
# Sblocca i servizi sul server per altri provenienti dall'esterno
#$IPTABLES -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT
#$IPTABLES -A INPUT -p udp -s 0/0 --dport 443 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 443 -j ACCETTA
$IPTABLES -A INPUT -p udp -s 0/0 --sport 443 -j ACCETTA
# Sblocca i servizi fognari per un determinato indirizzo IP - COMP vedi sopra definizioni di TCP_IN, UDP_IN
#$IPTABLES -A INPUT -p tcp -s $KOMP -m multiporta --dport $TCP_IN -j ACCEPT # protocollo tcp
#$IPTABLES -A INPUT -p udp -s $KOMP -m multiport --dport $UDP_IN -j ACCEPT # protocollo udp
#$IPTABLES -A INPUT -p udp -s $KOMP --dport 137:139 -j ACCEPT # protocollo udp
# Permettiamo tutto da un determinato indirizzo IP - amministrazione da questo indirizzo J
$IPTABLES -A INPUT -s $KOMP -j ACCEPT # pertanto le regole di cui sopra sono disattivate
# accesso al DNS
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 53 -d $SERWER -j ACCEPT
$IPTABLES -A INPUT -p udp -s 0/0 --sport 53 -d $SERWER -j ACCEPT
#$IPTABLES -A OUTPUT -p tcp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
#$IPTABLES -A OUTPUT -p udp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
# Chiudiamo i pacchetti con l'indirizzo di nascita impostato sul nostro
$IPTABLES -A INPUT -i $WEW_DEV -s $SERWER -j DROP # Attacco terrestre
# Pacchetti con indirizzi non rutoved, multicast e riservati
$IPTABLES -A INPUT -i $WEW_DEV -s 10.0.0.0/8 -j DROP #class A
$IPTABLES -A INPUT -i $WEW_DEV -s 172.16.0.0/12 -j DROP #class B
# $IPTABLES -A INPUT -i $WEW_DEV -s 192.168.0.0/16 -j DROP #class C - questo è ciò che usiamo
$IPTABLES -A INPUT -i $WEW_DEV -s 224.0.0.0/4 -j DROP #multicast
$IPTABLES -A INPUT -i $WEW_DEV -d 224.0.0.0/4 -j DROP #multicast
$IPTABLES -A INPUT -i $WEW_DEV -s 240.0.0.0/5 -j DROP #reserved
$IPTABLES -A INPUT -i $WEW_DEV -s 127.0.0.0/5 -j DROP #lo
- Questo script viene salvato con 700 diritti di accesso ed eseguito sul server.
- Quindi, quando si esegue lo script del firewall, si abilita l'archiviazione dei registri. A tale scopo, digitare il codice seguente alla fine del file /etc/syslog.conf:
*.* /dev/tty12
*.* /var/log/firewall
- Riavviare il daemon syslogd:
# killall -HUP syslogd
- D'ora in ora in su nel file /var/log/firwall (anche sulla console 12 – alt +12) avremo tutti i registri di sistema.
4. Le modifiche alla configurazione del firewall possono essere apportate solo dall'amministratore di rete principale. Questo viene fatto richiedendo 43 download agli amministratori di rete, che devono essere approvati dal suo capo it manager.
5. Le modifiche alla configurazione del firewall possono essere richieste solo dai responsabili dei singoli reparti IT.
6. Se un firewall si blocca, gli amministratori di rete sono responsabili della reimpostazione del firewall o, nel caso estremo, di un'impennata a un server di backup.
7. Non apportare modifiche alla configurazione del firewall in base a una richiesta non modificata.
8. Eventuali aggiornamenti al sistema operativo e alle applicazioni utilizzate devono essere installati non appena vengono visualizzati. Se questa affermazione interferisce con il funzionamento dei sistemi di produzione critici, gli aggiornamenti devono essere effettuati quando possibile.
9. La convalida delle impostazioni deve essere controllati trimestralmente dagli amministratori di rete.
- Può essere fatto utilizzando lo strumento nmap dal comando di rete esterna:
nmap -p 1-65535 -T4 -A -v firma.com -Pn
- Il risultato dovrebbe essere il seguente:
Report analisi Nmap per agd.com (x.x.x.x)
L'host è in ritardo (latenza di 0,00047s).
Non mostrato: 65533 porte filtrate
VERSIONE DEL SERVIZIO DELLO STATO DI APPRO PER LE PORTE
53/TCP Aprire TCPWRAPPED
443/TCP Aprire TCPWRAPPED
- In caso di non conformità, segnalare questo fatto all'amministratore di rete principale responsabile della causa della vulnerabilità.
DNS
1. La protezione della configurazione DNS si basa su tre principi di base:
- Il server deve corrispondere a chiunque abbia solo un dominio supporto;
- Rispondi a ogni domanda SOLO sulla rete che supporti;
- Consente di trasferire i domini SOLO ai server downstream;
2 . Le modifiche alla configurazione DNS possono essere apportate solo dall'amministratore di rete radice. Questa cosa viene eseguita richiedendo 45 download agli amministratori di rete, che devono essere approvati dal responsabile IT.
3. Solo i responsabili dei singoli reparti IT possono richiedere modifiche alla configurazione DNS.
4. Non apportare modifiche alla configurazione del firewall in base a una richiesta non modificata.
5. Se dns si blocca, gli amministratori di rete sono responsabili della reimpostazione della rete o, nel caso estremo, di un'impennata a un server di backup.
6. Eventuali aggiornamenti al sistema operativo e alle applicazioni utilizzate devono essere installati non appena vengono visualizzati. Se questa affermazione interferisce con il funzionamento dei sistemi di produzione critici, gli aggiornamenti devono essere effettuati quando possibile.
7 . La seguente configurazione è rivolta agli amministratori di rete e non deve essere divulgata a persone non autorizzate:
In DNS agd.com si basa su BIND DNS e ha questo aspetto:
- Prima della sezione global options di named.conf.options, è necessario definire chi può eseguire query sul server per qualsiasi dominio:
- Successivamente, è necessario configurare le impostazioni per chi può richiedere il nostro dominio:
- Particolare attenzione dovrebbe essere prestata alla direttiva consenti trasferimento, che può rivelare tutte le voci nel nostro dominio. Se non abbiamo server di backup, blocchiamo questa opzione come nella voce precedente.
- Il passaggio successivo consiste nel controllare la correttezza della configurazione.
- A questo scopo, possiamo utilizzare lo strumento di scavo.
- Controlliamo il blocco del polling del nostro server per altri indirizzi, facendo lo stesso da un'altra rete:
scavare @ip_naszego_serwera jakieś_inne_ip
- il risultato dell'azione dovrebbe essere simile al seguente:
<>> DiG 9.3.2 <> > @agd.com wp.pl A
; (1 server trovato)
;; opzioni globali: printcmd
;; Risposta:
;; ->>HEADER<- opcode: QUERY, status: REFUSED, id: 65151
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
- Controlliamo la possibilità di trasferimento di dominio tramite un server esterno:
scavare agd.com AXFR
- Il risultato dell'azione dovrebbe essere simile al seguente:
<>> DiG 9.3.2 <> > agd.com AXFR
;; opzioni globali: printcmd
; Trasferimento non riuscito.
- In caso di non conformità, segnalare questo fatto all'amministratore di rete principale responsabile della causa della vulnerabilità.