Bygga din egen gateway brandvägg (5 / 7 steg)

Steg 5: Konfigurera din programvara



Här är en mycket kort översikt över konfigurationsprocessen.

» Installera och konfigurera OpenSSH för nätverket terminalemulering. I förväg delade nycklar rekommenderas definitivt, men inte ett krav.
» Bekräfta SSH-anslutning från en annan dator i det lokala nätverket använda OpenSSH (* nix) eller kitt (Windows)
» Installera och konfigurera den portade versionen av Openbsd's PF-paketfiltrering, stateful firewall. Du kan ta en titt på pf.conf exempel på vad din PF konfigurationsfil kan se ut. Dessutom är två bra källor för information som hänför sig till PF PF User Guide och Peter Hansteen Firewalling med Openbsd's PF paketfilter. Tack för resursen Peter!
» Installera och konfigurera någon annan programvara som du vill. Jag rekommenderar den Squid Cache-proxy (installation som en reverse-proxy är trevligt också), Snort IDS (Intrusion Detection System), ClamAV (antivirus) med vectoring genom brandväggen, Bruteforceblocker (SSH bruteforce blockerare) och Snarf (webbgränssnitt för Snort loggar).

Craig McLean var vänlig nog att låta mig integrera en hur-till artikel om samma ämne i denna. Vi har enats om att lägga upp några av hans artikel här. Vänligen inse, han, som jag skrev denna artikel från minnet. Om du hittar några fel i det, var god kontakta oss. Vad som följer är hämtat direkt från hans howto.

Saker att besluta
Måste du bestämma vad du vill att ditt interna nätverk för att se ut när detta är över, och som maskiner bör ha tillgång till vad. Detta är inte så komplicerat som det låter men det gynnar oss för att arbeta ut det i förväg. I den här guiden kommer jag att använda följande:

172.16.0.0/16 (172.16.0.1 till 172.16.255.254) kommer att vara den inre network.172.16.3.200 blir brandväggens interna IP-address.172.16.4.0/24 (172.16.4.1 till 172.16.4.254) ska tilldelas till en DHCP-intervall.

Saker att veta
» Du måste veta vad ditt inre - och yttre-facing gränssnitt och IP-adresser.
» Du måste också veta den IP-adress till DNS-servrar tillhandahålls av din Internetleverantör.
» FreeBSD enhetsnamnet för din interna och externa gränssnitt. De kallas så: namnet på drivrutinen används för enhet följt av ett tal. Detta nummer är vanligtvis 0 (noll), men om du har flera enheter med samma drivrutiner, varje enhet kommer att ha ett unikt nummer som börjar på noll och räkna upp. Exempelvis bygger två Realtek NIC vilja apear som rl0 och rl1. lo0 är enheten loopback (IP 127.0.0.1). Om du har konfigurerat pflog för att övervaka din brandvägg, ser du pflog0 här också. (John)

I denna guide, ska jag använda följande:
» "xl0" kommer att vara min interna gränssnitt.
» 172.16.3.200 kommer att vara min interna IP-adress. Interna värdar måste cirkulera paket genom detta.
» "dc0" kommer att vara min externa gränssnitt.
» 82.30.189.185 kommer att vara min mot internet IP-adress, som används för maskiner i omvärlden för att ansluta till mig.

Du kanske inte vet din externa IP ännu, men när installationen är klar bör du använda:

# ifconfig - a

att hitta den.

Om IP tilldelas av Internetleverantören är dynamisk, kan du behöva konfigurera DHCP på din externa gränssnitt. Använda dhclient. Även när du använder DHCP på ditt interna nätverk är mer användarvänligt, statisk IP-adressering fungerar alldeles utmärkt också. Det kan också göra säkerhetsgranskningar mer okomplicerat. (John)

Ställa in systemet
Det finns en viktig fil på din nya FreeBSD maskin. Det kallas /etc/rc.conf. Här kommer du sätta information om olika saker. Hostname av systemet, IP-adresser, de tjänster du vill att starta när systemet startas och mycket mer. Du bör ta dig tid att titta på det innan vi gå vidare, och medan du är där - gör en säkerhetskopia!
Lägga till en användare
Om du inte gjorde detta under installera, bör du lägga till en icke-root-användare som du kan använda i vardagen. Detta kan göras med kommandot:

