Ako želite pokrenuti neku vrstu poslužiteljskog softvera na Raspberry Pi (tj.e., web poslužitelja, poslužitelja baze podataka, Minecraft poslužitelja) i učinite ih javno dostupnima na Internetu (hosting), a zatim je osiguravanje vašeg Raspberry Pi poslužitelja programom vatrozida vrlo važno.
Na OS Raspberry Pi (službeni operativni sustav računala s jednom pločom Raspberry Pi) dostupno je mnogo besplatnih i otvorenih programa vatrozida. Među tim su programima UFW i Firewalld najčešći programi vatrozida.
U ovom ću članku koristiti program vatrozida UFW kako bih vam pokazao kako zaštititi Raspberry Pi. Pa, krenimo.
Stvari koje će vam trebati:
Da biste slijedili ovaj članak, trebat će vam sljedeće stvari da biste postavili Raspberry Pi u bezglavi način:
- Računalo s jednom pločom Raspberry Pi 3 ili Raspberry Pi 4.
- Mikro-USB (Raspberry Pi 3) ili USB Type-C (Raspberry Pi 4) adapter za napajanje.
- Trepnula je microSD kartica od 16 GB ili 32 GB s OS Raspberry Pi.
- Mrežna povezanost na Raspberry Pi.
- Prijenosno ili stolno računalo za VNC pristup udaljenoj radnoj površini ili SSH pristup Raspberry Pi-u.
Ako svoj Raspberry Pi 4 ne želite postaviti u bezglavi način, trebat će vam i:
- Monitor
- HDMI ili mikro-HDMI kabel
- Tipkovnica
- Miš.
Ako vam je potrebna bilo kakva pomoć za bljeskanje slike OS Raspberry Pi na microSD kartici, pogledajte moj članak Kako instalirati i koristiti Raspberry Pi Imager.
Ako ste početnik Raspberry Pi i trebate pomoć u instaliranju Raspberry Pi OS-a na Raspberry Pi, pogledajte moj članak Kako instalirati Raspberry Pi OS na Raspberry Pi 4.
Ako vam je potrebna bilo kakva pomoć oko bezglavog postavljanja Raspberry Pi, pogledajte moj članak Kako instalirati i konfigurirati Raspberry Pi OS na Raspberry Pi 4 bez vanjskog monitora.
Ažuriranje OS Raspberry Pi:
Kako pokušavamo osigurati svoj Raspberry Pi, dobra je ideja ažurirati sve postojeće pakete OS Raspberry Pi. To će vaš OS Raspberry Pi učiniti sigurnijim jer bi instalirao sva najnovija sigurnosna ažuriranja i ispravke programskih pogrešaka.
Prvo ažurirajte predmemoriju spremišta APT paketa sljedećom naredbom:
$ sudo apt ažuriranje
Da biste ažurirali sve postojeće pakete OS Raspberry Pi, pokrenite sljedeću naredbu:
Da biste potvrdili instalaciju ažuriranja, pritisnite Y a zatim pritisnite <Unesi>.
Upravitelj paketa APT preuzet će sve potrebne pakete s interneta. Dovršenje može potrajati.
Nakon što se paketi preuzmu, APT upravitelj paketa instalirat će ih jedan po jedan. Dovršenje može potrajati.
U ovom trenutku treba instalirati sva ažuriranja.
Da bi promjene stupile na snagu, ponovno pokrenite Raspberry Pi sljedećom naredbom:
$ sudo ponovno pokretanje
Instaliranje UFW-a - Nekomplicirani vatrozid:
Nakon što se Raspberry Pi pokrene, možete instalirati program vatrozida UFW pomoću sljedeće naredbe:
$ sudo apt install ufw -y
Treba instalirati UFW.
Da bi promjene stupile na snagu, ponovno pokrenite Raspberry Pi sljedećom naredbom:
Jednom kad se Raspberry Pi pokrene, ufw usluga systemd trebala bi biti aktivna, kao što možete vidjeti na snimci zaslona u nastavku.
Sljedećom naredbom možete provjeriti je li UFW omogućen:
Kao što vidite, UFW nije omogućen prema zadanim postavkama.
Da biste omogućili UFW, pokrenite sljedeću naredbu:
Kao što vidite, UFW je sada omogućen.
Omogućavanje pristupa lukama pomoću profila aplikacija:
UFW ima neke zadane profile aplikacija. Svaki od profila aplikacije ima neke unaprijed definirane priključke kojima možete dopustiti / odbiti pristup.
Da biste popisali sve dostupne profile aplikacija, pokrenite sljedeću naredbu:
$ sudo ufw popis aplikacija
Trebaju biti navedeni svi instalirani profili aplikacija.
Ako ste na Raspberry Pi povezani putem SSH-a ili VNC-a (poput mene), morate omogućiti pristup OpenSSH i VNC profili aplikacija. Inače, sljedeći put kada pokrenete Raspberry Pi, nećete mu moći pristupiti daljinski jer će vatrozid blokirati sve priključke, uključujući SSH i VNC priključke. Dakle, ovo je vrlo važno.
Možete vidjeti koji su portovi definirani u profilu aplikacije (tj.e., OpenSSH) sa sljedećom naredbom:
Kao što vidiš, TCP priključak 22 definiran je u profilu aplikacije OpenSSH.
Na isti način, TCP priključak 5900 definiran je u VNC profil aplikacije.
Da bi se omogućio pristup lukama definiranim u VNC profil aplikacije, pokrenite sljedeću naredbu:
Kao što vidite, VNC profil aplikacije dopušten je kroz vatrozid.
Na isti način, omogućite pristup priključcima definiranim u OpenSSH profil aplikacije sa sljedećom naredbom:
Kao što vidite, OpenSSH profil aplikacije dopušten je kroz vatrozid.
Omogućavanje pristupa lukama pomoću broja porta:
Ponekad port kojem želite dopustiti / zabraniti pristup neće biti definiran ni u jednom dostupnom profilu aplikacije. Dakle, morat ćete dopustiti / odbiti pristup tim priključcima pomoću broja priključka.
Na primjer, možete dopustiti pristup TCP priključak 8080 sa sljedećom naredbom:
$ sudo ufw dopušta 8080 / tcp
Kao što vidite, TCP priključak 8080 je dopušten pristup kroz vatrozid.
Na isti način, možete dopustiti pristup UDP priključak 8888 sa sljedećom naredbom:
Kao što vidite, UDP priključak 8888 je dopušten pristup kroz vatrozid.
Uskraćivanje pristupa lukama:
Zadano ponašanje programa vatrozida UFW je uskraćivanje svega što nije dopušteno. Dakle, ne trebate učiniti ništa kako biste uskratili pristup bilo kojim lukama.
Radi konkurencije, pokazat ću vam kako ionako uskratiti luke u UFW-u.
Na primjer, zabraniti pristup TCP priključak 9900, pokrenite sljedeću naredbu:
$ sudo ufw poricati 9900 / tcp
Kao što vidite, TCP priključak 9900 zabranjen pristup kroz vatrozid.
Na isti način možete zabraniti priključke definirane u profilu aplikacije (tj.e., WWW) kako slijedi:
Uskraćivanje pristupa određenim IP adresama poslužitelju:
Ponekad ćete možda trebati odbiti pristup određenoj IP adresi ili IP podmreži kako biste zaštitili svoj Raspberry Pi poslužitelj od DDoS (Distributed Denial of Service) napada. To možete učiniti s UFW-om.
Da bih eksperimentirao s poricanjem IP adresa, poslužit ću se web poslužiteljem Apache.
Sljedeću naredbu možete instalirati Apache web poslužitelj na vaš Raspberry Pi:
$ sudo apt instalirati apache2
Da biste potvrdili instalaciju, pritisnite Y a zatim pritisnite <Unesi>.
Upravitelj paketa APT preuzet će sve pakete s Interneta i instalirati ih jedan po jedan. Dovršenje može potrajati.
U ovom trenutku trebao bi se instalirati web poslužitelj Apache.
Jednom kada je web poslužitelj Apache instaliran, stvorite jednostavnu indeksnu stranicu sa sljedećom naredbom:
Dobrodošli u LinuxHint
"| sudo tee / var / www / html / index.html
The apache2 usluga systemd trebala bi biti pokrenuta, kao što možete vidjeti na snimci zaslona u nastavku.
Omogućite pristup priključku web poslužitelja Apache (TCP priključak 80) pomoću profila aplikacije WWW kako slijedi:
Kao što vidite, priključci definirani u profilu aplikacije WWW je dopušten pristup kroz vatrozid.
Sljedećom naredbom pronađite IP adresu vašeg Raspberry Pi:
Kao što vidite, IP adresa moje Raspberry Pi je 192.168.0.106. Za vas će biti drugačije. Pazite da ga od sada zamijenite svojim.
Web poslužitelju Apache trebali biste pristupiti s drugih uređaja, kao što možete vidjeti na snimci zaslona u nastavku.
Računalo koje koristim za pristup web poslužitelju Apache ima IP adresu 192.168.0.109.
Za uskraćivanje IP adrese 192.168.0.109 pristup svom Raspberry Pi poslužitelju, morate dodati pravilo vatrozida na vrhu (položaj 1). Redoslijed UFW pravila puno je važan. Prvo bi trebala ići restriktivnija pravila.
Za uskraćivanje IP adrese 192.168.0.109 pristup poslužitelju Raspberry Pi, pokrenite sljedeću naredbu:
UFW pravilo za zabranu IP adrese 192.168.0.109 pristup poslužitelju Raspberry Pi trebao bi biti najviše pravilo, kao što je prikazano na snimci zaslona u nastavku.
Nećete moći pristupiti web poslužitelju Apache pokrenutom na vašem Raspberry Pi s računala s IP adresom 192.168.0.109 više, kao što možete vidjeti na snimci zaslona u nastavku.
Ali, web poslužitelju Apache koji radi na vašem Raspberry Pi možete pristupiti s drugih računala.
Ako želite uskratiti pristup IP podmreži, morate dodati potrebno pravilo UFW prije pravila koje ste ranije dodali, jer je to restriktivnije pravilo.
Na primjer, zabraniti pristup svakom računalu u IP podmreži 192.168.20.0/24, pokrenite sljedeću naredbu:
UFW pravilo treba dodati u ispravnom položaju, kao što je prikazano na snimci zaslona u nastavku. Sada nema računala iz IP podmreže 192.168.20.0/24 trebao bi moći pristupiti vašem Raspberry Pi poslužitelju.
Uklanjanje UFW pravila:
Ponekad ćete možda trebati ukloniti neka UFW pravila. To je vrlo lako učiniti.
Svim naredbama možete navesti sva dostupna UFW pravila:
$ sudo ufw status numeriran
Trebale bi biti navedena sva dostupna UFW pravila. Recimo da želite ukloniti UFW pravilo broj 10 (pravilo na 10. mjestu).
Da biste uklonili UFW pravilo broj 10, pokrenite sljedeću naredbu:
Da biste potvrdili operaciju uklanjanja, pritisnite Y a zatim pritisnite <Unesi>.
Treba ukloniti UFW pravilo broj 10.
Kao što vidite, UFW pravilo je uklonjeno i pravila su preuređena (UFW pravilo koje je bilo na položaju 11 sada je na položaju 10).
Zaključak:
U ovom sam vam članku pokazao kako instalirati program vatrozida UFW na vaš Raspberry Pi (pokrenut OS Raspberry Pi). Također sam vam pokazao kako dopustiti / zabraniti priključke pomoću programa vatrozida UFW. Pokazao sam vam kako uskratiti određenu IP adresu ili IP podmrežu za pristup Raspberry Pi-u pomoću programa vatrozida UFW.