Kaip sukonfigūruoti pfSense ugniasienę?

Kas yra pfSense ir kodėl verta juo domėtis

Jei kada nors susimąstėte apie savo namų ar mažos įmonės tinklo saugumą, greičiausiai girdėjote apie pfSense. Tai nemokama, atviro kodo ugniasienės ir maršrutizatoriaus programinė įranga, paremta FreeBSD operacine sistema. Skamba sudėtingai? Iš tikrųjų tai tiesiog labai galingas įrankis, kuris leidžia paversti paprastą kompiuterį į profesionalų tinklo saugumo sprendimą.

PfSense atsirado 2004 metais kaip m0n0wall projekto atšaka. Kūrėjai norėjo sukurti kažką galingesnio, lanksčiau konfigūruojamo. Per beveik du dešimtmečius jis išaugo į vieną populiariausių ugniasienės sprendimų pasaulyje. Daugelis IT specialistų jį renkasi ne tik dėl kainos (nemokamai!), bet ir dėl funkcionalumo, kuris konkuruoja su komerciniais sprendimais, kainuojančiais tūkstančius eurų.

Pagrindinė pfSense idėja paprasta – jūs turite vieną įrenginį, kuris stovi tarp jūsų vidinio tinklo ir interneto. Jis kontroliuoja visą srautą, filtruoja nepageidaujamą turinį, gali kurti VPN tunelius, valdyti tinklo greitį ir dar daugybę kitų dalykų. Tai tarsi saugos postas prie jūsų skaitmeninio namo durų.

Techniniai reikalavimai ir pasiruošimas diegimui

Prieš šokant į konfigūraciją, reikia pasiruošti techninę pusę. PfSense nėra itin reiklus resursams, bet tam tikri minimaliūs reikalavimai egzistuoja. Jums reikalingas kompiuteris su bent 1 GHz procesoriumi, 1 GB RAM atminties ir 8 GB disko vietos. Tačiau tai tikrai minimumas – realybėje geriau turėti bent 2 GB RAM, ypač jei planuojate naudoti papildomus paketus kaip IDS/IPS sistemas.

Svarbiausias dalykas – tinklo plokštės. Jums reikės bent dviejų: vienos WAN (Wide Area Network) ryšiui su internetu, kitos LAN (Local Area Network) ryšiui su vidiniu tinklu. Daugelis entuziastų perka senus biuro kompiuterius ir įdeda papildomą tinklo plokštę – tai puikus ir ekonomiškas sprendimas. Aš pats pradėjau su senu Dell Optiplex kompiuteriu, kuris puikiai tarnavo kelerius metus.

Disko pasirinkimas taip pat svarbus. Nors pfSense gali veikti net nuo USB atmintuko, tai nėra rekomenduojama ilgalaikiam naudojimui. USB atmintukai turi ribotą įrašymų ciklų skaičių ir gali sugesti. SSD diskas yra idealus pasirinkimas – greitas, tylus ir patikimas. Jei turite senesnį mechaninį kietąjį diską, jis taip pat puikiai tiks.

Diegimo procesas žingsnis po žingsnio

Pirmiausia reikia atsisiųsti pfSense įvaizdį iš oficialios svetainės. Pasirinkite tinkamą architektūrą – dažniausiai tai bus AMD64 (net jei turite Intel procesorių, šis variantas tinka). Atsisiuntę įvaizdį, turėsite jį įrašyti į USB laikmeną naudodami tokias programas kaip Rufus (Windows) ar Etcher (Linux/Mac).

Įkiškite USB į kompiuterį, kuris taps jūsų ugniasiene, ir įjunkite jį. Turbūt teks pakeisti BIOS nustatymus, kad kompiuteris startuotų iš USB. Paprastai tai daroma paspaudus F2, F12 ar Delete klavišą įjungimo metu – priklauso nuo jūsų kompiuterio gamintojo.

