Title: CISCO Access-List
1CISCO Access-List
- Netgroup
- 23 Aprile 2002
- Angelo Veloce LNF Computing Service
2Access List
- Nega il traffico basandosi su dei test sul
pacchetto IP
Frame Header (for examples, HDLC)
Segment (for Examples. TCP Header)
Packet (IP header)
Data
Port number e TCP flags
Protocol
Source Address
Destination Address
3Access List
- Che tipo di Access List ci sono?
- Standard Access List, controllano il source
address del pacchetto IP - Extended Access List, controllano entrambi source
e destination addresses del pacchetto IP. Inoltre
puo essere filtrato uno specifico protocollo,
numero di porta e TCP flags
4Come sono identificate le Access List sui Router
CISCO
- Per il protocollo IP
- Standard hanno un range da 1 a 99
- Estese hanno un range da 100 a 199
- Per il protocollo IPX
- Standard hanno un range da 800 a 899
- Estese hanno un range da 900 a 999
- Per il protocollo Apple Talk
- Il range va da 600 a 699
5Bits della Wildcard Mask
- Questa maschera permette di stabilire in una
Network cosa controllare e cosa ignorare. - Dove cé uno zero si ha un controllo sul
corrispondente bit - Dove cé un uno il corrispondente bit é ignorato.
6Wildcard Bits
Octet Bit Position and Address Value for Bit
128 64 32 16 8 4 2
1
0 0 0 0 0 0
0 0 Check all address Bits 0 0
1 1 1 1 1 1
Ignore Last 6 Address Bits 0 0 0
0 1 1 1 1 Ignore
Last 4 Address Bits 1 1 1 1
1 1 0 0 Check Last 2
Address Bits 1 1 1 1
1 1 1 1 Do Not Check Address
Bits
7Esempio Wildcard Mask
- Data la Network 172.30.16.0 con wildcard mask
0.0.15.255 - La network é di classe B con il terzo ottetto
subnettato . - É possibile usare questa configurazione per
controllare le subnet da 172.30.16.0 a 172.30.31.0
8Esempio Wildcard Mask
- Per controllare qualsiasi indirizzo IP si
dovrebbe usare
Any IP address 0.0.0.0
Per accettare qualsiasi indirizzo si utilizza
lespressione abbreviata ANY
255.255.255.255 Wildcard mask Ignore all
9Esempio Wildcard Mask
- Per controllare uno specifico IP host e quindi
controllare tutti I bits
Uno specifico IP address 172.30.16.29
Per controllare tutti i bits di uno specifico IP
address si usa labbreviazione Host 172.30.16.29
0.0.0.0 Wildcard mask controlla tutti i bits
10Sintassi delle Access List Estese
- Access-list-number, identifica laccess list
- Protocol, sono IP, TCP, UDP, ICMP, GRE, IGRP
- Source e destination, identificano source e
destination IP address - Source-mask e destination-mask, sono la wildcard
mask - Operator, lt (less than), gt (greater than), eq
(equal), neq (not equal), range - Operand, port number
Router (config) Access-list access-list-number
permit deny protocol Source
source-wildcard-mask operator source-port
source-port Destination destination-wildcar
d-mask operator destination-port
destination-port established
11Sintassi delle Access List Estese
- Attivare le access list estese su una interfaccia
- Access-list-number, indica il numero dellaccess
list che deve essere richiamato sullinterfaccia - In out, indica se laccess list é applicata in
ingresso o in uscita allinterfaccia
Routerconf t Enter configuration commands, one
per line. End with CNTL/Z. Router(config)interf
ace atm1/0.5 point-to-point Router(config-subif)
ip access-group access-list-number in out
12Esempio
Routershow running-config begin interface
ATM1/0.5 interface ATM1/0.5 point-to-point
description PVC 17.6M LNF-GARRB-Telecom
bandwidth 17600 ip address XXX.XXX.XXX.XXX
255.255.255.252 ip access-group 103 in no ip
mroute-cache atm pvc 107 30 107 aal5snap 17600
17600
13Come scrivere le Access-List
- Fondamentale e lordine in cui sono scritte le
access-list - Man mano che si esegue laccess-list se si
verificano delle condizioni si esce dal percorso
saltando i controlli successivi - E importante anche il verso in cui sono
applicate sulle interfacce
14Esempio
- Per prima cosa, implementiamo la nostra
access-list nel verso IN sullinterfaccia Seriale
o ATM connessa alla WAN
Dati
SA
DA
Ip access-group ltnumero access-listgt in
15Esempio (connessioni TCP)
- Implementiamo laccess-list dalla testa ovvero
dalle prime regole che vengono controllate. - Permesso di tutti i nodi internet allinoltro di
pacchetti TCP per connessioni gia stabilite
access-list 103 permit tcp any XXX.XXX.XXX.0
0.0.7.255 established access-list 103 permit tcp
any YYY.YYY.YYY.0 0.0.0.255 established access-lis
t 103 permit tcp any ZZZ.ZZZ.ZZZ.0 0.0.0.255
established access-list 103 permit tcp any
TTT.TTT.TTT.0 0.0.3.255 established
16Porte alte pericolose
- Divieto a tutti i nodi verso le porte alte
"pericolose" - NFS (udp e tcp porta 2049),
- Openwin (tcp porta 2000),
- MySQL (tcp e udp porta 3306),
- X11 (tcp porte 6000-6010),
- adsm (tcp porta 1500),
- fontsrv (udp e tcp porte 7000 e 7100)
17Esempio (blocco porte alte pericolose UDP)
- Divieto di tutti i nodi internet allinoltro di
pacchetti UDP sulle porte alte pericolose
access-list 103 deny udp any any eq 2049
access-list 103 deny udp any any eq 3306
access-list 103 deny udp any host
ltfont-server-IPgt eq 7000 access-list 103 deny
udp any any eq 7100
18Esempio (UDP)
- Permesso di tutti i nodi internet allinoltro di
pacchetti UDP sulle porte alte (gt1024)
access-list 103 permit udp any XXX.XXX.XXX.0
0.0.7.255 gt 1024 access-list 103 permit udp any
YYY.YYY.YYY.0 0.0.0.255 gt 1024 access-list 103
permit udp any ZZZ.ZZZ.ZZZ.0 0.0.0.255 gt
1024 access-list 103 permit udp any TTT.TTT.TTT.0
0.0.3.255 gt 1024
19Esempio (ssh)
- Permettiamo laccesso in SSH solo verso macchine
amministrate dal servizio di calcolo
access-list 103 permit tcp any host
ltssh-server1-ipgt eq 22 access-list 103 permit tcp
any host ltssh-server2-ipgt eq 22 access-list 103
permit tcp any host ltssh-server3-ipgt eq 22
20Esempio (net-services)
- Permesso di tutti i nodi internet verso i Server
DNS (53), SMTP (25), WWW (80)
access-list 103 permit tcp any host
ltdns-server1-ipgt eq domain access-list 103 permit
udp any host ltdns-server1-ipgt eq
domain access-list 103 permit tcp any host eq
smtp access-list 103 permit tcp any host
ltdns-server2-ipgt eq domain access-list 103 permit
udp any host ltdns-server2-ipgt eq
domain access-list 103 permit tcp any host
ltsmtp-server2-ipgt eq smtp access-list 103 permit
tcp any host lthttp-server1-ipgt eq www access-list
103 permit tcp any host lthttp-server2-ipgt eq
www access-list 103 permit tcp any host
ltwebmail-ipgt eq 443 access-list 103 permit tcp
any host lthttp-server3-ipgt eq www
21Porte utilizzate dagli AFS Server
afs3-fileserver 7000/tcp
File Server Itself afs3-fileserver 7000/udp
File Server
Itself afs3-callback 7001/tcp
Callbacks to Cache Managers afs3-callback
7001/udp Callbacks to
Cache Managers afs3-prserver 7002/tcp
Users Groups Database afs3-prser
ver 7002/udp Users
Groups Database afs3-vlserver 7003/tcp
Volume Location
Database afs3-vlserver 7003/udp
Volume Location Database afs3-kaserver
7004/tcp AFS/Kerberos
Auth. Service afs3-kaserver 7004/udp
AFS/Kerberos Auth.
Service afs3-volser 7005/tcp
Volume Managment Server afs3-volser
7005/udp Volume
Managment Server afs3-errors 7006/tcp
Error Interpretation
Service afs3-errors 7006/udp
Error Interpretation Service afs3-bos
7007/tcp Basic
Overseer Process afs3-bos 7007/udp
Basic Overseer
Process afs3-update 7008/tcp
Server-To-Server Updater afs3-update
7008/udp
Server-To-Server Updater afs3-rmtsys 7009/tcp
Remote Cache Manager
Service afs3-rmtsys 7009/udp
Remote Cache Manager Service
22Esempio (AFS Servers)
- Permesso di tutti i nodi verso gli AFS Server
- Autenticazione per client windows (porta 750)
access-list 103 permit udp any host
ltafs-server1-ipgt eq 750 access-list 103 permit
udp any host ltafs-server2-ipgt eq 750
- AFS server (compresa autenticazione per client
unix)
access-list 103 permit tcp any host
ltafs-server1-ipgt range 7000 7009 access-list
103 permit udp any host ltafs-server1-ipgt range
7000 7009 (redundant) access-list 103 permit tcp
any host ltafs-server2-ipgt range 7000 7009
access-list 103 permit udp any host
ltafs-server2-ipgt range 7000 7009 (redundant)
23Esempio (AFS clients)
- Permesso any to any per le callbacks delle cache
dei client AFS
access-list 103 permit tcp any any eq 7001
access-list 103 permit udp any any eq 7001
(redundant)
24Esempio (NTP Servers)
- Permesso di tutti i nodi internet verso i Server
NTP
access-list 103 permit udp any host
ltntp-server1-ipgt eq ntp access-list 103 permit
udp any host ltntp-server1-ipgt eq ntp access-list
103 permit udp any host ltntp-server1-ipgt eq
ntp access-list 103 permit udp any host
ltntp-server1-ipgt eq ntp
25Esempio (FTP Servers)
- Permesso di tutti i nodi internet ad accedere in
FTP ad un server autorizzato
access-list 103 permit tcp any host
ltftp-server1-ipgt eq 20 access-list 103 permit
tcp any host ltftp-server1-ipgt eq 21
26Esempio (AT e ICMP)
- Permesso di tutti i nodi internet ad accedere al
tunnel Appletalk (gre/ip)
access-list 103 permit gre any host
lttunnel-interface-ipgt
- Permesso di tutti i nodi internet allutilizzo
dellICMP, riservandoci di implementare le
funzionalita CAR (Committed Access Rate) per
limitare la banda destinata allICMP
access-list 103 permit icmp any any
27Aumentare la Security disabilitando funzionalita
globali non necessarie
- service password-encryption
- no service finger
- no service pad
- no service udp-small-server
- no service tcp-small-server
- no ip bootp server
28Aumentare la Security disabilitando funzionalita
sulle interfacce non necessarie
- no ip redirects
- no ip directed-broadcast
- no ip proxy-arp
29Principali tipi di attacchi
- TCP SYN-flooding
- E un tipo di denial-of-service che colpisce un
server con grandi richieste di connessioni TCP - Packet Filtering
- Assicurarsi che i pacchetti che entrano in LAN
sono validi ed hanno un source address che
coincide effettivamente con il mittente - Rate Limiting
- Limitare il livello di traffici (come ICMP) che
non hanno una valida ragione di consumare banda.
30TCP Intercept
- Questa funzionalita disponibile sui Router CISCO
dalla versione di IOS 11.2 F, permette di
proteggere server da denial of service e
distributed denial of service tipo - TCP SYN-flooding attacks
31TCP SYN flooding attacks
- Questo attacco si verifica quando un hacker
sommerge un server di richieste di connessioni.
Questultime hanno la caratteristica di avere un
unreachable return address e quindi la
connessione non viene mai stabilita. - Il risultato e che queste fallite richieste di
connessioni bloccano le richieste valide verso i
servizi offerti dal server
32TCP Intercept Software
- Il software (IOS) intercetta i TCP
synchronization (SYN) packets dal Client ai
server interni alla LAN specificati in una
apposita access-list estesa.
Server WEB
INTERNET
Client
33TCP Intercept Software
- Il software (IOS) stabilisce una connessione con
il client per conto del server di destinazione. - Se successivamente la connessione ha successo il
software stabilisce la connessione con il Server. - In questo modo tentativi di connessioni da
unreachable host non raggiungeranno mai i server - Inoltre se nellultimo minuto le richieste di
connessioni incomplete superano le 1100 vengono
cancellate le piu vecchie e dimezzati i time out
di ritrasmissione
34Sintassi TCP Intercept
- access-list ltaccess-list-numbergt
- deny permit tcp any destination
destination-wildcard - ip tcp intercept list ltaccess-list-numbergt
35Esempio Access-List per TCP Intercept
access-list 104 permit tcp any host
ltssh-server1-ipgt eq 22 access-list 104 permit tcp
any host ltssh-server2-ipgt eq 22 access-list 104
permit tcp any host ltssh-server3-ipgt eq
22 access-list 104 permit tcp any host
ltdns-server1-ipgt eq domain access-list 104 permit
tcp any host ltsmtp-server1-ipgt eq
smtp access-list 104 permit tcp any host
ltdns-server2-ipgt eq domain access-list 104 permit
tcp any host ltsmtp-server2-ipgt eq
smtp access-list 104 permit tcp any host
lthttp-server1-ipgt eq www access-list 104 permit
tcp any host lthttp-server2-ipgt eq www access-list
104 permit tcp any host ltwebmail-ipgt eq
443 access-list 104 permit tcp any host
lthttp-server3-ipgt eq www Etc .
36Esempio di configurazione di TCP Intercept
ip tcp intercept list 104 ip tcp intercept
drop-mode random
Server WEB
INTERNET
Client
37ICMP Rate Limit
- Per evitare un denial of service di tipo ICMP
(ping flood) si puo usare il CAR (Committed
Access Rate) come comando per limitare questo
traffico indesiderato
access-list 105 permit icmp any any
echo access-list 105 permit icmp any any
echo-reply Routerconf t Enter configuration
commands, one per line. End with
CNTL/Z. Router(config)interface atm1/0.5
point-to-point Router(config-subif) rate-limit
input access-group 105 256000 8000 8000
conform-action trasmit exceed-action drop
Attenzione ICMP Rate Limit non testato
38Domande?