Ja savā Raspberry Pi vēlaties palaist sava veida servera programmatūru (t.i.e., tīmekļa serveris, datu bāzes serveris, Minecraft serveris) un padariet tos publiski pieejamus internetā (mitināšana), tad jūsu Raspberry Pi servera drošība ar ugunsmūra programmu ir ļoti svarīga.
Raspberry Pi OS (oficiālā Raspberry Pi vienplatē datoru operētājsistēma) ir pieejamas daudzas bezmaksas un atvērtā koda ugunsmūra programmas. Starp šīm programmām UFW un Firewalld ir visizplatītākās ugunsmūra programmas.
Šajā rakstā es izmantošu UFW ugunsmūra programmu, lai parādītu, kā aizsargāt Raspberry Pi. Tātad, sāksim darbu.
Jums nepieciešamās lietas:
Lai sekotu šim rakstam, jums būs nepieciešamas šādas lietas, lai iestatītu savu Raspberry Pi režīmā bez galvas:
- Raspberry Pi 3 vai Raspberry Pi 4 viena borta dators.
- Mikro USB (Raspberry Pi 3) vai C tipa USB (Raspberry Pi 4) strāvas adapteris.
- Zibēja 16 GB vai 32 GB microSD karte ar Raspberry Pi OS.
- Tīkla savienojamība ar Raspberry Pi.
- Klēpjdators vai galddators, lai piekļūtu VNC attālajai darbvirsmai vai SSH piekļuvei Raspberry Pi.
Ja jūs nevēlaties iestatīt savu Raspberry Pi 4 režīmā bez galvas, jums būs nepieciešams arī:
- Monitoru
- HDMI vai mikro-HDMI kabelis
- Tastatūra
- Pele.
Ja jums nepieciešama palīdzība, lai mirgot Raspberry Pi OS attēlu microSD kartē, skatiet manu rakstu Kā instalēt un izmantot Raspberry Pi Imager.
Ja esat iesācējs Raspberry Pi un jums nepieciešama palīdzība Raspberry Pi OS instalēšanā savā Raspberry Pi, skatiet manu rakstu Kā Raspberry Pi OS instalēt Raspberry Pi 4.
Ja jums nepieciešama palīdzība saistībā ar Raspberry Pi iestatīšanu bez galvas, skatiet manu rakstu Kā Raspberry Pi OS instalēt un konfigurēt Raspberry Pi 4 bez ārēja monitora.
Raspberry Pi OS atjaunināšana:
Tā kā mēs cenšamies aizsargāt mūsu Raspberry Pi, ieteicams atjaunināt visus esošos Raspberry Pi OS pakotnes. Tas padarīs jūsu Raspberry Pi OS drošāku, jo tas instalēs visus jaunākos drošības atjauninājumus un kļūdu labojumus.
Vispirms atjauniniet APT pakotnes krātuves kešatmiņu ar šādu komandu:
$ sudo apt atjauninājums
Lai atjauninātu visas esošās Raspberry Pi OS pakotnes, palaidiet šādu komandu:
Lai apstiprinātu atjauninājumu instalēšanu, nospiediet Jā un pēc tam nospiediet <Enter>.
APT pakotņu pārvaldnieks lejupielādēs visas nepieciešamās paketes no interneta. Tas var aizņemt kādu laiku, lai pabeigtu.
Kad paketes ir lejupielādētas, APT pakotņu pārvaldnieks tās instalēs pa vienai. Tas var aizņemt kādu laiku, lai pabeigtu.
Šajā brīdī ir jāinstalē visi atjauninājumi.
Lai izmaiņas stātos spēkā, restartējiet Raspberry Pi ar šādu komandu:
$ sudo atsāknēšana
UFW instalēšana - nekomplicēts ugunsmūris:
Kad jūsu Raspberry Pi ir sākuši darboties, varat instalēt UFW ugunsmūra programmu ar šādu komandu:
$ sudo apt instalējiet ufw -y
Būtu jāuzstāda UFW.
Lai izmaiņas stātos spēkā, restartējiet Raspberry Pi ar šādu komandu:
Kad jūsu Raspberry Pi zābaki, ufw systemd pakalpojumam jābūt aktīvam, kā redzat zemāk esošajā ekrānuzņēmumā.
Vai UFW ir iespējots, varat pārbaudīt ar šādu komandu:
Kā redzat, UFW pēc noklusējuma nav iespējots.
Lai iespējotu UFW, izpildiet šādu komandu:
Kā redzat, tagad UFW ir iespējots.
Piekļuves ostām atļaušana, izmantojot lietotņu profilus:
UFW ir daži noklusējuma lietotņu profili. Katrā no lietotņu profiliem ir daži iepriekš definēti porti, kuriem varat atļaut / liegt piekļuvi.
Lai uzskaitītu visus pieejamos lietotņu profilus, izpildiet šādu komandu:
$ sudo ufw lietotņu saraksts
Visiem instalētajiem lietotņu profiliem jābūt uzskaitītiem.
Ja esat izveidojis savienojumu ar Raspberry Pi, izmantojot SSH vai VNC (piemēram, es), jums jāļauj piekļūt OpenSSH un VNC lietotņu profili. Pretējā gadījumā nākamajā reizē, kad palaižat Raspberry Pi, nevarēsiet tam piekļūt attālināti, jo ugunsmūris bloķēs visas ostas, ieskaitot SSH un VNC porti. Tātad, tas ir ļoti svarīgi.
Lietotnes profilā varat redzēt, kādi porti ir definēti (t.i.e., OpenSSH) ar šādu komandu:
Kā jūs redzat, TCP ports 22 ir definēts lietotnes profilā OpenSSH.
Tādā pašā veidā TCP ports 5900 ir definēts VNC lietotnes profils.
Lai atļautu piekļuvi ostās, kas definētas VNC lietotnes profilā izpildiet šādu komandu:
Kā redzat, VNC lietotnes profils ir atļauts, izmantojot ugunsmūri.
Tādā pašā veidā ļauj piekļūt ostās, kas definētas OpenSSH lietotnes profils ar šādu komandu:
Kā redzat, OpenSSH lietotnes profils ir atļauts, izmantojot ugunsmūri.
Piekļuves ostām atļaušana, izmantojot porta numuru:
Reizēm ports, kuram vēlaties atļaut / liegt piekļuvi, netiks definēts nevienā pieejamā lietotņu profilā. Tātad, jums būs jāļauj / jāaizliedz piekļuve šīm ostām, izmantojot porta numuru.
Piemēram, varat atļaut piekļuvi TCP ports 8080 ar šādu komandu:
$ sudo ufw ļauj 8080 / tcp
Kā redzat, TCP ports 8080 ir atļauts piekļūt caur ugunsmūri.
Tādā pašā veidā jūs varat atļaut piekļuvi UDP ports 8888 ar šādu komandu:
Kā redzat, UDP ports 8888 ir atļauts piekļūt caur ugunsmūri.
Piekļuves liegšana ostām:
UFW ugunsmūra programmas noklusējuma rīcība ir visu aizliegto noliegšana. Tātad, lai liegtu piekļuvi jebkurām ostām, jums nekas nav jādara.
Konkurences labad es jums parādīšu, kā vienalga liegt ostas UFW.
Piemēram, lai liegtu piekļuvi TCP ports 9900, palaidiet šādu komandu:
$ sudo ufw noliedz 9900 / tcp
Kā redzat, TCP ports 9900 tiek liegta piekļuve, izmantojot ugunsmūri.
Tādā pašā veidā jūs varat atteikt portus, kas noteikti lietotnes profilā (t.i.e., WWW) sekojoši:
Konkrētu IP adrešu piekļuves liegšana serverim:
Reizēm, iespējams, būs jāatsakās no piekļuves konkrētai IP adresei vai IP apakštīklam, lai pasargātu Raspberry Pi serveri no DDoS (Distributed Denial of Service) uzbrukumiem. To var izdarīt, izmantojot UFW.
Lai eksperimentētu ar IP adrešu noliegšanu, es izmantošu Apache tīmekļa serveri.
Apache tīmekļa serveri savā Raspberry Pi var instalēt ar šādu komandu:
$ sudo apt instalējiet apache2
Lai apstiprinātu instalēšanu, nospiediet Jā un pēc tam nospiediet <Enter>.
APT pakotņu pārvaldnieks lejupielādēs visas paketes no interneta un instalēs tās pa vienai. Tas var aizņemt kādu laiku, lai pabeigtu.
Šajā brīdī jāinstalē Apache tīmekļa serveris.
Kad Apache tīmekļa serveris ir instalēts, izveidojiet vienkāršu rādītāja lapu ar šādu komandu:
Laipni lūdzam LinuxHint
"| sudo tee / var / www / html / index.html
The apache2 systemd pakalpojumam vajadzētu darboties, kā redzat zemāk redzamajā ekrānuzņēmumā.
Atļaut piekļuvi Apache tīmekļa servera portam (TCP ports 80), izmantojot lietotnes profilu WWW sekojoši:
Kā redzat, lietotnes profilā definētie porti WWW ir atļauts piekļūt caur ugunsmūri.
Atrodiet Raspberry Pi IP adresi ar šādu komandu:
Kā redzat, manas Raspberry Pi IP adrese ir 192.168. lpp.0.106. lpp. Jums būs savādāk. Tātad, turpmāk noteikti nomainiet to ar savu.
Jums vajadzētu piekļūt Apache tīmekļa serverim no citām ierīcēm, kā redzat zemāk redzamajā ekrānuzņēmumā.
Datoram, kuru izmantoju, lai piekļūtu Apache tīmekļa serverim, ir IP adrese 192.168. lpp.0.109.
Lai atteiktu IP adresi 192.168. lpp.0.109 Lai piekļūtu savam Raspberry Pi serverim, augšpusē jāpievieno ugunsmūra kārtula (1. pozīcija). UFW noteikumu secībai ir liela nozīme. Vispirms jāievēro visvairāk ierobežojošie noteikumi.
Lai atteiktu IP adresi 192.168. lpp.0.109 piekļuvi Raspberry Pi serverim, izpildiet šādu komandu:
UFW kārtula, lai liegtu IP adresi 192.168. lpp.0.109 piekļuvei Raspberry Pi serverim jābūt augstākajam noteikumam, kā parādīts zemāk redzamajā ekrānuzņēmumā.
Jūs nevarēsiet piekļūt Apache tīmekļa serverim, kas darbojas jūsu Raspberry Pi, no datora ar IP adresi 192.168. lpp.0.109 vairs, kā redzat zemāk redzamajā ekrānuzņēmumā.
Bet no citiem datoriem varat piekļūt Apache tīmekļa serverim, kas darbojas jūsu Raspberry Pi.
Ja vēlaties liegt piekļuvi IP apakštīklam, pirms iepriekš pievienotās kārtulas jāpievieno vajadzīgā UFW kārtula, jo tas ir stingrāks noteikums.
Piemēram, lai liegtu piekļuvi katram IP apakštīkla datoram 192.168. lpp.20.0/24, palaidiet šādu komandu:
UFW kārtula jāpievieno pareizajā pozīcijā, kā parādīts zemāk redzamajā ekrānuzņēmumā. Tagad nav datora no IP apakštīkla 192.168. lpp.20.0/24 vajadzētu būt iespējai piekļūt jūsu Raspberry Pi serverim.
Noņemot UFW noteikumus:
Reizēm, iespējams, būs jānoņem daži UFW noteikumi. To izdarīt ir ļoti viegli.
Visus pieejamos UFW noteikumus varat uzskaitīt ar šādu komandu:
$ sudo ufw statuss numurēts
Jāuzskaita visi pieejamie UFW noteikumi. Pieņemsim, ka vēlaties noņemt UFW kārtulas numuru 10 (kārtula 10. pozīcijā).
Lai noņemtu UFW kārtulas numuru 10, izpildiet šādu komandu:
Lai apstiprinātu noņemšanas darbību, nospiediet Jā un pēc tam nospiediet <Enter>.
Jāizņem UFW kārtulas numurs 10.
Kā redzat, UFW kārtula tiek noņemta un kārtība tiek pārkārtota (UFW kārtula, kas bija 11. pozīcijā, tagad ir 10. pozīcijā).
Secinājums:
Šajā rakstā es jums parādīju, kā instalēt UFW ugunsmūra programmu savā Raspberry Pi (darbojas Raspberry Pi OS). Esmu arī parādījis, kā atļaut / atteikt ostas, izmantojot UFW ugunsmūra programmu. Es jums parādīju, kā noteiktai IP adresei vai IP apakštīklam liegt piekļuvi Raspberry Pi, izmantojot arī UFW ugunsmūra programmu.