Kai pfSense diegimo programa pakraus, pamatysite tekstinį meniu. Procesas gana paprastas – pasirinkite „Install”, tada pasirinkite klaviatūros išdėstymą, pasirinkite diską, į kurį diegsite sistemą. Diegimo programa paklaus, ar norite UFS ar ZFS failų sistemą. Pradedantiesiems rekomenduoju UFS – ji paprastesnė ir visiškai pakankama.

Po kelių minučių sistema bus įdiegta. Ištraukite USB laikmeną ir perkraukite kompiuterį. Dabar pfSense turėtų pasileisti iš kietojo disko. Pamatysite konsolės meniu su įvairiomis parinktimis. Bet didžioji dalis konfigūracijos vyks per žiniatinklio sąsają.

Pradinė konfigūracija per žiniatinklio sąsają

Kai pfSense pirmą kartą paleidžiamas, jis automatiškai priskiria IP adresus tinklo plokštėms. Paprastai LAN sąsaja gauna 192.168.1.1 adresą. Prijunkite savo kompiuterį prie LAN prievado ir naršyklėje įveskite šį adresą. Pamatysite prisijungimo langą. Numatytasis vartotojo vardas yra „admin”, slaptažodis – „pfsense”.

Pirmas dalykas, kurį turėtumėte padaryti – pakeisti šį slaptažodį! Tai elementari saugumo praktika. Eikite į System → User Manager, pasirinkite admin vartotoją ir pakeiskite slaptažodį į kažką stipraus. Naudokite didžiąsias ir mažąsias raides, skaičius ir specialiuosius simbolius.

Toliau paleiskite Setup Wizard (vedlį), kuris padės sukonfigūruoti pagrindines nuostatas. Jis paklaus apie jūsų laiko juostą, serverio pavadinimą, DNS serverius. DNS serveriams galite naudoti Google (8.8.8.8 ir 8.8.4.4), Cloudflare (1.1.1.1) arba bet kuriuos kitus, kuriuos pageidaujate.

Svarbi dalis – WAN sąsajos konfigūracija. Jei jūsų interneto tiekėjas naudoja DHCP (dažniausiai taip ir yra), tiesiog pasirinkite DHCP kaip konfigūracijos tipą. Jei turite statinį IP adresą, turėsite įvesti jį rankiniu būdu kartu su šliuzo ir kaukės informacija, kurią turėjote gauti iš savo interneto tiekėjo.

Ugniasienės taisyklių kūrimas ir valdymas

Dabar pereikime prie pačios įdomios dalies – ugniasienės taisyklių. PfSense veikia pagal labai paprastą principą: jis tikrina kiekvieną duomenų paketą, einantį per jį, ir nusprendžia, ar leisti jam praeiti, ar ne. Šis sprendimas priimamas remiantis taisyklėmis, kurias jūs sukuriate.

Eikite į Firewall → Rules. Pamatysite skirtukus skirtingoms sąsajoms – WAN, LAN ir kitoms, jei tokių turite. Numatytoji pfSense filosofija yra tokia: WAN sąsajoje viskas blokuojama, nebent aiškiai leidžiate; LAN sąsajoje viskas leidžiama, nebent aiškiai blokuojate. Tai saugi pradinė konfigūracija.

Taisyklės skaitomos iš viršaus į apačią, ir pirmoji atitinkanti taisyklė laimi. Tai svarbu suprasti kuriant sudėtingesnes konfigūracijas. Pavyzdžiui, jei viršuje turite taisyklę, kuri blokuoja visą srautą iš tam tikro IP, o žemiau – taisyklę, kuri leidžia visą srautą, tas IP vis tiek bus blokuojamas.

Sukurti naują taisyklę paprasta. Spustelėkite rodyklę į viršų arba žemyn (pridėti taisyklę viršuje ar apačioje), pasirinkite veiksmą (Pass – leisti, Block – blokuoti, Reject – atmesti su pranešimu), protokolą (TCP, UDP, ICMP ar bet kurį), šaltinio ir paskirties adresus bei prievadus. Pavyzdžiui, jei norite leisti SSH ryšį iš išorės į konkretų serverį jūsų tinkle, sukurtumėte WAN taisyklę, leidžiančią TCP srautą į 22 prievadą konkretaus IP adreso.

