A Raspberry Pi robbanásszerűen népszerűvé vált az elmúlt évtizedben, és nem véletlenül. Ez az apró, hitelkártya méretű számítógép hihetetlenül sokoldalú és költséghatékony. Alkalmas médialejátszónak, okosotthon-központnak, hálózati tárhelynek (NAS), VPN szervernek, webkiszolgálónak, vagy akár fejlesztői környezetnek is. Azonban, ahogy egyre többen teszik ki Raspberry Pi eszközeiket az internetre – legyen szó otthoni szerverről, távoli hozzáférésről vagy IoT-projekt részeként –, úgy válik egyre sürgetőbbé a biztonság kérdése. Az internet egy veszélyes hely, és egy rosszul konfigurált, védtelen Pi hamar célponttá válhat. Gondoljunk csak a botnetekre, ahol kompromittált eszközöket használnak fel DDoS-támadásokra, vagy az adatszivárgásra, ha érzékeny információk vannak rajta. Ebben a cikkben részletesen bemutatjuk, hogyan erősíthetjük meg internetre kihelyezett Raspberry Pi-nk védelmét, lépésről lépésre, átfogóan és érthetően.
I. Első Lépések: Az Alapok Megvetése
A biztonság ott kezdődik, ahol a Pi először bekapcsol. Az alapbeállítások megváltoztatása elengedhetetlen.
1.1 Azonnali Jelszóváltás és Új Felhasználó Létrehozása
A legtöbb Raspberry Pi disztribúció alapértelmezett 'pi' felhasználónévvel és 'raspberry' jelszóval érkezik. Ezeket a bejelentkezési adatokat mindenki ismeri, ami hatalmas biztonsági kockázat. Az első és legfontosabb lépés ezek azonnali megváltoztatása, sőt, egy teljesen új felhasználó létrehozása:
- Először is, változtassuk meg az alapértelmezett 'pi' felhasználó jelszavát egy erős jelszóra a
passwd
paranccsal. Egy erős jelszó minimum 12 karakter hosszú, tartalmaz nagy- és kisbetűket, számokat és speciális karaktereket. - Ezt követően hozzunk létre egy új felhasználót a
sudo adduser [újfellnev]
paranccsal, és adjunk neki egyedi, erős jelszót. - Adjuk hozzá az új felhasználót a 'sudo' csoporthoz, hogy rendszergazdai jogosultságokkal rendelkezzen:
sudo usermod -aG sudo [újfellnev]
. - Miután meggyőződtünk róla, hogy az új felhasználóval sikeresen be tudunk jelentkezni és van 'sudo' jogosultsága, fontoljuk meg a 'pi' felhasználó letiltását vagy törlését:
sudo deluser --remove-home pi
(figyelem, ez törli a pi felhasználó könyvtárát is, mentsük le róla, ha van valami fontos!). Ha nem töröljük, legalább tiltsuk le:sudo usermod -L pi
.
1.2 Rendszeres Frissítések
A szoftverek, beleértve az operációs rendszert (Raspberry Pi OS) és az összes telepített csomagot, gyakran tartalmaznak biztonsági réseket. A fejlesztők folyamatosan dolgoznak ezek kijavításán. Ezért létfontosságú, hogy rendszeresen frissítsük a rendszert. Ezt az alábbi két paranccsal tehetjük meg:
sudo apt update
: Ez frissíti a csomaglistákat, azaz letölti a legfrissebb információkat az elérhető csomagokról és verziókról.sudo apt upgrade -y
: Ez telepíti az összes elérhető frissítést. Érdemes ezt hetente, de legalább havonta megtenni.
Ezek a parancsok biztosítják, hogy Pi-nk mindig a legfrissebb biztonsági javításokkal rendelkezzen, jelentősen csökkentve a kihasználható sérülékenységek számát.
1.3 Szolgáltatások Minimalizálása
Minden futó szolgáltatás egy potenciális belépési pont a rendszerbe. Minél több szolgáltatás fut, annál nagyobb a rendszer "támadási felülete". Nézzük át, milyen szolgáltatások futnak a Pi-n, és kapcsoljuk ki azokat, amelyekre nincs szükségünk:
- Listázzuk a futó szolgáltatásokat:
sudo systemctl list-unit-files --type=service
- Kapcsoljuk ki a felesleges szolgáltatásokat:
sudo systemctl disable [szolgáltatásnév]
- Például, ha nem használunk Bluetooth-t, érdemes lehet kikapcsolni. Ugyanez vonatkozik a VNC-re, ha nem használjuk távoli grafikus felület elérésére.
II. Hálózati Biztonság: A Kapuk Őrzése
Mivel a Pi az internetre van kitéve, a hálózati biztonság kulcsfontosságú. Ez a réteg védi meg a bejövő támadásoktól.
2.1 Tűzfal Beállítása (UFW)
A tűzfal (Uncomplicated Firewall – UFW) egy alapvető eszköz, amely szabályozza, hogy melyik hálózati forgalom érheti el a Pi-t. Alapértelmezés szerint a Raspberry Pi OS nem rendelkezik aktív tűzfallal, így minden port nyitva van.
- Telepítsük az UFW-t:
sudo apt install ufw
- Alapértelmezés szerint tiltsuk le az összes bejövő forgalmat:
sudo ufw default deny incoming
- Engedélyezzük a szükséges portokat. Ha például SSH-n keresztül szeretnénk hozzáférni, engedélyezzük az SSH portot (alapértelmezett 22, de ezt később megváltoztatjuk):
sudo ufw allow ssh
(vagysudo ufw allow [port_szám]
, ha már megváltoztattuk). Ha webkiszolgálóként üzemel, engedélyezzük a HTTP (80) és HTTPS (443) portokat:sudo ufw allow http
éssudo ufw allow https
. - Engedélyezzük a tűzfalat:
sudo ufw enable
. Figyeljünk arra, hogy miután engedélyeztük, csak a megengedett portokon keresztül érhetjük el a Pi-t! - Ellenőrizzük a tűzfal állapotát:
sudo ufw status verbose
2.2 SSH Biztonságos Konfigurálása
Az SSH (Secure Shell) az elsődleges módja a Pi távoli elérésének. Ha nem konfiguráljuk megfelelően, könnyen sebezhetővé válhat brute force támadásokkal szemben.
- SSH Port Cseréje: Az alapértelmezett 22-es port az első, amit a támadók szkennelnek. Érdemes megváltoztatni egy kevésbé nyilvános portra (pl. 2222, 50000 stb.). Ehhez szerkesszük az
/etc/ssh/sshd_config
fájlt: keresse meg a#Port 22
sort, törölje a kommentet, és írja át a portszámot. Ne felejtse el ezt a portot engedélyezni az UFW-ben! - Jelszavas Bejelentkezés Letiltása, SSH Kulcs Alapú Hitelesítés: Ez az egyik legfontosabb lépés. Az SSH kulcsok sokkal biztonságosabbak, mint a jelszavak, mert szinte lehetetlen feltörni őket.
- Generáljon SSH kulcspárt a helyi gépén:
ssh-keygen -t rsa -b 4096
- Másolja át a publikus kulcsot a Pi-re:
ssh-copy-id -p [új_port] [felhasználónév]@[pi_ip_címe]
. - Miután meggyőződött róla, hogy be tud jelentkezni a kulccsal, szerkessze az
/etc/ssh/sshd_config
fájlt a Pi-n: állítsa aPasswordAuthentication
értékétno
-ra, és aChallengeResponseAuthentication
értékét isno
-ra. - Indítsa újra az SSH szolgáltatást:
sudo systemctl restart ssh
.
- Generáljon SSH kulcspárt a helyi gépén:
- Root Bejelentkezés Tiltása: A root felhasználónév a leghatalmasabb. Tiltsuk le a közvetlen root bejelentkezést SSH-n keresztül az
/etc/ssh/sshd_config
fájlban aPermitRootLogin no
beállítással. Helyette a saját felhasználónkkal jelentkezzünk be, és használjuk asudo
-t, ha rendszergazdai jogokra van szükségünk. - Kétfaktoros Hitelesítés (2FA): Extraként beállíthatunk 2FA-t az SSH-hoz (pl. Google Authenticator modul segítségével), ami egy újabb védelmi réteget ad a bejelentkezéshez. Ehhez telepíteni kell a
libpam-google-authenticator
csomagot, futtatni agoogle-authenticator
parancsot, és konfigurálni az SSH PAM modulját.
2.3 Port Forwarding és DMZ Kerülése
A routeren beállított port forwardolás teszi lehetővé, hogy az internetről elérjük a Pi-t. Csak azokat a portokat forwardoljuk, amelyek feltétlenül szükségesek, és mindig egyedileg, célzottan! Soha ne tegyük a Raspberry Pi-t a router 'DMZ' (Demilitarizált Zóna) beállításába, mivel ez minden portot nyitva hagy a világháló felé, lényegében tűzfal nélkülivé téve az eszközt.
2.4 VPN Használata
A legbiztonságosabb módja a távoli Raspberry Pi elérésének egy VPN (Virtual Private Network) szerver beállítása a Pi-n (pl. OpenVPN vagy WireGuard). Ekkor nem kell közvetlenül portokat forwardolnunk a Pi-re, hanem először csatlakozunk a VPN-hez a saját gépünkről, majd azon keresztül biztonságosan elérjük a Pi-t a belső hálózaton keresztül. Ez a megoldás nagymértékben csökkenti a támadások esélyét, mivel a Pi portjai nem látszanak közvetlenül az internetről.
III. Szoftveres Védelem és Konfiguráció
A hálózati védelem mellett a szoftveres beállítások is kritikusak.
3.1 Fail2Ban a Brute Force Támadások Ellen
A Fail2Ban egy nagyszerű eszköz a brute force támadások (azaz sok sikertelen bejelentkezési kísérlet) elleni védelemre. Figyeli a logfájlokat (pl. SSH, webkiszolgáló naplóit), és ha túl sok sikertelen bejelentkezési kísérletet észlel egy IP-címről, automatikusan ideiglenesen letiltja azt a tűzfalon.
- Telepítés:
sudo apt install fail2ban
- Konfiguráció: A fő konfigurációs fájl a
/etc/fail2ban/jail.conf
, de ajánlott egy/etc/fail2ban/jail.local
fájlt létrehozni a saját beállításainkkal. Itt engedélyezhetjük az SSH védelmét ([sshd] enabled = true
), és beállíthatjuk, mennyi ideig legyen tiltva egy IP, illetve hány sikertelen kísérlet után blokkoljon. - Indítsa újra a Fail2Ban-t:
sudo systemctl restart fail2ban
3.2 Szoftverek Csak Megbízható Forrásból
Mindig csak megbízható forrásból telepítsünk szoftvereket. Ne töltsünk le és futtassunk ismeretlen szkripteket az internetről, és mindig ellenőrizzük a források hitelességét, mielőtt hozzáadjuk őket az apt listához. A hivatalos Raspberry Pi OS repository a legbiztonságosabb forrás.
3.3 Naplófájlok Rendszeres Ellenőrzése
A rendszer folyamatosan naplózza a tevékenységeket, beleértve a bejelentkezési kísérleteket és a rendszerüzeneteket. Ezek a naplófájlok (pl. /var/log/auth.log
, /var/log/syslog
, /var/log/ufw.log
) értékes információkat szolgáltathatnak a potenciális támadásokról. Rendszeresen ellenőrizzük őket anomáliák, sikertelen bejelentkezési kísérletek vagy szokatlan tevékenységek után kutatva. Például: grep "Failed password for" /var/log/auth.log
.
3.4 Titkosítás (pl. LUKS)
Ha a Raspberry Pi érzékeny adatokat tárol, érdemes megfontolni a titkosítást. Bár a teljes lemez titkosítása a Pi-n bonyolultabb lehet (különösen a rendszerpartíció esetében), de bizonyos adatokhoz használhatunk titkosított fájlrendszert (pl. LUKS), vagy fájlszintű titkosítást (pl. GnuPG). Ez extra védelmi réteget biztosít arra az esetre, ha az SD kártya fizikailag illetéktelen kezekbe kerülne.
IV. Adatvédelem és Vészhelyzeti Tervezés
A legjobb védelem mellett is előfordulhat, hogy valami balul sül el. Készüljünk fel a legrosszabbra is!
4.1 Rendszeres Biztonsági Mentések
A legfontosabb adataink védelme érdekében kulcsfontosságú a rendszeres biztonsági mentés. Ezt megtehetjük az SD kártya teljes klónozásával (pl. a dd
paranccsal, vagy a Raspberry Pi Imager mentési funkciójával), vagy csak a kritikus adatokról készíthetünk mentést egy külső meghajtóra, NAS-ra vagy felhőbe (pl. rsync
segítségével). Tároljuk a mentéseket biztonságos, offline helyen. Ez a mentés segít a gyors helyreállításban egy esetleges támadás, adatvesztés vagy SD kártya meghibásodása esetén.
4.2 Helyreállítási Terv
Gondoljuk át, mi történik, ha a Pi mégis kompromittálódik. Legyen egy vészhelyzeti tervünk:
- Tudjuk, hogyan kell teljesen újratelepíteni a rendszert a biztonsági mentésből.
- Készítsünk egy listát a telepített szoftverekről és a konfigurációs fájlokról, hogy gyorsan visszaállíthassuk a működő környezetet.
- Vizsgáljuk meg, hogyan tudjuk azonosítani és eltávolítani a kártékony szoftvereket, ha csak egy részleges kompromittáció történne. (Bár ilyen esetben általában a teljes újratelepítés a legbiztonságosabb megoldás.)
V. Folyamatos Éberség és Fejlesztés
A biztonság nem egy egyszeri beállítás, hanem egy folyamatos feladat. A kiberfenyegetések folyamatosan fejlődnek, ezért nekünk is naprakésznek kell lennünk.
5.1 Biztonsági Auditok és Sérülékenységvizsgálat
Rendszeresen ellenőrizzük saját Pi-nk sebezhetőségét. Használhatunk hálózati szkennereket (pl. Nmap) egy másik gépről, hogy felmérjük, milyen portok látszanak nyitottnak a Pi-n az internet felől. Ez segíthet azonosítani a véletlenül nyitva maradt portokat. Időről időre tekintsük át a biztonsági beállításainkat, és győződjünk meg róla, hogy még mindig relevánsak és hatékonyak.
5.2 Közösségi Támogatás és Hírek Követése
Maradjunk naprakészek a Raspberry Pi közösségben és az IT-biztonsági hírekben. Kövessük a hivatalos blogokat, fórumokat és biztonsági hírportálokat, hogy értesüljünk az újonnan felfedezett sérülékenységekről és azok javításairól. A tudás a legjobb védelem.
5.3 A „Kevesebb Több” Elve
Végül, de nem utolsósorban, fontoljuk meg a „kevesebb több” elvét. Ha egyáltalán nem szükséges, hogy a Raspberry Pi-nk közvetlenül elérhető legyen az internetről, akkor ne tegyük ki! Használjunk helyi hálózatot, vagy VPN-t a hozzáféréshez. Minél kevesebb szolgáltatást futtatunk és minél kevesebb portot nyitunk meg, annál kisebb a támadási felület és annál biztonságosabb lesz az eszközünk.
Összefoglalás
A Raspberry Pi egy fantasztikus eszköz, amely számtalan lehetőséget kínál. Azonban az internetre történő kihelyezése komoly felelősséggel jár. Az itt felsorolt biztonsági tippek – az alapvető jelszóvédelemtől és a rendszeres frissítésektől kezdve a fejlettebb tűzfal és SSH kulcs beállításokig, a Fail2Ban használatáig és a VPN-es hozzáférésig – mind hozzájárulnak ahhoz, hogy Pi-nk biztonságosabb legyen a kiberfenyegetésekkel szemben. Ne feledjük, a biztonság egy folyamatos utazás, nem pedig egy egyszeri célállomás. Rendszeres odafigyeléssel és karbantartással azonban hosszú távon élvezhetjük a netre kihelyezett Raspberry Pi nyújtotta előnyöket anélkül, hogy aggódnunk kellene a káros behatolások miatt. Legyünk éberek, legyünk proaktívak, és óvjuk meg digitális eszközeinket!
Leave a Reply