# adduser

Kontrollera att användaren är i gruppen "hjulet". Detta är en speciell grupp som innehåller alla användare som kan bli "root". Om du hittar "su" avvisar du, är det förmodligen eftersom du inte är medlem i gruppen "hjul".

Kommandot pw kan också användas för att lägga till/ändra/ta bort användare och grupper. (John)

Ställ in OpenSSH
OpenSSH (öppen Secure SHell) bör din vapen val när du ansluter till din nya FreeBSD värd. Det är säkert, ingår som standard med OS, och det finns valfritt antal klienter kan du ansluta till den. Linux-maskiner har ssh som standard, windows-användare kan få tag i PuTTY (www.chiark.greenend.org.uk/ ~sgtatham/putty/).

OpenSSH kan aktiveras på FreeBSD genom att redigera /etc/rc.conf och att se till att du har följande:

sshd_enable = "Ja"

i där.
Datorn kommer att vara på internet, och människor kommer att försöka och få i. Ett sätt de kommer att göra detta är att försöka gissa användarnamn och lösenord, som ssh används som standard. Om du inte absolut behöver ssh från internet, se till att du bara lyssna för anslutningar på det interna gränssnittet. Gör detta genom att redigera den ssh daemon konfiguration fil som lever på /etc/ssh/sshd_config och se till att du har

ListenAddress 172.16.3.200

där, ersätta 172.16.3.200 med interna IP-adress vi beslutat om tidigare.

Nu kan du köra

# /etc/rc.d/sshd start

starta tjänsten.

Om du bestämmer dig för att du behöver ssh tillgång från omvärlden, bör du inaktivera lösenordsbaserad åtkomst och istället använda publik-nyckel autentisering. Google kommer att berätta hur!

Brandvägg och NAT
Främst, vi vill ha detta system skyddas från onda på internet med hjälp av brandväggar och dela ut vår internetuppkoppling till annan utrustning i våra nätverk med NAT (Network Address Translation).

Brandväggen
När Craig covers med IP-Filter här, kommer jag lägga en handledning för att använda PF när jag får chansen. För nu, kan du hänvisa till PF Guide (openbsd.org/faq/pf/) och exempelkonfigurationsfil att jag har bifogat (pf.conf). (John)

Först vill jag peka på en annan stor URL, det är den berömda "ipf HOWTO": www.obfuscation.org/ipf/. Hålla den till hands när vi går igenom dessa steg.
I en minut, "i" och "out" kommer att ha mycket specifik betydelse, men låt oss inte oroa dig ännu. Logiskt, vill vi göra följande:
» Tillåta interna IP-trafik brandväggen maskinen.
» Omdirigera (om nödvändigt) intern IP-trafik till internet.
» Omdirigera svar intern trafik tillbaka till enskilda system.
» Låta maskiner på internet-åtkomst till vissa portar/tjänster i brandväggen.
» (kanske) omdirigera maskiner på internet tillgång till andra datorer i det lokala nätverket.
» Blockera allt annat.
Vi måste först aktivera ipfilter. Det måste följande i /etc/rc.conf

ipfilter_enable="yes"ipfilter_program="/sbin/IPF"ipfilter_rules="/etc/IPF.conf"ipfilter_flags= ""

Detta bör vara ganska självklar, och det första att notera är platsen för regelfilen, /etc/ipf.conf. Det är där alla våra regler kommer att leva.
Härifrån och framåt, "i" och "ut" behöver användas mycket noga, eftersom de hänvisar till "i" och "ut" på ett gränssnitt. Ha detta i åtanke när vi går på.
Vi beslutade tidigare vad logik vi ville ha, och kan nu omsätta det i reglerna:

