Raspberry Pi

Zaščita Raspberry Pi s požarnim zidom

Zaščita Raspberry Pi s požarnim zidom

Če želite na Raspberry Pi zagnati nekakšno strežniško programsko opremo (tj.e., spletni strežnik, strežnik baz podatkov, strežnik Minecraft) in jih javno objavite v internetu (gostovanje), potem je zelo pomembno, da zaščitite strežnik Raspberry Pi s programom požarnega zidu.

V OS Raspberry Pi (uradni operacijski sistem enokrmilnih računalnikov Raspberry Pi) je na voljo veliko brezplačnih in odprtokodnih programov požarnega zidu. Med temi programi sta najpogostejša programa požarnega zidu UFW in Firewalld.

V tem članku bom s programom požarnega zidu UFW pokazal, kako zaščititi Raspberry Pi. Torej, začnimo.

Stvari, ki jih boste potrebovali:

Če želite slediti temu članku, boste za nastavitev Raspberry Pi v brezglavem načinu potrebovali naslednje stvari:

  1. Računalnik z eno ploščo Raspberry Pi 3 ali Raspberry Pi 4.
  2. Napajalnik z mikro USB (Raspberry Pi 3) ali USB Type-C (Raspberry Pi 4).
  3. Utripala je 16 GB ali 32 GB microSD kartica z OS Raspberry Pi.
  4. Omrežna povezljivost na Raspberry Pi.
  5. Prenosnik ali namizni računalnik za dostop do oddaljenega namizja VNC ali SSH dostop do Raspberry Pi.

Če ne želite nastaviti Raspberry Pi 4 v brezglavem načinu, boste potrebovali tudi:

  1. Monitor
  2. Kabel HDMI ali mikro-HDMI
  3. Tipkovnica
  4. Miš.

Če potrebujete kakršno koli pomoč pri utripanju slike OS Raspberry Pi na kartici microSD, si oglejte moj članek Kako namestiti in uporabljati Raspberry Pi Imager.

Če ste začetnik Raspberry Pi in potrebujete kakršno koli pomoč pri namestitvi OS Raspberry Pi na Raspberry Pi, si oglejte moj članek Kako namestiti Raspberry Pi OS na Raspberry Pi 4.

Če potrebujete pomoč pri brezglavi namestitvi Raspberry Pi, si oglejte moj članek Kako namestiti in konfigurirati OS Raspberry Pi na Raspberry Pi 4 brez zunanjega monitorja.

Posodabljanje OS Raspberry Pi:

Ker poskušamo zavarovati naš Raspberry Pi, je dobro posodobiti vse obstoječe pakete OS Raspberry Pi. Tako bo vaš OS Raspberry Pi bolj varen, saj bi nameščal vse najnovejše varnostne posodobitve in popravke napak.

Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:

$ sudo apt posodobitev


Če želite posodobiti vse obstoječe pakete OS Raspberry Pi, zaženite naslednji ukaz:

$ sudo apt popolna nadgradnja


Za potrditev namestitve posodobitev pritisnite Y in nato pritisnite <Enter>.


Upravitelj paketov APT bo z interneta prenesel vse zahtevane pakete. Dokončanje lahko traja nekaj časa.


Ko so paketi preneseni, jih bo upravitelj paketov APT namestil enega za drugim. Dokončanje lahko traja nekaj časa.


Na tej točki je treba namestiti vse posodobitve.

Da bodo spremembe začele veljati, znova zaženite Raspberry Pi z naslednjim ukazom:

$ sudo znova zaženite

Namestitev UFW - nezapleteni požarni zid:

Ko se Raspberry Pi zažene, lahko namestite program požarnega zidu UFW z naslednjim ukazom:

$ sudo apt install ufw -y


UFW je treba namestiti.


Da bodo spremembe začele veljati, znova zaženite Raspberry Pi z naslednjim ukazom:

$ sudo znova zaženite


Ko se vaš Raspberry Pi zažene, ufw storitev systemd mora biti aktivna, kot lahko vidite na spodnjem posnetku zaslona.

$ sudo systemctl status ufw


Ali je UFW omogočen, lahko preverite z naslednjim ukazom:

$ sudo ufw status


Kot lahko vidite, UFW privzeto ni omogočen.


Če želite omogočiti UFW, zaženite naslednji ukaz:

$ sudo ufw omogoči


Kot lahko vidite, je UFW zdaj omogočen.

$ sudo ufw status