NAT ir prievadų peradresavimas praktikoje

NAT (Network Address Translation) yra mechanizmas, leidžiantis keliems įrenginiams jūsų vidiniame tinkle dalytis vienu viešu IP adresu. PfSense tai daro automatiškai, todėl dažniausiai jums nereikia nieko keisti pagrindiniuose NAT nustatymuose.

Tačiau prievadų peradresavimas (Port Forwarding) – tai kita istorija. Tai būtina, kai norite, kad išoriniai vartotojai galėtų pasiekti paslaugas, veikiančias jūsų vidiniame tinkle. Pavyzdžiui, turite žaidimų serverį, žiniatinklio serverį ar IP kameras, kurias norite pasiekti iš bet kur.

Eikite į Firewall → NAT → Port Forward. Spustelėkite „Add” ir užpildykite formą. Interface pasirinkite WAN, Protocol – paprastai TCP ar UDP (priklauso nuo paslaugos), Destination – WAN address. Destination port range – tai prievadas, kurį norite peradresuoti. Redirect target IP – tai vidinio įrenginio IP adresas, Redirect target port – prievadas tame įrenginyje.

Svarbus niuansas: kai sukuriate prievadų peradresavimo taisyklę, pfSense automatiškai sukuria atitinkamą ugniasienės taisyklę WAN sąsajoje. Tačiau kartais reikia ją pakoreguoti rankiniu būdu, ypač jei norite apriboti prieigą tik iš tam tikrų IP adresų. Tai galite padaryti Firewall → Rules → WAN skiltyje.

DHCP serverio ir DNS nustatymai

PfSense turi integruotą DHCP serverį, kuris automatiškai priskiria IP adresus įrenginiams jūsų tinkle. Tai labai patogu – nereikia rankiniu būdu konfigūruoti kiekvieno kompiuterio, išmaniojo telefono ar planšetės. Eikite į Services → DHCP Server ir pasirinkite LAN sąsają.

Čia galite nustatyti IP adresų diapazoną, kurį DHCP serveris dalins. Pavyzdžiui, jei jūsų LAN tinklas yra 192.168.1.0/24, galite nustatyti diapazoną nuo 192.168.1.100 iki 192.168.1.200. Tai palieka adresus nuo .1 iki .99 statiniams priskyrimams – serveriams, spausdintuvams ir kitiems įrenginiams, kuriems norite turėti pastovų adresą.

Kalbant apie statinius priskyrius – DHCP serveris leidžia sukurti statines rezervacijas pagal MAC adresą. Tai puiki praktika kritiniams įrenginiams. Eikite į DHCP Static Mappings skiltį, pridėkite naują įrašą, įveskite MAC adresą ir norimą IP adresą. Dabar tas įrenginys visada gaus tą patį IP, bet vis tiek naudos DHCP.

DNS Resolver (Unbound) yra kitas svarbus komponentas. Jis veikia kaip tarpinis DNS serveris jūsų tinkle, spartindamas vardų skiriamąją gebą ir suteikdamas papildomą privatumo sluoksnį. Services → DNS Resolver skiltyje įsitikinkite, kad jis įjungtas. Galite įjungti DNSSEC palaikymą papildomam saugumui ir DNS Query Forwarding, jei norite naudoti konkrečius aukštesnio lygio DNS serverius.

VPN konfigūravimas saugiam nuotoliniam prisijungimui

Viena galingiausių pfSense funkcijų yra VPN (Virtual Private Network) palaikymas. Tai leidžia saugiai prisijungti prie jūsų namų ar biuro tinklo iš bet kur pasaulyje. PfSense palaiko kelis VPN protokolus, bet populiariausi yra OpenVPN ir IPsec.

