Jei norite paleisti tam tikrą serverio programinę įrangą savo „Raspberry Pi“ (t. Y.e., žiniatinklio serveris, duomenų bazės serveris, „Minecraft“ serveris) ir paverskite juos viešai prieinamais internete (priegloba), tada labai svarbu apsaugoti savo „Raspberry Pi“ serverį užkardos programa.
„Raspberry Pi OS“ (oficialioje „Raspberry Pi“ vieno borto kompiuterių operacinėje sistemoje) yra daugybė nemokamų ir atviro kodo užkardos programų. Tarp šių programų UFW ir „Firewalld“ yra labiausiai paplitusios užkardos programos.
Šiame straipsnyje aš naudosiu UFW užkardos programą, kad parodyčiau, kaip apsaugoti „Raspberry Pi“. Taigi, pradėkime.
Dalykai, kurių jums reikės:
Norėdami sekti šį straipsnį, jums reikės šių dalykų, kad nustatytumėte „Raspberry Pi“ režimą be galvos:
- „Raspberry Pi 3“ arba „Raspberry Pi 4“ vieno borto kompiuteris.
- „Micro-USB“ („Raspberry Pi 3“) arba „Type-C“ („Raspberry Pi 4“) maitinimo adapteris.
- Mirksi 16 GB arba 32 GB „microSD“ kortelė su „Raspberry Pi OS“.
- „Raspberry Pi“ tinklo ryšys.
- Nešiojamas kompiuteris arba stacionarus kompiuteris, skirtas VNC nuotoliniam darbalaukiui arba SSH prieigai prie „Raspberry Pi“.
Jei nenorite nustatyti „Raspberry Pi 4“ be galvos režimo, jums taip pat reikės:
- Monitorius
- HDMI arba „micro-HDMI“ kabelis
- Klaviatūra
- Pelė.
Jei jums reikia pagalbos mirksint „Raspberry Pi OS“ vaizdui „microSD“ kortelėje, patikrinkite mano straipsnį „Kaip įdiegti ir naudoti„ Raspberry Pi Imager “.
Jei esate „Raspberry Pi“ pradedantysis ir jums reikia bet kokios pagalbos įdiegiant „Raspberry Pi OS“ į „Raspberry Pi“, patikrinkite mano straipsnį „Kaip įdiegti„ Raspberry Pi OS “į„ Raspberry Pi 4 “.
Jei jums reikia pagalbos dėl „Raspberry Pi“ nustatymo be galvos, peržiūrėkite mano straipsnį „Raspberry Pi OS“ įdiegimas ir konfigūravimas „Raspberry Pi 4“ be išorinio monitoriaus.
„Raspberry Pi“ OS atnaujinimas:
Kai bandome apsaugoti savo „Raspberry Pi“, verta atnaujinti visus esamus „Raspberry Pi OS“ paketus. Tai padarys jūsų „Raspberry Pi“ OS saugesnę, nes ji įdiegs visus naujausius saugos naujinimus ir klaidų taisymus.
Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:
$ sudo apt atnaujinimas
Norėdami atnaujinti visus esamus „Raspberry Pi OS“ paketus, vykdykite šią komandą:
Norėdami patvirtinti naujinimų diegimą, paspauskite Y tada paspauskite <Įveskite>.
APT paketų tvarkyklė atsisiųs visus reikalingus paketus iš interneto. Gali praeiti šiek tiek laiko.
Kai paketai bus atsisiųsti, APT paketų tvarkyklė juos įdiegs po vieną. Gali praeiti šiek tiek laiko.
Šiuo metu visi naujinimai turėtų būti įdiegti.
Kad pakeitimai įsigaliotų, paleiskite „Raspberry Pi“ iš naujo naudodami šią komandą:
$ sudo perkrauti
UFW diegimas - nesudėtinga užkarda:
Įkūrę „Raspberry Pi“, galite įdiegti UFW užkardos programą naudodami šią komandą:
$ sudo apt įdiekite ufw -y
Reikėtų įdiegti UFW.
Kad pakeitimai įsigaliotų, paleiskite „Raspberry Pi“ iš naujo naudodami šią komandą:
Kai jūsų aviečių Pi batai, ufw „systemd“ paslauga turėtų būti aktyvi, kaip matote toliau pateiktoje ekrano kopijoje.
Galite patikrinti, ar UFW yra įjungtas, atlikdami šią komandą:
Kaip matote, UFW nėra įjungta pagal numatytuosius nustatymus.
Norėdami įgalinti UFW, vykdykite šią komandą:
Kaip matote, dabar UFW yra įjungtas.
Leidimas pasiekti uostus naudojant programų profilius:
UFW turi keletą numatytųjų programų profilių. Kiekviename programos profilyje yra keletas iš anksto nustatytų prievadų, prie kurių galite leisti / uždrausti prieigą.
Norėdami išvardyti visus galimus programų profilius, vykdykite šią komandą:
$ sudo ufw programų sąrašas
Reikėtų išvardyti visus įdiegtus programų profilius.
Jei esate prisijungę prie „Raspberry Pi“ per SSH ar VNC (kaip ir aš), turite leisti pasiekti „OpenSSH“ ir VNC programų profiliai. Kitu atveju, kai kitą kartą paleisite „Raspberry Pi“, negalėsite prie jo prisijungti nuotoliniu būdu, nes užkarda blokuos visus prievadus, įskaitant SSH ir VNC prievadus. Taigi, tai yra labai svarbu.
Galite pamatyti, kokie prievadai yra apibrėžti programos profilyje (t.e., „OpenSSH“) su tokia komanda:
Kaip matai, 22 TCP prievadas yra apibrėžta programos profilyje „OpenSSH“.
Tuo pačiu būdu TCP prievadas 5900 yra apibrėžta VNC programos profilis.
Norėdami leisti pasiekti uostus, apibrėžtus VNC programos profilis, vykdykite šią komandą:
Kaip matote, VNC programos profilis leidžiamas per užkardą.
Tokiu pačiu būdu leiskite patekti į uostus, apibrėžtus „OpenSSH“ programos profilis su šia komanda:
Kaip matote, „OpenSSH“ programos profilis leidžiamas per užkardą.
Leidimas pasiekti uostus naudojant uosto numerį:
Kartais uostas, prie kurio norite leisti / neleisti prieigos, nebus apibrėžtas jokiuose prieinamuose programų profiliuose. Taigi, turėsite leisti / neleisti prieigos prie šių prievadų naudodami prievado numerį.
Pvz., Galite leisti pasiekti TCP prievadas 8080 su tokia komanda:
$ sudo ufw leisti 8080 / tcp
Kaip matote, TCP prievadas 8080 leidžiama pasiekti per užkardą.
Tokiu pačiu būdu galite leisti pasiekti UDP 8888 prievadas su tokia komanda:
Kaip matote, UDP 8888 prievadas leidžiama pasiekti per užkardą.
Prieigos prie uostų atsisakymas:
Numatytasis UFW užkardos programos elgesys yra paneigti viską, kas neleidžiama. Taigi, norint uždrausti prieigą prie jokių uostų, nieko nereikia daryti.
Konkurencijos sumetimais aš jums parodysiu, kaip vis tiek paneigti uostus UFW.
Pavyzdžiui, norint uždrausti prieigą prie TCP prievadas 9900, paleiskite šią komandą:
$ sudo ufw neigti 9900 / tcp
Kaip matote, TCP prievadas 9900 neleidžiama naudotis per užkardą.
Tokiu pačiu būdu galite paneigti prievadus, apibrėžtus programos profilyje (t.e., WWW) taip:
Konkrečių IP adresų prieigos prie serverio uždraudimas:
Kartais jums gali tekti uždrausti prieigą prie konkretaus IP adreso ar IP potinklio, kad apsaugotumėte „Raspberry Pi“ serverį nuo DDoS (Distributed Denial of Service) atakų. Tai galite padaryti naudodami UFW.
Norėdami eksperimentuoti su IP adresų neigimu, naudosiuosi „Apache“ serveriu.
„Raspberry Pi“ galite įdiegti „Apache“ serverį naudodami šią komandą:
$ sudo apt install apache2
Norėdami patvirtinti diegimą, paspauskite Y tada paspauskite <Įveskite>.
APT paketų tvarkyklė atsisiųs visus paketus iš interneto ir įdiegs juos po vieną. Gali praeiti šiek tiek laiko.
Šiuo metu turėtų būti įdiegtas „Apache“ tinklo serveris.
Įdiegę „Apache“ serverį, sukurkite paprastą rodyklės puslapį su šia komanda:
Sveiki atvykę į „LinuxHint“
"| sudo tee / var / www / html / index.HTML
The apache2 „systemd“ paslauga turėtų veikti, kaip matote toliau pateiktoje ekrano kopijoje.
Leisti prieigą prie „Apache“ tinklo serverio prievado (TCP prievadas 80) naudojant programos profilį WWW taip:
Kaip matote, programos profilyje apibrėžti prievadai WWW leidžiama pasiekti per užkardą.
Raskite savo „Raspberry Pi“ IP adresą naudodami šią komandą:
Kaip matote, mano „Raspberry Pi“ IP adresas yra 192.168.0.106. Jums bus kitaip. Taigi, nuo šiol būtinai pakeiskite jį savo.
Turėtumėte prieiti prie „Apache“ serverio iš kitų įrenginių, kaip matote toliau pateiktoje ekrano kopijoje.
Kompiuteris, kurį naudoju prieigai prie „Apache“ tinklo serverio, turi IP adresą 192.168.0.109.
Norėdami atmesti IP adresą 192.168.0.109 prieigą prie savo „Raspberry Pi“ serverio, viršuje turite pridėti užkardos taisyklę (1 pozicija). UFW taisyklių tvarka turi daug reikšmės. Pirmiausia turėtų būti taikomos griežčiausios taisyklės.
Norėdami atmesti IP adresą 192.168.0.109 prieigą prie „Raspberry Pi“ serverio, vykdykite šią komandą:
UFW taisyklė, leidžianti atmesti IP adresą 192.168.0.109 prieiga prie „Raspberry Pi“ serverio turėtų būti aukščiausia taisyklė, kaip parodyta toliau pateiktoje ekrano kopijoje.
Negalėsite pasiekti „Apache“ tinklo serverio, veikiančio jūsų „Raspberry Pi“, iš kompiuterio su IP adresu 192.168.0.109 daugiau, kaip matote toliau pateiktoje ekrano kopijoje.
Bet iš „Raspberry Pi“ veikiančio „Apache“ tinklo serverio galite pasiekti iš kitų kompiuterių.
Jei norite uždrausti prieigą prie IP potinklio, prieš anksčiau pridėtą taisyklę turite pridėti reikalingą UFW taisyklę, nes tai yra griežtesnė taisyklė.
Pavyzdžiui, uždrausti prieigą prie kiekvieno IP potinklio kompiuterio 192.168.20.0/24, paleiskite šią komandą:
UFW taisyklė turėtų būti pridėta teisingoje pozicijoje, kaip parodyta žemiau esančiame ekrano kopijoje. Dabar nėra jokio kompiuterio iš IP potinklio 192.168.20.0/24 turėtų turėti prieigą prie jūsų „Raspberry Pi“ serverio.
UFW taisyklių pašalinimas:
Kartais gali tekti pašalinti kai kurias UFW taisykles. Tai padaryti labai lengva.
Galite išvardyti visas galimas UFW taisykles naudodami šią komandą:
$ sudo ufw būsena sunumeruota
Reikėtų išvardyti visas galimas UFW taisykles. Tarkime, norite pašalinti UFW taisyklės numerį 10 (taisyklė 10 pozicijoje).
Norėdami pašalinti UFW taisyklės numerį 10, vykdykite šią komandą:
Norėdami patvirtinti pašalinimo operaciją, paspauskite Y tada paspauskite <Įveskite>.
UFW taisyklės numeris 10 turėtų būti pašalintas.
Kaip matote, UFW taisyklė pašalinama ir taisyklės pertvarkomos (11 pozicijoje buvusi UFW taisyklė dabar yra 10 pozicijoje).
Išvada:
Šiame straipsnyje aš parodžiau, kaip įdiegti UFW užkardos programą į „Raspberry Pi“ (veikia „Raspberry Pi“ OS). Aš taip pat parodžiau, kaip leisti / neleisti uostams naudojant UFW užkardos programą. Aš jums parodžiau, kaip neleisti tam tikram IP adresui ar IP potinkliui pasiekti „Raspberry Pi“ naudojant UFW užkardos programą.