Omogočanje dostopa do vrat s profili aplikacij:

UFW ima nekaj privzetih profilov aplikacij. Vsak profil aplikacije ima nekaj vnaprej določenih vrat, ki jim lahko dovolite / zavrnete dostop.

Če želite našteti vse razpoložljive profile aplikacij, zaženite naslednji ukaz:

Seznam aplikacij $ sudo ufw


Navesti je treba vse nameščene profile aplikacij.

Če ste z Raspberry Pi povezani prek SSH ali VNC (tako kot jaz), morate dovoliti dostop do OpenSSH in VNC profili aplikacij. V nasprotnem primeru naslednjič, ko zaženete Raspberry Pi, ne boste mogli dostopati do njega na daljavo, saj bo požarni zid blokiral vsa vrata, vključno s vrati SSH in VNC. Torej, to je zelo pomembno.


Ogledate si lahko, katera vrata so definirana v profilu aplikacije (tj.e., OpenSSH) z naslednjim ukazom:

$ sudo ufw informacije o aplikaciji OpenSSH


Kot lahko vidite, Vrata TCP 22 je definiran v profilu aplikacije OpenSSH.


Na enak način Vrata TCP 5900 je opredeljeno v VNC profil aplikacije.

$ sudo ufw app info VNC


Če želite omogočiti dostop do vrat, določenih v VNC profil aplikacije, zaženite naslednji ukaz:

$ sudo ufw dovoli VNC


Kot lahko vidite, VNC profil aplikacije je dovoljen prek požarnega zidu.

$ sudo ufw stanje oštevilčeno


Na enak način omogočite dostop do vrat, določenih v OpenSSH profil aplikacije z naslednjim ukazom:

$ sudo ufw dovoli OpenSSH


Kot lahko vidite, OpenSSH profil aplikacije je dovoljen prek požarnega zidu.

$ sudo ufw stanje oštevilčeno

Omogočanje dostopa do vrat s številko vrat:

Včasih vrata, ki jim želite dovoliti / zavrniti dostop, ne bodo definirana v nobenem razpoložljivem profilu aplikacije. Torej boste morali dovoliti / zavrniti dostop do teh vrat s številko vrat.

Na primer, lahko dovolite dostop do Vrata TCP 8080 z naslednjim ukazom:

$ sudo ufw dovoli 8080 / tcp


Kot lahko vidite, Vrata TCP 8080 je dovoljen dostop skozi požarni zid.

$ sudo ufw stanje oštevilčeno


Na enak način lahko dovolite dostop do UDP vrata 8888 z naslednjim ukazom:

$ sudo ufw dovoli 8888 / udp


Kot lahko vidite, UDP vrata 8888 je dovoljen dostop skozi požarni zid.

$ sudo ufw stanje oštevilčeno

Zavrnitev dostopa do pristanišč:

Privzeto vedenje programa požarnega zidu UFW je, da zavrne vse, kar ni dovoljeno. Torej vam ni treba storiti ničesar, da bi zavrnili dostop do katerega koli pristanišča.

Zaradi konkurence vam bom pokazal, kako vseeno zavrniti pristanišča v UFW.

Na primer, zavrniti dostop do Vrata TCP 9900, zaženite naslednji ukaz:

$ sudo ufw zanika 9900 / tcp


Kot lahko vidite, Vrata TCP 9900 je zavrnjen dostop prek požarnega zidu.

$ sudo ufw stanje oštevilčeno


Na enak način lahko zavrnete vrata, določena v profilu aplikacije (tj.e.,  WWW) kot sledi:

$ sudo ufw zanika WWW

Zavrnitev dostopa določenih naslovov IP do strežnika:

Včasih boste morda morali zavrniti dostop do določenega naslova IP ali podomrežja IP, da zaščitite strežnik Raspberry Pi pred napadi DDoS (porazdeljena zavrnitev storitve). To lahko storite z UFW.

Za eksperimentiranje z zavračanjem naslovov IP bom uporabil spletni strežnik Apache.

Spletni strežnik Apache lahko namestite na Raspberry Pi z naslednjim ukazom:

$ sudo apt namestite apache2


Za potrditev namestitve pritisnite Y in nato pritisnite <Enter>.


Upravitelj paketov APT bo vse pakete prenesel z interneta in jih namestil enega za drugim. Dokončanje lahko traja nekaj časa.


Na tej točki je treba namestiti spletni strežnik Apache.


Ko je spletni strežnik Apache nameščen, ustvarite preprosto indeksno stran z naslednjim ukazom:

