A Raspberry Pi világában számos hasznos parancs áll rendelkezésünkre, amelyek lehetővé teszik számunkra a rendszer gyors kezelését és a különböző feladatok végrehajtását. Az alábbiakban bemutatok néhány alapvető parancsot és azok használatát, amelyek segítenek a fájlok kezelésében, a hálózati beállítások módosításában, a távoli elérésben, valamint a csomagkezelésben. Ezen kívül néhány olyan eszközt is megismerhetünk, amelyek hatékonyabbá teszik a napi munkát a Raspberry Pi-n.

A grep parancs segítségével egyszerűen kereshetünk egy adott szót vagy kifejezést egy fájlban. Például, ha meg szeretnénk találni a "dhcp" szót a rendszer naplófájljában, a következő parancsot használhatjuk:

bash
grep dhcp /var/log/syslog

Ez a parancs egyszerű szöveges keresésre használható. Ha például egy szkript kimenetét szeretnénk szűrni, akkor ezt is megtehetjük a grep segítségével:

bash
cat /var/log/syslog | grep dhcp /home/pi/myscript.sh | grep error ls -latr | grep php

A grep számos lehetőséget kínál, mint például a reguláris kifejezésekkel való keresés, vagy a találatok előtt, után vagy körül a sorok megjelenítése. Használhatjuk például az -A kapcsolót, hogy két sort jelenítsünk meg a találat után, az -B kapcsolót, hogy négy sorral a találat előtt jelenjenek meg az eredmények, vagy az -v kapcsolót, hogy minden olyan sort lássunk, amely nem tartalmazza a keresett szót:

bash
grep -A2 -B4 'Fatal error' /var/log/apache/error.log grep -v 'Notice' /var/log/apache/error.log

A nano a rendszer alapértelmezett szövegszerkesztője. Használata egyszerű, és lehetőséget biztosít fájlok szerkesztésére, majd azok mentésére:

bash
nano /home/pi/myscript.sh

A fájl szerkesztéséhez használt parancsok a képernyő alján találhatók, például a fájl mentéséhez és a szerkesztő bezárásához az alábbi billentyűkombinációkat használhatjuk:

  • CTRL + O: fájl mentése

  • Enter: megerősítés

  • CTRL + X: szerkesztő bezárása

A rm parancs a fájlok törlésére szolgál, a -rf kapcsolóval pedig mappák törlésére is képes, rekurzívan:

bash
rm monscript.sh rm -rf /home/pi/scripts/

A tar parancs egyes fájlok archiválására és tömörítésére szolgál, általában a gzip tömörítővel együtt használva:

bash
tar -cvfz archive.tar.gz /home/pi/Documents/mydirectory

A find parancs segít fájlok keresésében a rendszerben. Kereshetünk például .tar.gz fájlokat egy adott könyvtárban:

bash
find /home/pi -iname *.tar.gz

A pwd parancs megmutatja, hogy melyik könyvtárban tartózkodunk éppen:

bash
pwd

A tree parancs segítségével áttekinthetjük a fájlrendszerünk hierarchiáját:

bash
tree

A ping parancs az alapvető hálózati diagnosztikai eszköz, amellyel más IP-címek elérhetőségét tesztelhetjük:

bash
ping 192.168.1.1

Ha szeretnénk módosítani a hálózati interfész beállításait, használhatjuk az ifup és ifdown parancsokat. Az ifconfig segítségével megnézhetjük az aktuális hálózati konfigurációt:

bash
ifconfig sudo ifup eth0 sudo ifdown wlan0

A wget parancs letölt egy fájlt az internetről:

bash
wget https://wordpress.org/latest.zip

A ssh parancs lehetővé teszi, hogy biztonságosan csatlakozzunk egy távoli számítógéphez:

bash

A scp parancs fájlokat másolhatunk távoli gépre SSH-n keresztül:

bash
scp test.txt [email protected]:/root/

