Mobiltelefon és számítógép közötti biztonságos adatátvitel helyi hálózaton is

2026-03-11

Műhely #linux #android #útmutató #wireguard #vpn #fájlmegosztás #biztonság #linux mint #szinkronizálás

Célok és megvalósítás elve

Mobiltelefon és számítógép közötti adatátvitel helyi hálózaton keresztül jól és hatékonyan megvalósítható, ezért olyan megoldást kerestem és alakítottam ki, amely Android rendszerű telefon és számítógép között képes gyors, mégis biztonságos adatmozgást biztosítani külső szolgáltatók bevonása nélkül. A telefon kliensként csatlakozik a számítógéphez, ahol egy szinkronizáló alkalmazás segítségével az adatátvitel automatizált módon működik, ugyanakkor a folyamat tudatosan manuálisan indítható, így teljes kontrollt ad az adatmozgás felett.

Megjegyzés: Ez a cikk elsősorban Linux felhasználóknak szól, ugyanakkor Windows felhasználók számára is érdemes lehet elolvasni, elsősorban az alkalmazott szemlélet és gondolatmenet miatt, inspirációként. A fájlmegosztás mind Linuxon, mind Windows alatt önálló szolgáltatásként működik, amely igény szerint ki- és bekapcsolható, valamint egyedileg konfigurálható. Linux környezetben mindez különösen egyszerűen megvalósítható néhány parancs kiadásával és egy szöveges konfigurációs fájl logikus módosításával vagy újraalkotásával.

A célom az volt, hogy ne kelljen felhőszolgáltatást használnom, az adatátvitel sebessége ne csökkenjen, és mindez biztonságos módon történjen, ezért a helyi hálózat védelmét tovább erősítettem egy WireGuard VPN kapcsolat kiépítésével a telefon és a számítógép között. Ennek eredményeként az adatátvitel nagy sebességgel zajlik, miközben a kommunikáció titkosított csatornán halad, így a hálózaton belüli forgalom védetté válik.

A megoldás fontos része volt a hálózati biztonság tudatos kezelése a számítógépen is, ezért nem a WireGuard virtuális interfészhez, hanem a tényleges hálózati csatolóhoz – vagyis a LAN vagy Wi-Fi interfészhez – rendeltem külön tűzfalszabályokat. Ez a hálózati csatoló egy elkülönített, például wg-home nevű szabálycsoportba került, amely alapértelmezetten nem engedélyezi a belső szolgáltatások elérését, kizárólag a WireGuard VPN működéséhez szükséges portot. A Samba szolgáltatás portjai csak a VPN-en keresztül érkező forgalom számára vannak engedélyezve, így a helyi hálózaton fizikailag jelen lévő eszközök sem érik el közvetlenül a megosztásokat.

Ennek a felépítésnek az az eredménye, hogy VPN kapcsolat nélkül a hálózati megosztások nem érhetők el, vagyis a Samba szolgáltatás kizárólag a védett VPN kapcsolaton keresztül használható, ami jelentősen csökkenti a támadási felületet a helyi hálózaton belül, még akkor is, ha egy nem megbízható eszköz csatlakozna ugyanarra a hálózatra.

A rendszer kialakítása arra is felkészít, hogy távoli vagy nem megbízható Wi-Fi hálózat esetén is használható maradjon, ilyen helyzetekre például a Tailscale VPN nyújthat alternatív megoldást a telefon és a számítógép közötti biztonságos kapcsolathoz. A Tailscale, valamint a WireGuard részletes konfigurációját és finomhangolását külön cikkekben tervezem bemutatni, ahogyan a különböző hálózati környezetekhez igazított döntési szempontokat is.

Az egész struktúrát azért alakítottam ki, mert szerettem volna az eszközeim között egy- vagy kétirányú adatátvitelt megvalósítani külső szolgáltatók nélkül, biztonságosan és nagy sebességgel.

A bemutatott megoldás az én esetemben Linux Mint operációs rendszer alatt működik, de a koncepció más Linux disztribúciókon, illetve akár Windows környezetben is megvalósítható.


Samba + WireGuard – biztonságos és teljesítménybarát fájlmegosztás helyi hálózaton

Ebben a cikkben egy tudatosan felépített Samba konfigurációt mutatok be, amely helyi hálózaton és WireGuard VPN-en keresztül is biztonságosan használható jelszavas autentikáció mellett, miközben elkerüli a felesleges lassításokat. A célom nem az volt, hogy minden létező biztonsági opciót bekapcsoljak, hanem az, hogy rétegenként a megfelelő védelmet alkalmazzam: amit a WireGuard már megold titkosítás szintjén, azt nem duplázom Sambában, viszont mindazt, amit a Samba hatékonyabban kezel – hitelesítés, integritásvédelem és jogosultságkezelés –, tudatosan kihasználom.

Megjegyzés: A cikk nem célja, hogy minden lehetséges Samba- és hálózati beállítást lefedjen. A bemutatott konfiguráció egy konkrét, működő struktúrát mutat be, amely kiindulási alapként szolgálhat, és az egyéni igényeknek megfelelően tovább finomítható.

Értelemszerűen a konfigurációban szereplő felhasználóneveket mindenki a saját rendszerének megfelelően módosítsa, ezek kizárólag egy általam létrehozott példát tükröznek. Ugyanez igaz a megosztásokra és a megosztott mappák felépítésére is, amelyek szabadon bővíthetők és alakíthatók az egyedi elképzelések és felhasználási szokások szerint.