OpenVPN yra paprastesnis konfigūruoti ir universalesnis – veikia beveik visose platformose. Pradėkite nuo sertifikatų sukūrimo. Eikite į System → Cert Manager → CAs ir sukurkite naują Certificate Authority (CA). Tai bus jūsų vidinis sertifikatų išdavėjas. Užpildykite formą – pavadinimą, šalį, organizaciją. Rakto ilgis 2048 bitų yra pakankamas.

Toliau System → Cert Manager → Certificates sukurkite serverio sertifikatą. Pasirinkite ką tik sukurtą CA kaip Signing Certificate Authority, nustatykite Certificate Type į „Server Certificate”. Dabar eikite į VPN → OpenVPN → Servers ir sukurkite naują serverį.

Konfigūracija gali atrodyti bauginanti, bet dauguma numatytųjų nustatymų yra tinkami. Svarbiausios parinktys: pasirinkite savo serverio sertifikatą, nustatykite Tunnel Network (tai bus virtualus tinklas VPN klientams, pavyzdžiui, 10.0.8.0/24), Local Network – tai jūsų tikrasis LAN tinklas, kurį klientai galės pasiekti. Įjunkite „Redirect Gateway”, jei norite, kad visas klientų interneto srautas eitų per VPN.

Klientų sertifikatams eikite atgal į System → Cert Manager → Certificates ir sukurkite po vieną sertifikatą kiekvienam vartotojui, šį kartą pasirinkdami „User Certificate” kaip tipą. Tada VPN → OpenVPN → Client Export galite atsisiųsti paruoštus konfigūracijos failus įvairioms platformoms – Windows, Mac, iOS, Android. Tai neįtikėtinai patogu.

Papildomi paketai ir galimybės, kurios pravers

Vienas didžiausių pfSense privalumų – galimybė įdiegti papildomus paketus, išplečiančius funkcionalumą. Eikite į System → Package Manager → Available Packages ir pamatysite įspūdingą sąrašą.

Pfblockerng yra vienas populiariausių paketų. Tai galingas įrankis, leidžiantis blokuoti reklamą, kenkėjiškas svetaines ir net visas šalis pagal geografinę vietą. Po įdiegimo rasite jį Firewall → pfBlockerNG. Galite prenumeruoti įvairius sąrašus – reklamos serverių, žinomų kenkėjiškų domenų, botnetų. Tai veikia visam tinklui, todėl visiems įrenginiams automatiškai blokuojama reklama be papildomų programų.

Snort arba Suricata – tai IDS/IPS (Intrusion Detection/Prevention System) sprendimai. Jie analizuoja tinklo srautą ieškodami įtartinų modelių ir gali automatiškai blokuoti atakas. Tai jau pažangesnė tema, reikalaujanti daugiau resursų ir žinių, bet jei rimtai rūpinasi saugumu, verta išbandyti. Pradėkite nuo Snort – jis šiek tiek paprastesnis konfigūruoti.

Squid ir SquidGuard – tai tarpinio serverio (proxy) sprendimai, leidžiantys kontroliuoti ir filtruoti žiniatinklio srautą. Ypač naudinga verslo aplinkoje ar šeimose su vaikais. Galite blokuoti tam tikras kategorijas (pvz., suaugusiųjų turinį, socialines žiniasklaidas darbo metu), stebėti, kokias svetaines lanko vartotojai, ir net spartinti dažnai lankomų svetainių įkėlimą naudojant talpyklą.

Ntopng suteikia detalią tinklo srauto analizę. Galite matyti, kurie įrenginiai naudoja daugiausiai duomenų, kokius protokolus, su kokiais serveriais bendrauja. Tai neįkainojama informacija sprendžiant tinklo problemas ar ieškant įtartinos veiklos.

Kasdienė priežiūra ir problemų sprendimas

Sukonfigūravus pfSense, darbas nesibaigia – reikia reguliarios priežiūros. Laimei, tai nereikalauja daug laiko. Svarbiausia – reguliariai atnaujinti sistemą. PfSense komanda reguliariai išleidžia saugumo pataisas ir funkcionalumo pagerinimus. System → Update skiltyje galite patikrinti, ar yra naujinimų. Procesas paprastas – tiesiog spustelėkite „Confirm” ir palaukite, kol sistema atsinaujins ir perkraus.