# Första, blockera allt förutom specified.block i på xl0 # våra inre interfaceblock ut på xl0block i på dc0 # våra externa interfaceblock ut på dc0 # tillåter våra interna nätverk för att komma in i den inre interfacepass i på xl0 från 172.16.0.0/16 till någon # tillåta vår interna gränssnitt att prata med den inre networkpass ut på xl0 från 172.16.3.200 till # Tillåt tcp eller udp från våra externa gränssnitt och utåt till någonstans , att hålla # "staten tabell" av anslutningar och montering splittrad packetspass ut på dc0 proto tcp/udp från någon till någon hålla staten hålla frags # Tillåt "ping" och dess vänner ut från den externa interfacepass ut på dc0 proto icmp från någon till någon ## tjänster ## vi ska köra en webbserver, så behöver vi port 80pass i på dc0 proto tcp från någon till någon hamn = 80 flaggor S hålla frags hålla statepass i på dc0 proto tcp från någon till någon hamn = 443 flaggor S hålla frags hålla staten # likaså sendmail, så småningom. Lämna det kommenterade för nu, ändå. # vidarebefordra i dc0 proto tcp från någon till någon hamn = SMTP-flaggor S hålla frags hålla staten # pass i på dc0 proto tcp från någon till någon hamn = smtps flaggor S hålla frags hålla staten

De är grunderna. Du kan starta brandväggen, använda dessa regler, genom att utfärda:

# /etc/rc.d/ipf start

Om du ändra reglerna och vill ladda brandvägg tabeller, kan du använda:

# ipf-Fa -f /etc/ipf.conf

som översätter som "Spola alla, läsa nya regler från filen /etc/ipf.conf". Om du vill rensa ut dom din brandvägg bara använda:

# ipf-Fa

Visa alla regler för inkommande paket:

# ipfstat -i

och utgående:

# ipfstat -o

Funktionen "ogiltigt sidfel" i FreeBSD är enorm. Detta har bara skrapat på ytan av vad som är möjligt eller önskvärt. Det finns mer information i manpages och på länken i början av detta avsnitt. Jag föreslår starkt att du tar en titt på båda.

Varning: Tror mycket hårt innan du ändrar brandväggsregler om du är ansluten över TCP/IP. Du kan hitta om svårt att återhämta sig om du gör fel, och plötsligt befinner dig frånkopplad :-)

NAT
Nästa vi vill konfigurera nätverksadressöversättning för andra enheter i våra interna nätverk. NAT kan många interna klienter dela en internet-adress.
För att göra detta, måste vi lägga till några fler rader i /etc/rc.conf:

gateway_enable="yes"ipnat_enable="yes"ipnat_program="/sbin/Ipnat"ipnat_rules="/etc/Ipnat.rules"ipnat_flags= ""

Ganska mycket som brandvägg grejer, men denna gång är reglerna i /etc/ipnat.rules.
NAT är verkligen lätt att ställa in. Vi vill tillåta något för 172.16.0.0/16 att använda internet, så våra regeln är:

karta dc0 172.16.0.0/16 -> dc0/32 portmap tcp/UDP-automap dc0 172.16.0.0/16 -> dc0/32 proxy hamn ftp ftp/tcp

Den första raden kartor utgående på dc0 ska visas från "dc0/32", vilket är en förkortning för "IP-adressen för närvarande associeras med gränssnittet dc0" tillgång till internet.
Den andra raden kommer proxy outbout FTP-åtkomsten. Detta är nödvändigt om du inte vill använda passiv ftp hela tiden eftersom FTP-protokollet suger.

För att få ipnat igång, gör:

# /etc/rc.d/routing start # /etc/rc.d/ipnat start

Vid denna punkt, någon klient på 172.16.0.0 nätverk som har en nätmask 255.255.0.0 eller striktare och 172.16.3.200 som dess router bör kunna få tillgång till internet, med sitt paket som "mappas" av NAT setup på brandväggen maskinen.