Konfiguráció

A konfigurációs fájl szerkesztése előtt rendszergazdai jogosultságra van szükség. Én ilyenkor ideiglenesen átváltok root felhasználóra, így a szerkesztés során nem kell minden parancs elé külön sudo előtagot írni.

sudo su

Megjegyzés: A sudo su parancs használatakor nincs időkorlátos kilépés, a root jogosultság addig él, amíg a shell munkamenetet nem zárom be.

A Samba konfigurációs fájl alapértelmezetten az /etc/samba/smb.conf útvonalon található, amelyet tetszőleges szövegszerkesztővel lehet módosítani.

Terminálos szerkesztés esetén például:

nano /etc/samba/smb.conf

Grafikus környezetben pedig használható egy egyszerű GUI-s szerkesztő is, például:

geany /etc/samba/smb.conf &

Konfigurációs fájl tartalma

# /etc/samba/smb.conf

[global]
   server min protocol = SMB2
   server max protocol = SMB3
   security = user

   ntlm auth = ntlmv2-only
   client ntlmv2 auth = yes
   lanman auth = no
   client lanman auth = no

   map to guest = never
   restrict anonymous = 2

   name resolve order = host
   wins support = no

   server signing = mandatory
   access based share enum = yes

   server multi channel support = yes
   aio read size = 1
   aio write size = 1
   use sendfile = yes
   min receivefile size = 16384

   getwd cache = yes
   directory name cache size = 100

   kernel oplocks = yes
   oplocks = yes

   deadtime = 15

   usershare allow guests = no


[IstvanShare]
   comment = István Share
   path = /home/istvan/Share
   browseable = yes
   writeable = yes

   force user = istvan
   force group = istvan
   valid users = istvan

   create mask = 0775
   directory mask = 0775
   force create mode = 0775
   force directory mode = 0775


[KonvertaltKepek]
   comment = Fényképek és videók
   path = /home/istvan/Képek/Fényképek és videók
   browseable = yes
   read only = yes

   force user = istvan
   force group = istvan
   valid users = istvan


[IstvanCloud]
   comment = István Cloud
   path = /home/istvan/Cloud
   browseable = yes
   writeable = yes

   force user = istvan
   force group = istvan
   valid users = istvan

   create mask = 0775
   directory mask = 0775
   force create mode = 0775
   force directory mode = 0775


[IstvanKeePassXC]
   comment = István KeePassXC
   path = /home/istvan/Dokumentumok/Informatika/KeePassXC/Adatbázisok
   browseable = yes
   writeable = yes

   force user = istvan
   force group = istvan
   valid users = istvan

   create mask = 0775
   directory mask = 0775

   kernel oplocks = no
   oplocks = no
   strict locking = yes
   posix locking = yes

Samba konfiguráció módosítása után – újraindítás és ellenőrzés

A konfigurációs fájl módosítása után a változtatások csak a szolgáltatás újratöltése vagy újraindítása után lépnek életbe, ezért ezt soha nem hagyom ki.

# Konfiguráció ellenőrzése
testparm

# Konfiguráció újratöltése
sudo systemctl reload smbd

# Teljes újraindítás nagyobb módosítások után
sudo systemctl restart smbd

Samba felhasználók kezelése

A Samba saját felhasználói adatbázist használ, ezért egy rendszerfelhasználó önmagában még nem jogosult a megosztások elérésére.

Új Samba felhasználó hozzáadása

sudo smbpasswd -a felhasznalo

Meglévő Samba felhasználó jelszavának módosítása

sudo smbpasswd felhasznalo

Felhasználók hozzáadása vagy módosítása után minden esetben újratöltöm a Samba szolgáltatást.

sudo systemctl reload smbd

Miért nincs SMB titkosítás WireGuard mellett?

WireGuard VPN használata esetén az adatforgalom már végponttól végpontig titkosított csatornán halad, ezért az SMB további titkosítása (smb encrypt = required) ebben a környezetben nem növeli érdemben a biztonságot. A dupla titkosítás ezzel szemben mérhető CPU-terhelést és késleltetést okozna, különösen nagyobb fájlok másolásánál. Emiatt tudatos döntés volt, hogy a titkosítást a WireGuard réteg végzi, míg a Samba a hitelesítésért, az adatforgalom integritásáért és a jogosultságkezelésért felel.

A konfiguráció során külön figyelmet fordítottam arra is, hogy a KeePass adatbázist tartalmazó megosztás eltérő paraméterezést kapjon. Az adatbázis-érzékeny fájlok esetében az opportunistic locking tiltásra került, miközben a szigorú és POSIX alapú fájllockolás engedélyezve van, így elkerülhető a cache-elésből vagy párhuzamos hozzáférésből adódó adatvesztés.


Összegzés

Ez a megoldás nem támaszkodik külső szolgáltatóra, gyors marad helyi hálózaton és VPN-en keresztül is, tudatosan kezeli a biztonsági rétegeket, és külön figyelmet fordít az adatbázis-érzékeny fájlokra. Nem „túlkonfigurált”, hanem átgondolt és célszerű biztonságot valósít meg.

A sorozat következő részében külön-külön foglalkozunk a Samba konfigurációban használt paraméterek áttekintésével és magyarázatával, a WireGuard beállítása és felépítése során alkalmazott megoldásokkal – beleértve a tűzfal szabály parancssoros létrehozását a hálózati csatolóhoz rendelve –, valamint a Tailscale-alapú távoli elérés lehetőségeivel és gyakorlati alkalmazásával.