A rsync a fájlok szinkronizálására szolgál, helyi vagy távoli rendszerek között:

bash
rsync -auzr /home/pi/Documents/* /home/pi/backups/Documents/

A rpi-update parancs segítségével frissíthetjük a Raspberry Pi teljes rendszerét, de érdemes csak akkor használni, ha biztosak vagyunk abban, hogy nem okoz problémát:

bash
sudo rpi-update

A csomagok telepítésére és eltávolítására használhatjuk az apt-get parancsokat. Az apt-get update letölti a legfrissebb csomaglistát, míg az apt-get upgrade frissíti az összes telepített csomagot:

bash
sudo apt-get update sudo apt-get upgrade

Az apt-get install segítségével telepíthetünk egy adott csomagot, míg az apt-get remove eltávolítja azt:

bash
sudo apt-get install phpmyadmin sudo apt-get remove vim

A ps parancs megmutatja az összes futó folyamatot a rendszerünkön:

bash
ps aux

A kill parancs lehetővé teszi a folyamatok leállítását. Ehhez a folyamat azonosítójára (PID) van szükség:

bash
kill 12345 kill -9 12345

A htop parancs egy felhasználóbarátabb alternatívája a top parancsnak, színes kijelzésekkel és dinamikus terhelésmérőkkel.

Mindezek az alapvető parancsok segítenek abban, hogy gyorsan és hatékonyan kezelhessük a Raspberry Pi-t. Fontos megjegyezni, hogy bár a parancsok rendkívül hasznosak, helytelen használatuk vagy a figyelmetlenség komoly problémákhoz vezethet, például fájlok elvesztéséhez vagy a rendszer sérüléséhez. Ezért mindig legyen óvatos, és ha nem biztos abban, mit csinál, először olvassa el a megfelelő parancsok dokumentációját.

Hogyan telepítsünk és konfiguráljunk VPN-t Raspberry Pi-n

A Raspberry Pi számos alkalmazásra alkalmas eszköz, de talán az egyik legnagyobb előnye, hogy könnyedén alakítható egy saját VPN szerverré. A VPN, vagyis a Virtuális Magánhálózat, lehetővé teszi, hogy távolról, biztonságosan csatlakozzunk otthoni hálózatunkhoz, mintha fizikailag is otthon lennénk. A VPN egyik fő előnye, hogy titkosítja az adatforgalmat, így védelmet biztosítva a hackerekkel szemben, akik esetleg a hálózaton áramló nyílt adatokat próbálnák meg hozzáférni.

Az alábbiakban bemutatjuk, hogyan állíthatunk be egy OpenVPN-t Raspberry Pi-n, hogy bárhonnan elérhessük otthoni eszközeinket.

A VPN működése

A VPN lényege, hogy a kapcsolatot titkosítja a kliensek és a VPN szerver között. Ez azt jelenti, hogy minden adat, amely a nyilvános interneten keresztül áramlik, biztonságos "alagúton" keresztül jut el a célállomásra. Például, ha egy webszolgáltatót üzemeltetünk otthon és nyilvános portot használunk (public_ip:80 => local_ip:80), az adataink sebezhetők lehetnek, mivel azok titkosítás nélkül áramlanak a hálózaton. Ha VPN-t használunk, az adatok titkosított alagúton keresztül érkeznek a célhoz, így sokkal biztonságosabbak lesznek.

A VPN beállításának folyamatában mindössze két dologra van szükség: egy VPN szerverre (jelen esetben Raspberry Pi) és egy VPN kliensre (például egy laptop vagy okostelefon), amely csatlakozik a szerverhez.

Telepítés lépései

  1. Raspberry Pi előkészítése
    Első lépésként győződjünk meg róla, hogy Raspberry Pi-nk a legfrissebb verzióval rendelkezik. Frissítsük a rendszert az alábbi parancsokkal:

    sql
    sudo apt update sudo apt upgrade
  2. OpenVPN telepítése
    A következő lépés a VPN szerver telepítése. Ehhez telepítenünk kell az OpenVPN csomagot:

    nginx
    sudo apt install openvpn
  3. Konfigurációs fájlok beállítása
    Most ki kell bontanunk a minta konfigurációs fájlt és szerkesztenünk kell:

    swift
    cd /usr/share/doc/openvpn/examples/sample-config-files/ gunzip -c server.conf.gz > /etc/openvpn/server.conf nano /etc/openvpn/server.conf

    Itt módosítsuk a következő sorokat:

    • Kommentáljuk ki a push “redirect-gateway def1 bypass-dhcp” sort.

    • Kommentáljuk ki a ;tls-auth ta.key 0 sort.

    • Állítsuk be a DNS szervert: push “dhcp-option DNS 8.8.8.8”.

    • A Google DNS-t használtam, de bármely más DNS-t is választhatunk.

  4. IP Forwarding engedélyezése
    Alapértelmezés szerint a Linux rendszerek nem engedélyezik az IP forgalom irányítását. Mivel Raspberry Pi-nk lesz a VPN kliensek és a helyi hálózat közötti router, ezt engedélyeznünk kell:

    bash
    echo 1 > /proc/sys/net/ipv4/ip_forward nano /etc/sysctl.conf

    Itt kommentáljuk ki a következő sort:

    ini
    net.ipv4.ip_forward=1
  5. Easy-RSA konfigurálása
    Most szükség van az Easy-RSA eszközkészletre, hogy generáljuk a szükséges kulcsokat a szerveroldalon. Ehhez másoljuk az Easy-RSA fájlokat az OpenVPN mappába:

    swift
    cp -r /usr/share/easy-rsa/ /etc/openvpn mkdir /etc/openvpn/easy-rsa/keys nano /etc/openvpn/easy-rsa/vars
  6. Kulcsok generálása
    Módosítsuk a vars fájlt, hogy a saját adatainkat állítsuk be (pl. ország, város, e-mail cím). Például:

    arduino
    export KEY_COUNTRY="HU" export KEY_PROVINCE="Pest" export KEY_CITY="Budapest" export KEY_ORG="RaspberryPiVPN" export KEY_EMAIL="[email protected]" export KEY_OU="RaspberryVPN"
  7. Szerverindítás és tesztelés
    Miután a konfigurációval végeztünk, elindíthatjuk az OpenVPN szervert és tesztelhetjük a kapcsolatot egy klienssel, amely csatlakozik a Raspberry Pi VPN szerverhez.

A VPN beállítása nem bonyolult, és egy megfelelően konfigurált rendszer rendkívül biztonságos módot kínál az otthoni hálózatunk elérésére bárhonnan a világban. Fontos, hogy a titkosítás mindig naprakész legyen, így ne feledkezzünk meg a szoftverek frissítéséről és a rendszer karbantartásáról.

A VPN által kínált biztonsági előnyök mellett fontos megérteni, hogy bár a VPN titkosítja az adatokat, önmagában nem oldja meg minden biztonsági problémát. A VPN használata mellett is szükség van erős jelszavakra, tűzfalakra, és egyéb biztonsági intézkedésekre, hogy megvédjük eszközeinket és adatainkat.

Hogyan elemezzük és teszteljük a hálózatot Kali Linux alatt a gyakorlati eszközökkel?

A csomóforgalom‑elemző (packet analyzer) lényege, hogy a hálózati forgalom közben elfogható és tárolható, majd visszaolvasható formában rendelkezésre áll; Kali alatt a Wireshark a grafikus felületű alapvető eszköz, miközben a csomagok rögzítésére és későbbi elemzésére a tcpdump vagy más parancssori eszköz is kiváló. A gyakorlatban elindítjuk a rögzítést, megfigyeljük az összes beérkező csomagot, majd szelektíven alkalmazunk szűrőket és dekódereket, hogy értelmet nyerjenek a protokollok és láthatóvá váljon a rendellenes tevékenység; ez a módszer ad alapot a későbbi sérülékenység‑felismeréshez és kártevő‑vizsgálathoz.

Az alkalmazások és weboldalak támadhatóságában az SQL‑injekció tipikus mechanizmus: a felhasználói bemenetek olyan helyen módosítják a lekérdezést, ahol nincs megfelelő szűrés vagy paraméterezés, így egy egyszerű URL‑paraméter manipulációja teljes adatbázis‑kiválasztást eredményezhet. Kali környezetben a sqlmap gyors és hatékony eszköz a sebezhetőségek azonosítására; a tesztelés logikája az, hogy egy gyanús végpont URL‑jét indulópontként megadva automatizáltan feltérképezzük, milyen adatokat lehet kinyerni, majd a felfedezett hibákat azonosítjuk és javaslatokkal látjuk el a javításhoz. A gyakorlatban a legegyszerűbb példa az URL‑paraméterek szándékos módosítása; a védekezés alapja viszont mindig a parametrizált lekérdezés és a bemenetek validálása.

A sebezhetőségek kihasználásának folyamatát a Metasploit automatizálja: felfedezés, azonosítás és exploitálás egy keretben. Telepítve és indítva lehetőség nyílik hálózati pásztázásra, ismert CVE‑k keresésére és sztenderd exploit‑modulok alkalmazására. A Metasploit nem csupán támadóeszköz, hanem ellenőrző keret: a db_nmap például integráltan futtatható, eredményei pedig ügyesen beágyazhatók a későbbi exploitálási lépésekbe. A felelős használat mindig azt jelenti, hogy csak engedéllyel végzünk vizsgálatot, és a talált hibákat dokumentáljuk, priorizáljuk, majd javítjuk.

A vezeték nélküli hálózatok tesztelésére az Aircrack‑NG csomag kínál komplett munkafolyamatot: a vezeték nélküli kártya monitor módba helyezése, az SSID‑ek és kliensek feltérképezése, a cél csomagok — kézfogások (handshake) — begyűjtése és végül a jelszó visszafejtésre irányuló brute‑force/dictionary támadás. A kártya monitor módba állítása és az interferáló folyamatok leállítása előfeltétel, majd a célra szűkített adatgyűjtéshez a megfelelő BSSID és csatorna megadása szükséges. A kézfogás rögzítése után maga a jelszó nem “dekódolható”, hanem a hash‑t így érkezett formában próbáljuk meg reprodukálni szótárakkal és generált jelszókészletekkel; a siker erősen függ a jelszó komplexitásától és a rendelkezésre álló szólisták minőségétől.

A gyakorlatban fontos megérteni, hogy a begyűjtött napló‑sorok, mint például a hitelesítési hibák („Failed password for root from 192.168.1.22 port 37234 ssh2”), gyakran első jelzései egy próbálkozásnak vagy automatizált behatolási kísérletnek, és ezek kombinálása a csomagforgalom‑elemzéssel segít a támadási mintázatok felismerésében. A jelszó‑feltörési kísérletekhez szükséges szótárak nagyok lehetnek; a helyi erőforrásokat, tárolókapacitást és a cél környezet sajátosságait figyelembe véve kell szelektálni és előállítani a megfelelő listákat.

A felelősségteljes tesztelés elengedhetetlen: minden eszköz képessége ugyanaz, amivel kárt lehet okozni, de jogosulatlan használat jogi következményekkel jár. A műszaki lépések mellett a szabályozási, etikai és üzemeltetési szempontok ismerete és betartása alapfeltétel. A biztonsági hibák javítása a parametrizált lekérdezések, bemeneti tisztítás, erős hitelesítés és rendszeres frissítés kombinációján alapul; a feltárt kézfogások és exploitok dokumentálása pedig a sebezhetőség lez