DHCP-Server konfiguration
Det sista steget i installationen av systemet kommer att förse dina kunder med DHCP-information. Detta gör centraliserad förvaltning bör saker förändring, och automatiskt tilldelar IP-adresser (och ännu viktigare, gateway information) till klienter. Vi kommer att fördela från 172.16.4.1 till 172.16.4.100 för kunder...
För att göra detta, kommer att vi använda ISC'S DHCPD från hamnen insamling.

# CD-/usr/ports/net/isc-dhcp3-server # gör

I menyn väljer du beroende på vilket alternativ du vill använda (jag skulle rekommendera minst PARANOIA och fängelse)

# gör installera # cd/usr/lokal/etc # mv dhcpd.conf.sample dhcpd.conf

Sedan redigera filen dhcpd.conf så att det ser ut så här:

DDNS-uppdatering-stil ingen logg-anläggningen local7; delade-Dynamic-4-undernät {alternativet routrar 172.16.3.200;option domän-namn-servers nnn.nnn.nnn.nnn;subnet 172.16.0.0 nätmasken 255.255.0.0 {range 172.16.4.1 172.16.4.100;}

Du kommer att behöva ersätta nnn.nnn.nnn.nnn med din Internetleverantörs domän namnservrar.
Se sedan till /etc/rc.conf innehåller:

dhcpd_enable = "Ja"

och starta DHCP-servern med hjälp av

# /usr/local/etc/rc.d/isc-dhcpd.sh start

Tack Craig, jag uppskattar hjälp. Även mitt hemnätverk är lite annorlunda än Craigs, gäller detsamma fortfarande. Här är hur min är setup:
» Cisco uBR900 kabelmodem ger anslutning till internet.
» Modemet är anslutet till min brandvägg. WAN IP på brandväggen tilldelas via DHCP från modemet.
» Den LAN-nätverken är 192.168.0.0/16 och statiska (ingen DHCP)
» Min brandvägg ansluter till en 24port switch. Detta är ansluten till en 108Mbps 802.11g D-link WAP och en gigabit-switch med 8port. WAP har en statisk IP, men ger trådlös åtkomst via DHCP.
» Min brandvägg ger ingen inre skydd. Alla interna trafiken rör sig unprohibitted av brandväggen. Detta inkluderar utgående trafik också. Detta kanske inte är den mest säkra, är det definitivt lättare att hantera. Jag behöver inte lägga till brandväggen regler varje gång jag vill komma åt en ny tjänst.

Inställningarna kan också vara olika. Det är alla personliga preferenser.

Se Steg
Relaterade Ämnen

Bygga din egen dator

varför skulle någon gå ut och köpa en dator från en manufaturer som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

Bygga din egen laptop

varför skulle någon gå ut och köpa en dator från en tillverkare som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

DIY, BYGGA DIN EGEN DIGITALA BINARY CLOCK!

Detta Instructable visar hur man bygger en digital klocka på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Introduktion Det finns två sätt att bygga din egen binär klocka.1.-en är till göra din egen PCB. Att lära sig lite av mik...

Bygga din egen elektrisk motorcykel

ÖversiktDet färdiga projektet är en 1981 Kawasaki KZ440, omvandlas till elektriska. Den drivs av fyra Optima gul topp förseglade (AGM) bly-syra batterier, som driver en Briggs & Stratton Etek elmotor. Hastigheten på motorn styrs av en Alltrax varumär...

Bygg din egen elbil: Billiga

Hej alla,Detta är en presentation jag gjorde på moder jord mässan september 25th 2010.I den täcka jag de steg som det tog för mig att bygga en elbil på en budget.Det var bara en 45 minuters presentation, så vissa saker var bara berörde som i sig kan...

Bygg din egen elbil!

"Electro-Metro" projektet.Har inte råd en Nissan Leaf? Inga problem!Bygga en billig elbil själv genom att ta bort den bilen motorn, ersätta den med en gaffeltruck motor, och lägga till batterier.Jag har massor av videor om projektet på:http://ww...

Bygga din egen jorden ugn

Vem älskar inte läcker vedeldad ugn pizza? INGEN.Jag hade en dröm om bakgård pizza part kul gånger och började göra en del efterforskningar att göra det dröm verklighet.Först tittade jag på material kostnaden för en tegelugn (spoiler alert: de är all...

Bygg din egen hörsel Augmented Seashell!

i detta Instructable jag kommer att förklara hur man bygger din egen hörsel Augmented Seashell. Nu, innan vi börjar, vad är en auditiv Augmented Seashell?Svar: i princip är det en snäcka kan producera andra ljud än det redan gör. En snäcka producerar...

Bygga din egen Mobility Rehab handikappade Scooter för mindre än $500

Jag kan visa dig hur du konverterar en rakkniv E300 skoter, föreslår jag att du köpa från Amazon.com bör vara omkring $250, i din egen Rehab handikappade scooter. E300 skoter får du har bara en hastighet. Hög hastighet, eller kusten, inget däremellan...

Bygga din egen ficka SID Audio Player

Låt oss tid reser tillbaka till 80-talet igen genom att skapa din egen Propellerpowered Pocket SID Audio Player.]Den Guinness rekordbok listar Commodore 64 som den bäst säljande datormodellen genom tiderna. C64: an mest övertygande funktioner var det...

Bygg din egen upphöjd trädgård säng! Odla din egen mat!

i denna blogg, vi hoppas att instruera dig att bygga din egen trädgård säng. Lära av våra misstag och odla din egen mat hemma!Steg 1: fördelarDet finns många fördelar med att bygga en uppvuxen trädgård säng!1) är det lättare på din rygg! Du behöver i...

