Pokud chcete na svém Raspberry Pi (tj.E., webový server, databázový server, server Minecraft) a zpřístupnit je veřejně na internetu (hostování), pak je velmi důležité zabezpečení vašeho serveru Raspberry Pi pomocí firewallového programu.
V operačním systému Raspberry Pi (oficiální operační systém jednodeskových počítačů Raspberry Pi) je k dispozici mnoho bezplatných a otevřených bran firewall. Mezi těmito programy jsou UFW a Firewalld nejběžnější programy brány firewall.
V tomto článku vám pomocí programu brány firewall UFW ukážu, jak zabezpečit Raspberry Pi. Pojďme tedy začít.
Věci, které budete potřebovat:
Chcete-li sledovat tento článek, budete potřebovat následující věci k nastavení Raspberry Pi v bezhlavém režimu:
- Jednodeskový počítač Raspberry Pi 3 nebo Raspberry Pi 4.
- Napájecí adaptér micro-USB (Raspberry Pi 3) nebo USB Type-C (Raspberry Pi 4).
- Blikla 16 GB nebo 32 GB karta microSD s Raspberry Pi OS.
- Síťové připojení na Raspberry Pi.
- Notebook nebo stolní počítač pro přístup ke vzdálené ploše VNC nebo SSH pro Raspberry Pi.
Pokud nechcete nastavit Raspberry Pi 4 v bezhlavém režimu, budete také potřebovat:
- Monitor
- Kabel HDMI nebo micro-HDMI
- Klávesnice
- Myš.
Pokud potřebujete pomoc s blikáním obrazu Raspberry Pi OS na kartě microSD, podívejte se na můj článek Jak nainstalovat a používat kameru Raspberry Pi.
Pokud jste začátečník Raspberry Pi a potřebujete pomoc s instalací Raspberry Pi OS na Raspberry Pi, podívejte se na můj článek Jak nainstalovat Raspberry Pi OS na Raspberry Pi 4.
Pokud potřebujete pomoc s bezhlavým nastavením Raspberry Pi, podívejte se na můj článek Jak nainstalovat a konfigurovat OS Raspberry Pi na Raspberry Pi 4 bez externího monitoru.
Aktualizace Raspberry Pi OS:
Jelikož se snažíme zabezpečit Raspberry Pi, je dobré aktualizovat všechny existující balíčky OS Raspberry Pi. Díky tomu bude váš Raspberry Pi OS bezpečnější, protože by nainstaloval všechny nejnovější aktualizace zabezpečení a opravy chyb.
Nejprve aktualizujte mezipaměť úložiště balíčků APT pomocí následujícího příkazu:
$ sudo apt aktualizace
Chcete-li aktualizovat všechny existující balíčky vašeho Raspberry Pi OS, spusťte následující příkaz:
Instalaci aktualizací potvrďte stisknutím Y a poté stiskněte <Enter>.
Správce balíčků APT stáhne všechny požadované balíčky z internetu. Dokončení může chvíli trvat.
Jakmile jsou balíčky staženy, APT správce balíčků je nainstaluje jeden po druhém. Dokončení může chvíli trvat.
V tomto okamžiku by měly být nainstalovány všechny aktualizace.
Aby se změny projevily, restartujte Raspberry Pi pomocí následujícího příkazu:
$ sudo restart
Instalace UFW - nekomplikovaný firewall:
Po spuštění Raspberry Pi můžete nainstalovat program brány firewall UFW pomocí následujícího příkazu:
$ sudo apt install ufw -y
UFW by měl být nainstalován.
Aby se změny projevily, restartujte Raspberry Pi pomocí následujícího příkazu:
Jakmile se vaše Raspberry Pi spustí, ufw služba systemd by měla být aktivní, jak vidíte na následujícím obrázku.
Můžete zkontrolovat, zda je UFW povolen, pomocí následujícího příkazu:
Jak vidíte, UFW není ve výchozím nastavení povoleno.
Chcete-li povolit UFW, spusťte následující příkaz:
Jak vidíte, UFW je nyní povoleno.
Povolení přístupu k portům pomocí profilů aplikací:
UFW má některé výchozí profily aplikací. Každý z profilů aplikace má některé předdefinované porty, ke kterým můžete povolit / zakázat přístup.
Chcete-li zobrazit seznam všech dostupných profilů aplikací, spusťte následující příkaz:
$ sudo ufw seznam aplikací
Měly by být uvedeny všechny nainstalované profily aplikací.
Pokud jste připojeni k vašemu Raspberry Pi přes SSH nebo VNC (jako já), musíte povolit přístup k OpenSSH a VNC profily aplikací. Jinak při příštím spuštění Raspberry Pi k němu nebudete mít vzdálený přístup, protože firewall zablokuje všechny porty, včetně portů SSH a VNC. To je tedy velmi důležité.
Můžete vidět, jaké porty jsou definovány v profilu aplikace (tj.E., OpenSSH) s následujícím příkazem:
Jak můžete vidět, TCP port 22 je definován v profilu aplikace OpenSSH.
Stejným způsobem TCP port 5900 je definován v VNC profil aplikace.
Povolit přístup k portům definovaným v souboru VNC profil aplikace, spusťte následující příkaz:
Jak vidíte, VNC profil aplikace je povolen přes bránu firewall.
Stejným způsobem povolte přístup k portům definovaným v souboru OpenSSH profil aplikace s následujícím příkazem:
Jak vidíte, OpenSSH profil aplikace je povolen přes bránu firewall.
Povolení přístupu k portům pomocí čísla portu:
Port, kterému chcete povolit / zakázat přístup, nebude někdy definován v žádném dostupném profilu aplikace. Budete tedy muset povolit / zakázat přístup k těmto portům pomocí čísla portu.
Můžete například povolit přístup k TCP port 8080 s následujícím příkazem:
$ sudo ufw povolit 8080 / tcp
Jak vidíte, TCP port 8080 je povolen přístup přes bránu firewall.
Stejným způsobem můžete povolit přístup k UDP port 8888 s následujícím příkazem:
Jak vidíte, UDP port 8888 je povolen přístup přes bránu firewall.
Odepření přístupu k portům:
Výchozí chování programu brány firewall UFW je odepření všeho, co není povoleno. Pro odepření přístupu k jakýmkoli portům tedy nemusíte dělat nic.
V zájmu konkurence vám ukážu, jak stejně můžete zakázat porty v UFW.
Například pro odepření přístupu k TCP port 9900, spusťte následující příkaz:
$ sudo ufw popřít 9900 / tcp
Jak vidíte, TCP port 9900 je odepřen přístup přes bránu firewall.
Stejným způsobem můžete odmítnout porty definované v profilu aplikace (tj.E., WWW) jak následuje:
Odepření přístupu konkrétních IP adres na server:
Někdy budete možná muset odepřít přístup ke konkrétní IP adrese nebo podsíti IP, abyste ochránili svůj server Raspberry Pi před útoky DDoS (Distributed Denial of Service). Můžete to udělat pomocí UFW.
Abych experimentoval s odepřením IP adres, použiji webový server Apache.
Webový server Apache můžete nainstalovat na svůj Raspberry Pi pomocí následujícího příkazu:
$ sudo apt nainstalovat apache2
Instalaci potvrďte stisknutím Y a poté stiskněte <Enter>.
Správce balíčků APT stáhne všechny balíčky z internetu a nainstaluje je jeden po druhém. Dokončení může chvíli trvat.
V tomto okamžiku by měl být nainstalován webový server Apache.
Po instalaci webového serveru Apache vytvořte jednoduchou indexovou stránku pomocí následujícího příkazu:
Vítejte v LinuxHint
"| sudo tee / var / www / html / index.html
The apache2 služba systemd by měla být spuštěna, jak vidíte na následujícím obrázku.
Povolit přístup k portu webového serveru Apache (TCP port 80) pomocí profilu aplikace WWW jak následuje:
Jak vidíte, porty definované v profilu aplikace WWW je povolen přístup přes bránu firewall.
Pomocí následujícího příkazu vyhledejte adresu IP vašeho Raspberry Pi:
Jak vidíte, IP adresa mého Raspberry Pi je 192.168.0.106. Bude to pro vás jiné. Od této chvíle jej tedy vyměňte za svůj.
Měli byste přistupovat k webovému serveru Apache z jiných zařízení, jak vidíte na následujícím obrázku.
Počítač, který používám pro přístup k webovému serveru Apache, má IP adresu 192.168.0.109.
Odepřít IP adresu 192.168.0.109 přístup k vašemu serveru Raspberry Pi, musíte přidat pravidlo brány firewall nahoře (pozice 1). Na pořadí pravidel UFW hodně záleží. Nejpřísnější pravidla by měla jít jako první.
Odepřít IP adresu 192.168.0.109 přístup k serveru Raspberry Pi, spusťte následující příkaz:
Pravidlo UFW pro odepření IP adresy 192.168.0.109 přístup k serveru Raspberry Pi by měl být nejvyšším pravidlem, jak je znázorněno na následujícím obrázku.
Z počítače s IP adresou nebudete mít přístup k webovému serveru Apache běžícímu na vašem Raspberry Pi 192.168.0.109 jak již vidíte na následujícím obrázku.
Na webový server Apache běžící na vašem Raspberry Pi ale můžete přistupovat z jiných počítačů.
Chcete-li odepřít přístup k podsíti IP, musíte před pravidlo, které jste přidali dříve, přidat požadované pravidlo UFW, protože se jedná o přísnější pravidlo.
Například k odepření přístupu ke každému počítači v podsíti IP 192.168.20.0/24, spusťte následující příkaz:
Pravidlo UFW by mělo být přidáno na správné pozici, jak je znázorněno na následujícím obrázku. Nyní žádný počítač z podsítě IP 192.168.20.0/24 by měl mít přístup k vašemu serveru Raspberry Pi.
Odstranění pravidel UFW:
Někdy budete možná muset odstranit některá pravidla UFW. Je to velmi snadné.
Všechna dostupná pravidla UFW můžete zobrazit pomocí následujícího příkazu:
Stav $ sudo ufw očíslován
Měla by být uvedena všechna dostupná pravidla UFW. Řekněme, že chcete odstranit pravidlo UFW číslo 10 (pravidlo na 10. pozici).
Chcete-li odebrat pravidlo UFW číslo 10, spusťte následující příkaz:
Operaci odebrání potvrďte stisknutím Y a poté stiskněte <Enter>.
Pravidlo UFW číslo 10 by mělo být odstraněno.
Jak vidíte, pravidlo UFW je odstraněno a pravidla jsou přeuspořádána (pravidlo UFW, které bylo na pozici 11, je nyní na pozici 10).
Závěr:
V tomto článku jsem vám ukázal, jak nainstalovat program brány firewall UFW na váš Raspberry Pi (běh OS Raspberry Pi). Také jsem vám ukázal, jak povolit / zakázat porty pomocí programu brány firewall UFW. Ukázal jsem vám, jak zakázat určité IP adrese nebo podsíti IP přístup k Raspberry Pi také pomocí firewallového programu UFW.