Ha valamilyen szerver szoftvert akar futtatni a Raspberry Pi készüléken (i.e., webszerver, adatbázis-kiszolgáló, Minecraft szerver), és nyilvánosan elérhetővé tegye őket az interneten (tárhely), akkor a Raspberry Pi szerver tűzfalprogrammal történő biztosítása nagyon fontos.
A Raspberry Pi OS (a Raspberry Pi egykártyás számítógépek hivatalos operációs rendszere) számos ingyenes és nyílt forráskódú tűzfalprogrammal rendelkezik. Ezen programok közül az UFW és a Firewalld a leggyakoribb tűzfalprogram.
Ebben a cikkben az UFW tűzfalprogrammal fogom bemutatni, hogyan lehet biztonságosan védeni a Raspberry Pi-t. Tehát kezdjük.
Amire szüksége lesz:
A cikk követéséhez a következő dolgokra lesz szüksége a Raspberry Pi fej nélküli módban történő beállításához:
- Raspberry Pi 3 vagy Raspberry Pi 4 egykártyás számítógép.
- Mikro-USB (Raspberry Pi 3) vagy C típusú USB (Raspberry Pi 4) hálózati adapter.
- Egy 16 vagy 32 GB-os Raspberry Pi operációs rendszerrel rendelkező microSD-kártya villant.
- Hálózati kapcsolat a Raspberry Pi-n.
- Laptop vagy asztali számítógép VNC távoli asztali vagy SSH hozzáféréshez a Raspberry Pi-hez.
Ha nem akarja Raspberry Pi 4 készülékét fej nélküli módban beállítani, akkor a következőkre is szüksége lesz:
- Egy monitor
- HDMI vagy mikro-HDMI kábel
- Egy billentyűzet
- Egy egér.
Ha segítségre van szüksége a Raspberry Pi OS képének a microSD-kártyán történő villogásával kapcsolatban, olvassa el a Raspberry Pi Imager telepítése és használata című cikkemet.
Ha Ön egy Raspberry Pi kezdő vagy, és segítségre van szüksége a Raspberry Pi OS telepítéséhez a Raspberry Pi-re, olvassa el a Raspberry Pi OS telepítése a Raspberry Pi 4-re című cikkemet.
Ha segítségre van szüksége a Raspberry Pi fej nélküli beállításához, olvassa el a Raspberry Pi operációs rendszer telepítése és konfigurálása a Raspberry Pi 4-en külső monitor nélkül című cikkemet.
A Raspberry Pi OS frissítése:
Mivel megpróbáljuk biztosítani a Raspberry Pi-t, célszerű frissíteni a Raspberry Pi OS összes meglévő csomagját. Ez biztonságosabbá teszi a Raspberry Pi operációs rendszert, mert telepíti az összes legújabb biztonsági frissítést és hibajavítást.
Először frissítse az APT csomagtárház gyorsítótárát a következő paranccsal:
$ sudo apt frissítés
A Raspberry Pi OS összes meglévő csomagjának frissítéséhez futtassa a következő parancsot:
A frissítések telepítésének megerősítéséhez nyomja meg a gombot Y majd nyomja meg <Belép>.
Az APT csomagkezelő letölti az összes szükséges csomagot az internetről. Eltarthat egy ideig, amíg elkészül.
A csomagok letöltését követően az APT csomagkezelő egyesével telepíti őket. Eltarthat egy ideig, amíg elkészül.
Ezen a ponton az összes frissítést telepíteni kell.
A módosítások életbe lépéséhez indítsa újra a Raspberry Pi alkalmazást a következő paranccsal:
$ sudo reboot
Az UFW telepítése - bonyolult tűzfal:
Miután elindult a Raspberry Pi, telepítheti az UFW tűzfal programot a következő paranccsal:
$ sudo apt install ufw -y
Az UFW-t telepíteni kell.
A módosítások életbe lépéséhez indítsa újra a Raspberry Pi alkalmazást a következő paranccsal:
Miután elindult a Raspberry Pi, ufw A systemd szolgáltatásnak aktívnak kell lennie, amint az az alábbi képernyőképen látható.
A következő paranccsal ellenőrizheti, hogy az UFW engedélyezve van-e:
Mint láthatja, az UFW alapértelmezés szerint nincs engedélyezve.
Az UFW engedélyezéséhez futtassa a következő parancsot:
Amint láthatja, az UFW engedélyezve van.
Hozzáférés engedélyezése a portokhoz alkalmazásprofilok használatával:
Az UFW rendelkezik néhány alapértelmezett alkalmazásprofillal. Az alkalmazásprofilok mindegyikének vannak előre definiált portjai, amelyekhez engedélyezheti / megtagadhatja a hozzáférést.
Az összes elérhető alkalmazásprofil felsorolásához futtassa a következő parancsot:
$ sudo ufw alkalmazáslista
Az összes telepített alkalmazásprofilt fel kell sorolni.
Ha SSH-n vagy VNC-n keresztül csatlakozik a Raspberry Pi-hez (mint én), engedélyeznie kell a OpenSSH és VNC alkalmazásprofilok. Ellenkező esetben a Raspberry Pi következő indításakor nem férhet hozzá távolról, mivel a tűzfal blokkolja az összes portot, beleértve az SSH és a VNC portokat. Tehát ez nagyon fontos.
Megtekintheti, hogy milyen portok vannak meghatározva egy alkalmazásprofilban (i.e., OpenSSH) a következő paranccsal:
Amint látod, 22. TCP-port az alkalmazásprofilban van meghatározva OpenSSH.
Ugyanígy a TCP 5900 port meghatározása a VNC alkalmazásprofil.
Hozzáférés engedélyezése a VNC alkalmazásprofil, futtassa a következő parancsot:
Mint láthatja, a VNC az alkalmazásprofil engedélyezett a tűzfalon keresztül.
Ugyanígy engedélyezze a hozzáférést a OpenSSH alkalmazásprofil a következő paranccsal:
Mint láthatja, a OpenSSH az alkalmazásprofil engedélyezett a tűzfalon keresztül.
Hozzáférés engedélyezése a portokhoz portszám használatával:
Időnként a hozzáférést engedélyezni / megtagadni kívánt portot egyetlen alkalmazásprofil sem határozza meg. Tehát meg kell engednie / meg kell tagadnia a hozzáférést ezekhez a portokhoz a portszám használatával.
Engedélyezheti például a 8080 TCP port a következő paranccsal:
$ sudo ufw 8080 / tcp engedélyezése
Mint láthatja, a 8080 TCP port engedélyezett a tűzfalon keresztüli hozzáférés.
Ugyanígy engedélyezheti a hozzáférést a UDP 8888-as port a következő paranccsal:
Mint láthatja, a UDP 8888-as port engedélyezett a tűzfalon keresztüli hozzáférés.
A portokhoz való hozzáférés megtagadása:
Az UFW tűzfalprogram alapértelmezett viselkedése az, hogy megtagad mindent, ami nem megengedett. Tehát semmit sem kell tennie ahhoz, hogy megtagadja a hozzáférést a portokhoz.
A verseny kedvéért megmutatom, hogyan lehet megtagadni a portokat az UFW-ben.
Például a 9900 TCP port, futtassa a következő parancsot:
$ sudo ufw deny 9900 / tcp
Mint láthatja, a 9900 TCP port a tűzfalon keresztül megtagadják a hozzáférést.
Ugyanígy megtagadhatja az alkalmazásprofilban definiált portokat (i.e., WWW) alábbiak szerint:
Meghatározott IP-címek hozzáférésének megtagadása a kiszolgálóhoz:
Időnként előfordulhat, hogy meg kell tiltania egy adott IP-címhez vagy IP-alhálózathoz való hozzáférést, hogy megvédje a Raspberry Pi szervert a DDoS (Distributed Denial of Service) támadásoktól. Ezt megteheti az UFW segítségével.
Az IP-címek megtagadásához az Apache webszervert fogom használni.
Az Apache webkiszolgálót a következő paranccsal telepítheti Raspberry Pi készülékére:
$ sudo apt install apache2
A telepítés megerősítéséhez nyomja meg a gombot Y majd nyomja meg <Belép>.
Az APT csomagkezelő az összes csomagot letölti az internetről, és egyesével telepíti őket. Eltarthat egy ideig, amíg elkészül.
Ekkor telepíteni kell az Apache webszervert.
Az Apache webszerver telepítése után hozzon létre egy egyszerű indexoldalt a következő paranccsal:
Üdvözli a LinuxHint
"| sudo tee / var / www / html / index.html
A apache2 A systemd szolgáltatásnak futnia kell, amint az az alábbi képernyőképen látható.
Hozzáférés engedélyezése az Apache webszerver porthoz (TCP 80-as port) az alkalmazásprofil használatával WWW alábbiak szerint:
Amint láthatja, az alkalmazásprofilban definiált portok WWW engedélyezett a tűzfalon keresztüli hozzáférés.
Keresse meg a Raspberry Pi IP-címét a következő paranccsal:
Amint láthatja, a Raspberry Pi készülékem IP-címe az 192.168.0.106. Neked más lesz. Tehát mindenképpen cserélje le mostantól a sajátjára.
Más eszközökről kell elérnie az Apache webszervert, amint az az alábbi képernyőképen látható.
Az Apache webszerver eléréséhez használt számítógépem IP-címmel rendelkezik 192.168.0.109.
Az IP-cím megtagadása 192.168.0.109 hozzáférést a Raspberry Pi kiszolgálóhoz, a tetejére hozzá kell adnia a tűzfalszabályt (1. pozíció). Az UFW szabályok sorrendje sokat számít. A legszigorúbb szabályoknak először kell menniük.
Az IP-cím megtagadása 192.168.0.109 hozzáférést a Raspberry Pi szerverhez, futtassa a következő parancsot:
Az UFW-szabály az IP-cím megtagadásához 192.168.0.109 a Raspberry Pi szerverhez való hozzáférésnek a legfőbb szabálynak kell lennie, amint az az alábbi képernyőképen látható.
Az IP-címmel rendelkező számítógépről nem fogja tudni elérni a Raspberry Pi készüléken futó Apache webszervert 192.168.0.109 többé, ahogy az alábbi képernyőképen láthatja.
De a Raspberry Pi-n futó Apache webszervert más számítógépekről is elérheti.
Ha meg akarja tagadni az IP-alhálózathoz való hozzáférést, akkor a korábban hozzáadott szabály előtt hozzá kell adnia a szükséges UFW-szabályt, mivel ez egy szigorúbb szabály.
Például egy IP-alhálózat minden számítógépéhez való hozzáférés megtagadása 192.168.20.0/24, futtassa a következő parancsot:
Az UFW szabályt a megfelelő helyre kell hozzáadni, amint az az alábbi képernyőképen látható. Most nincs számítógép a 192-es IP alhálózatról.168.20.A 0/24-nek képesnek kell lennie a Raspberry Pi szerver elérésére.
Az UFW-szabályok eltávolítása:
Időnként előfordulhat, hogy el kell távolítania néhány UFW-szabályt. Nagyon könnyű ezt megtenni.
Az összes elérhető UFW-szabályt a következő paranccsal sorolhatja fel:
$ sudo ufw állapotszámozás
Az összes rendelkezésre álló UFW-szabályt fel kell sorolni. Tegyük fel, hogy el akarja távolítani az UFW 10. számú szabályt (a 10. pozíciónál).
A 10. számú UFW-szabály eltávolításához futtassa a következő parancsot:
Az eltávolítási művelet megerősítéséhez nyomja meg a gombot Y majd nyomja meg <Belép>.
Az UFW 10. számú szabályát el kell távolítani.
Amint láthatja, az UFW szabály eltávolításra kerül, és a szabályok átrendeződnek (A 11. pozícióban lévő UFW szabály most a 10. pozícióban van).
Következtetés:
Ebben a cikkben bemutattam, hogyan telepítheti az UFW tűzfal programot a Raspberry Pi készülékére (a Raspberry Pi operációs rendszer futtatásával). Megmutattam azt is, hogyan engedélyezheti / letilthatja a portokat az UFW tűzfal program használatával. Megmutattam Önnek, hogyan lehet megtagadni egy adott IP-cím vagy egy IP-alhálózat hozzáférését a Raspberry Pi-hez az UFW tűzfal program segítségével is.