$ echo "

Dobrodošli v LinuxHint

"| sudo tee / var / www / html / index.html


The apache2 storitev systemd bi se morala izvajati, kot lahko vidite na spodnjem posnetku zaslona.

$ sudo systemctl status apache2


Dovoli dostop do vrat spletnega strežnika Apache (Vrata TCP 80) z uporabo profila aplikacije WWW kot sledi:

$ sudo ufw allow www


Kot lahko vidite, vrata, določena v profilu aplikacije WWW je dovoljen dostop skozi požarni zid.


Poiščite naslov IP vašega Raspberry Pi z naslednjim ukazom:

$ hostname -I


Kot lahko vidite, je naslov IP moje Raspberry Pi 192.168.0.106. Za vas bo drugače. Zato ga odslej zamenjajte s svojim.


Do spletnega strežnika Apache bi morali dostopati iz drugih naprav, kot lahko vidite na spodnjem posnetku zaslona.


Računalnik, ki ga uporabljam za dostop do spletnega strežnika Apache, ima naslov IP 192.168.0.109.


Za zavrnitev naslova IP 192.168.0.109 Za dostop do strežnika Raspberry Pi morate na vrh dodati pravilo požarnega zidu (položaj 1). Vrstni red pravil UFW je zelo pomemben. Najprej morajo veljati najbolj restriktivna pravila.

$ sudo ufw stanje oštevilčeno


Za zavrnitev naslova IP 192.168.0.109 za dostop do strežnika Raspberry Pi zaženite naslednji ukaz:

$ sudo ufw vstavi 1 zavrnitev od 192.168.0.109 na katero koli


Pravilo UFW o zavrnitvi naslova IP 192.168.0.109 dostop do strežnika Raspberry Pi bi moral biti najvišje pravilo, kot je prikazano na spodnjem posnetku zaslona.

$ sudo ufw stanje oštevilčeno


Iz računalnika z naslovom IP ne boste mogli dostopati do spletnega strežnika Apache, ki se izvaja na vaši Raspberry Pi 192.168.0.109 kot lahko vidite na spodnjem posnetku zaslona.


Do spletnega strežnika Apache, ki se izvaja na vašem Raspberry Pi, pa lahko dostopate iz drugih računalnikov.


Če želite zavrniti dostop do podomrežja IP, morate pred pravilom, ki ste ga dodali prej, dodati zahtevano pravilo UFW, saj gre za bolj omejevalno pravilo.

$ sudo ufw stanje oštevilčeno


Na primer, zavrniti dostop do vseh računalnikov v podomrežju IP 192.168.20.0/24, zaženite naslednji ukaz:

$ sudo ufw vstavi 1 zavrnitev od 192.168.20.0/24 na katero koli


Pravilo UFW je treba dodati v pravilnem položaju, kot je prikazano na spodnjem posnetku zaslona. Nobenega računalnika iz IP-podomrežja 192.168.20.0/24 bi moral imeti dostop do vašega strežnika Raspberry Pi.

$ sudo ufw stanje oštevilčeno

Odstranjevanje pravil UFW:

Včasih boste morda morali odstraniti nekatera pravila UFW. To je zelo enostavno.

Vsa razpoložljiva pravila UFW lahko navedete z naslednjim ukazom:

$ sudo ufw stanje oštevilčeno


Navesti je treba vsa razpoložljiva pravila UFW. Recimo, da želite odstraniti pravilo UFW številka 10 (pravilo na 10. mestu).


Če želite odstraniti pravilo UFW številka 10, zaženite naslednji ukaz:

$ sudo ufw delete 10


Za potrditev odstranitve pritisnite Y in nato pritisnite <Enter>.


Pravilo UFW številka 10 je treba odstraniti.


Kot lahko vidite, je pravilo UFW odstranjeno in pravila so preurejena (pravilo UFW, ki je bilo v položaju 11, je zdaj v položaju 10).

$ sudo ufw stanje oštevilčeno

Zaključek:

V tem članku sem vam pokazal, kako namestiti program požarnega zidu UFW na vaš Raspberry Pi (zagon OS Raspberry Pi). Pokazal sem vam tudi, kako dovoliti / zavrniti vrata s pomočjo požarnega zidu UFW. Pokazal sem vam, kako določenemu naslovu IP ali podomrežju IP preprečite dostop do Raspberry Pi tudi s pomočjo požarnega zidu UFW.

Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...