Praktisk erfaring med oppsett av et beskyttet internt nettverk mot et eksternt usikkert nettverk. Konfigurering av brannmur, webproxy, webtjener og ftptjener.
Inndel i grupper (2-3 på hver gruppe). Et system med VMware workstation og 2 virtuelle nettverkskort skal fungere som brannmur. Konfigurer VMware workstation kun på brannmuren med to nettverkskort, der det eksterne nettverkskortet beholder sitt oppsett i (opprinnelige IP adresse) , mens det interne nettverkskortet på brannmur gis statisk adresse 10.0.x.1 i nettverket 10.0.x.0/24 (nettmaske 255.255.255.0).. Nettverkskortene må være satt opp som bridged i VMware workstation (ikke NAT).
På "interne" systemer, systemer som ligger bak brannmuren) kjøres Linux i VMware med ett nettverkskort installert. Hver gruppe benytter sitt eget interne nettverket med adresse 10.0.x.0/24 der x erstattes med gruppenummer på labben. Interne systemer gis en IP adresse i dette 10.0.x.0/24 nettverket, sett opp brannmurens interne IP adresse som standard gateway med kommandoen route add default gw 10.0.x.1.
De tre systemene som i figuren under er tegnet inn kan slås sammen til ett system, du trenger da kun to Linux systemer for å utføre laboppgaven. Et Linux system er Router/brannmur, mens det andre er et internt system sder du installerer webtjener og ftp tjener.
Eksternt nettverk
| | IP: IP adresse i eksternt nettverk
________
| | webproxy for interne systemer
|BRANNMUR|
|________|
| IP: 10.0.x.1
|
______
| |
|switch|
|______| Internt virtuelt nettverk: 10.0.x.0/24
|
---------------------------------------------------
| | |
IP: 10.0.x.10 IP: 10.0.x.11 IP: 10.0.x.20
______ ______ ______
| | | | | |
| PC | | PC | | PC |
|______| |______| |______|
ekstern ekstern klient
webtjener ftptjener
Hver gruppe benytter sitt eget interne nettverket med adresse 10.0.x.0/24 der x erstattes med gruppenummer på labben.
Før du går i gang med å slå på brannmuren må du være sikker på at systemene kan kommunisere med hverandre. Prøv ping mellom systemene, denne skal og må virke før du går videre med oppgaven. På mange av Linux systemene er nettverkskortene satt opp med DHCP som standard, disse må endres til å ha statisk oppsett (fast IP adresse). På Kali Linux gjør du dette i menyen System Tools - Preferences - System Settings. Velg deretter "Network", finn nettverkskortet og velg Options og IPV4 instillinger. Her angir du "Manual" og deretter IP adressen. Må også angi her IP adressen til router og DNS tjener.
Systemene skal settes opp som følger:
Før du gå i gang med å sette DROP politikk må du få systemene i det interne nettverket på nett. Dvs. få satt opp brannmuren som ruter og NAT tjener.
/proc/sys/net/ipv4/ip_forward
,
denne må ha verdien 1, settes med kommando
echo
1 >
/proc/sys/net/ipv4/ip_forward
.iptables –t nat –A POSTROUTING –s 10.0.3.0/24 -j SNAT --to-source 192.168.200.20
. DROP
på brannmuren. Gjør dette først, deretter setter du også DROP som standard på INPUT og OUTPUT kjedene.
Ta dette gradvis, mye kommer til å slutte å fungere.Det er viktig å slå av IPV6 slik at systemet kun benytter IPV4
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
, dersom denne viser 0 er IPV6 påslått.
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
disabler IPV6, legg dette inn i skriptet slik at den alltid vil være avslått.
Det er viktig å slette reglene etterhvert, her må det slettes både i nat og filter tabellen. Kommandoer for sletting av alle regler
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
Legg gjerne dette inn i skriptet du skal skrive på toppen slik at alle regler slettes før nye legges inn.
Dette gjøres i den delen av .conf filen der http_access spesifiseres under pkt. "INSERT YOUR OWN RUles HERE...."
Legg til følgende:
acl our_networks src 10.0.1.0/24
http_access allow our_networks
Squid er stengt for alle i utgangspunktet, her åpner vi den for kun vårt interne nettverk. Lagre filen og restart squid. Squid lytter på port 3128 som standard. Du kan endre oppsettet i nettleseren din til å benytte proxy tjener på 127.0.0.1 port 3128 som en test på at squid fungerer.
I labben ønsker vi imidlertid å benytte transparent proxy, dvs. det skal ikke være nødvendig for brukerne å endre nettleserinnstillingene. Brannmuren sørger for å redirigere alle pakker som skal ut av type http til squid, rediriger disse til port 3128. Benytt REDIRECT og send alle pakker som skal til port 80 til squid på port 3128. Vi må også fortelle squid at transparent proxy er påslått, dette gjøres ved å endre http_port parameteren i squid.conf, legg til transparent på denne slik at det blir stående
http_port 3128 transparent
Hver gruppe leverer alle iptables skript/kommandoer benyttet for å realisere oppsettet. Skript leveres i .PDF format med forklaring på hva skriptet gjør.
Iptables wikipedia (norsk)
Ubuntu squid dokumentasjon
squid wikipedia (norsk)
www.squid-cache.org