Atsarginės kopijos yra kritiškai svarbios. Diagnostics → Backup & Restore leidžia eksportuoti visą jūsų konfigūraciją į XML failą. Darykite tai reguliariai, ypač prieš darydami didesnius pakeitimus. Jei kas nors nutiktų, galėsite greitai atkurti viską. Aš asmeniškai laikau atsargines kopijas trijose vietose – vietiniame kompiuteryje, išoriniame diske ir debesyje.

Žurnalai (logs) yra jūsų geriausias draugas sprendžiant problemas. Status → System Logs rasite įvairių kategorijų žurnalus – sistemos, ugniasienės, DHCP, VPN ir kitus. Jei kažkas neveikia, pirmiausia žiūrėkite čia. Ugniasienės žurnalas parodys, kokie paketai blokuojami, kas gali padėti suprasti, kodėl tam tikra paslauga nepasiekiama.

Dažna problema – užmiršti, kad sukūrėte blokuojančią taisyklę. Jei staiga kažkas nustoja veikti, patikrinkite Firewall → Rules ir ieškokite taisyklių su raudonu „X” (block) simboliu. Taip pat atminkite, kad taisyklės skaitomos iš viršaus į apačią – kartais žemiau esanti leidžianti taisyklė niekada nepasiekiama dėl aukščiau esančios blokuojančios.

Diagnostics → Ping ir Diagnostics → Traceroute yra naudingi įrankiai tikrinant tinklo ryšį. Jei negalite pasiekti tam tikro serverio, ping iš pfSense gali padėti nustatyti, ar problema yra jūsų tinkle, ar už jo ribų. Taip pat Diagnostics → States leidžia matyti aktyvius tinklo ryšius – kartais užstrigę ryšiai gali sukelti problemų, ir juos galima rankiniu būdu išvalyti.

Kai viskas veikia sklandžiai

Sukonfigūravus pfSense, jūs turite profesionalų tinklo saugumo sprendimą, kuris konkuruoja su komerciniais produktais, kainuojančiais tūkstančius. Bet svarbiausia – jūs suprantate, kaip jis veikia, ir turite visišką kontrolę. Tai ne juoda dėžė, kurią tiesiog įjungiate ir tikitės, kad viskas veiks.

Pradžioje gali atrodyti sudėtinga, ypač jei nesate tinklo specialistas. Bet nebijokite eksperimentuoti – pfSense turi puikią dokumentaciją ir aktyvią bendruomenę. Forumuose beveik bet kokiam klausimui rasite atsakymą. Pradėkite nuo paprastos konfigūracijos ir palaipsniui pridėkite sudėtingesnes funkcijas, kai jaučiatės patogiau.

Svarbu suprasti, kad ugniasienė nėra „nustatyk ir pamiršk” sprendimas. Tinklo grėsmės nuolat keičiasi, atsiranda naujos pažeidžiamybės, keičiasi jūsų poreikiai. Skirkite laiko kas mėnesį peržiūrėti žurnalus, patikrinti, ar nėra naujinimų, galbūt pakoreguoti taisykles pagal tai, kaip naudojate tinklą.

PfSense taip pat puiki mokymosi priemonė. Net jei vėliau nuspręsite pereiti prie komercinio sprendimo ar debesų paslaugos, žinios, kurias įgijote konfigūruodami pfSense, bus neįkainojamos. Suprasite, kaip veikia ugniasienės, NAT, VPN, DHCP – visa tai yra fundamentalios tinklo koncepcijos, taikomos visur.

Galiausiai, turėdami pfSense, galite būti ramūs dėl savo tinklo saugumo. Žinote, kas įeina ir išeina iš jūsų tinklo, galite blokuoti nepageidaujamą turinį, saugiai prisijungti iš bet kur, ir visa tai nenaudodami nė cento už programinę įrangą. Tai tikrai verta investuoto laiko.

Опубликовано в Kompiuterių remontas, naujienos.