Bygg din egen bärbara rostfritt stål fälgar tube - och hela bara väger bara 17 kg!

Jag är en långsiktig homebrewer men jag har alltid gjort enda steg infusion mosar. Jag har alltid velat en fälgar eller HERMS system men jag inte gillar det utrymme ett fullständigt system tar upp och jag har alltid backade på grund av kostnaden. Men...

Hemma Hydroponics - en handbok om hur att bygga din egen hydroponics system

IntroduktionOrsakerna och effekterna av överbefolkningÖverbefolkning ska inte tas lättvindigt. Den har några fruktansvärda effekter, en av dem är en brist på mat. Våra för närvarande överbefolkad värld orsakas av den industriella revolutionen. Den in...

Hur till bygga din egen rörliga Tardis!

Få din "hur att bygga din egen Tardis Kit" & en annan klar Tardis för skala.Steg 1: Steg 1 öppna Tardis Kit Steg 1 Öppna "Hur att bygga din egen Tardis Kit"Kontrollera att du har alla bitar du behöver!Steg 2: Steg 2 sätta lampa i T...

Bygg din egen gitarren effektpedal!

Med dagens ekonomi, de flesta kvalitet gitarr effekt pedaler är över $100, det är mycket sällan att du hittar en bra pedal för under $100, särskilt om den är gjord i USA. Det finns ett mycket billigare alternativ om du bara måste ha vissa grundläggan...

Bygga din egen Smartphone

Denna handledning tar dig från början till slut i att bygga din egen smartphone. Du kommer att börja med 3D utskrift fall sedan löda kretskort tillsammans, församlingen, och slutligen installera en mobil OS på din telefon och använda Python för att g...

En Wide Body Quadrotor - mönster och idéer för att bygga din egen.

Multirotors--hur coola de är!En quadrotor är en typ av multirotor flygplan. Dessa flygplan är enklare än någonsin att bygga. Du kan börja med denna maskin och öka dess kapacitet (och komplicerade) som du lära dig mer. Din erfarenhet, kunskap och resp...

BYGG DIN EGEN ROBOT. DIY

detta Instructable visar hur man bygger en grundläggande robot på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Det finns två sätt att bygga din egen grundläggande robot1.-en är till göra din egen PCB. Att lära sig lite elektron...

Bygga din egen FM-Radio Astronomy Lab

eftersom jag är en enkel man, och tanken på att försöka förstå allt okändan är mer än jag kan hantera, jag föredrar den enklare sidan av astronomi. Min personliga astronomi verktyg inkluderar ett 4,5" reflektor teleskop, ett par av kikare och en FM-R...