Napravljene poruke na forumu
-
AutorČlanci
-
Nightweaver
UčesnikSoxxx je sve rekao.;)
@Soxxx
Kakav je bre to Linux tu? Ccc… moracemo mi ozbiljno da popricamo.:P :biggrin:Nightweaver
UčesnikHeh.. OpenBSD moze da bude odlican server zaista. Ipak, ja biram FreeBSD za te potrebe.. ipak je pravljen za taj posao – The power to Server.:)
Nightweaver
UčesnikU pravim rukama OpenBSD se podesava za manje od pola sata. Moj licni tajming za obican NAT firewall baziran na OpenBSD-u je oko 15min.:D Ako nema zabave nego se sve podesava na kliktanje nikada neces nauciti sta si zapravo uradio.;)
Nightweaver
UčesnikRanije sam kao komentare u pravilima stavljao objasnjenja sta cemu sluzi… ali je to bilo pre ko zna koliko godina. Sada mi je sve tu u malom prstu. Elem:
int_if = “rl1”
ext_if = “rl0”– definises interfejse tj. njihove aliase kako ne bi u toku pravila pisao rl1 ili rl0 kao kartice lepo stavis neko ime. Ja sam navikao na int_if za internu karticu koja vodi ka LAN-u i ext_if koja je ona povezana na net. Mozes ih zapravo zvati kako ti drago.
protocols = “{ tcp udp }”
icmp_types = “echoreq”Opet aliasi. Kako ces cesto u toku pisanja pravila morati da definises koj protokol ces pokriti, a obicno su to TCP i UDP, onda ih ovde lepo definises. Posle toga u sintaksi firewalla samo kucas $protocols. ICMP TYPES se odnosi na ICMP. Firewall po defaultu blokira PING upite. To je ponekad dobro a ponekad lose. Ovaj alias u ovim pravilima nicemu ne sluzi 🙂 Posto nema pravila koje pusta ping. Ako ti je to potrebno samo reci pa cu dodati i pravilo za ping. Ovako napisano to je samo alias koji nicemu ne sluzi.:D
# Options
set block-policy return
set loginterface $ext_if
set skip on lo0– Dodatne opcije. Ako pazljivo pogledas videces da je poprilicno citljivo. Prvo pravilo definise nacin odbijanja upada, drugi definise koji ce protok logovati. Posto nas brine samo ulaz/izlaz na Net onda logujemo samo ext_if podatke. I konacno, stavljas da firewall ne obraca paznju na desavanja na lokalnom loopback uredjaju.
# Scrub
scrub in all– Scrub je normalizaija paketa. Sta to znaci? Scrub opcija sastavlja fragmentirane pakete, stiti neke operativne sisteme od DoS napada, odbija TCP pakete sa pogresnom kombinacijom flagova itd. Ova komanda gore radi scrub na sav ulazni saobracaj na svim interfejsima. Ako zelis mozes staviti scrub samo za ext if pa bi pravilo bilo: scrub in on $ext_if
# NAT
nat on $ext_if from $int_if:network to any -> ($ext_if)– ovo je jasno kao dan. Sav saobracaj iz LAN-a ce biti NAT-ovan.:)
# Rules
block in log
pass out
pass quick on lo0 all
pass in quick on $int_if from $int_if:networkDa ovo gore ispricam kao pricu: blokiraj sav dolazni saobracaj i loguj. Dozvoli sav odlazni saobracaj. Pusti bez provere sav saobracaj na loopback uredjaj. Dozvoli ulaz na ruter preko int_if uredjaja svima koji su u IP opsegu int_if-a – ako je on 10.0.0.1 onda ce ovo biti 10.0.0.0/24.
I to je to. Nekada davno smo morali da na kraj pravila u firewallu dodajemo i tip flegova koje pustamo (S/SA nrp.) kao i da kazemo keep state. Kao sto znate UDP je stateless protokol. PF cini da cak i takav protokol ne bude stateless tako sto on vodi racuna o trenutnom stanju prenosa podataka – potvrde o prijemu.:) Sada je keep state podrazumevana stvar u PF tako da vise ne moramo da navodimo tako nesto. To je super jer su pravila znatno preglednija. Kada sad vidim PF na jednoj FreeBSD 5.4 masini koju imam u USA dodje mi da zaplacem.:)
antispoof quick for $ext_if
– i konacno, nacin da se maliciozni pokusaji prenosa podataka zaustave. spoof adrese nastaje kada maliciozni korisnik lazira svoju IP adresu kako bi unutar mreze preneli neke podatke kao neko drugi. Ovaj deo pravila se stara da do tako neceg ne dolazi. Korisno za dolazni saobracaj. Kada u pravilo stavis “quick” onda se ono izvrsi bez obzira sta pisalo u ostatku firewalla – dakle, antispoof ma sta se desavalo kasnije.:)
Mozda sam negde bio malko konfuzan, izvinjavam se. Bio je ovo dug dan. Ako jos nesto nije jasno samo pitajte. Mada je sve lepo objasnjeno na OpenBSD sajtu. Sto se PF-a tice topla preporuka je The Book of PF. Mozete je naci na netu.;)
Nightweaver
UčesnikTo i jeste firewall za desktop masinu. Samo maknes onaj deo sa NAT-ovanjem i dobijes regularan firewall koji blokira sve upade i dozvoljava izlazni saobracaj. Radi dodatnu normalizaciju paketa i antispoof i toliko. Ovo je vise nego dovoljno za obicnog korisnika. Naravno, ovo se sada moze prosiriti gomilom stvari od kojih je moja omiljena queue tj. deljenje protoka medju korisnicima tako da svako ima svoj “zaseban” link.:)
Nightweaver
UčesnikOva pravila odozgo blokiraju sve. Packet Filter radi po principu – blokiraj sve a onda pustaj sta ti je potrebno.;)
Nightweaver
Učesnik[code]Sintaksa firewall je besmisleno jednostavna. Evo ti moj firewall:
[code]# Router
int_if = “rl1”
ext_if = “rl0”protocols = “{ tcp udp }”
icmp_types = “echoreq”# Options
set block-policy return
set loginterface $ext_if
set skip on lo0# Scrub
scrub in all# NAT
nat on $ext_if from $int_if:network to any -> ($ext_if)# Rules
block in log
pass out
pass quick on lo0 all
pass in quick on $int_if from $int_if:networkantispoof quick for $ext_if
[/code]I to je sve sto ti je potrebno da bi imao NAT posto za to kod BSD-a koristimo firewall. Ovim ces uraditi sledece: blokirati sve upade spolja, dozvoliti korisnicima iz LAN-a da idu na net i da se kace na servise u lokalu, raditi normalizaciju paketa kao i antispoof. Sve sto je coveku potrebno.:) Pored ovog treba da u /etc/rc.conf dodas:
gateway_enable=”YES”
i u /etc/sysctl.conf
net.inet.ip.forwarding=1
I to je to. Restartujes masinu i imas operativni router/gateway/firewall. Naravno, posle ovog iste fino stimovanje i ubijanje nepotrebnih servisa. Ali sve to moze da se radi dok ostali korisnici nesmetano idu na Net. Predlazem ti FreeBSD 7.0 za ovaj posao jer je totalno razbijacki napravljen sistem.:) Pogledaj ovo sto sam sada napisao pa vidi sta ti nije jasno da pojasnim.;) A kad osposobis ruter onda mogu da ti objasnim i ostalo.:)[/code]
Nightweaver
UčesnikSve sto se moze prokomentarisati na ovakve stvari jeste: http://www.xkcd.com/386/
:biggrin:
Nightweaver
UčesnikNece biti nikakvog posebnog cimanja. Imas na BSD Srbija dokumentaciji objasnjenja za skoro sve sto ce ti biti potrebno. Ne racunajuci ego tripove koje ljude navode da vise vole ovo ili ono FreeBSD kao ruter bi ti doneo Packet Filter kome, uz svo duzno postovanje, malo sta moze da pridje po kvalitetu rada i stepenu bezbednosti. Ipak, ako ti je masina samo ruter a ne nesto sto bi trebalo da sluzi kao desktop onda bih na tvom mestu pucao na OpenBSD koji je majka svih FOSS rutera bez pogovora. NetBSD nema tu sta da trazi.;)
Dakle, shorewall, koji licno smatram besmislicom, ne postoji za BSD. Tamo postoje ozbiljni firewall sistemi a pre svega Packet Filter. Ostalo je gotovo isto.. OpenSSH je projekat OpenBSD-a tako da nema nekih spektakularnih razlika u konfigurisanju.;)
Moja kucna masina je OpenBSD 4.3 koja mi sluzi i za slusanje muzike. Kontrolicem Audacious preko VNC-a tako da masina ni nema monitor. Proslog vikenda sam radio reinstaliranje sistema na 4.3 i zavrsio sve navedeno za oko 30min. Ako se odlucis da podesavas OpenBSD ili FreeBSD kao ruter racunaj na pomoc.;)
Nightweaver
UčesnikNisam ga jos probao jer nemam vremena ali bacite oko na ovo: http://www.opensolaris.com/learn/faq/index.html#25
Poslednja tacka. Marketing tim se bas trudi.
-
AutorČlanci