A Systemd felügyeli a szolgáltatások indítását és működését a legtöbb modern Linux rendszeren, és hatékony biztonsági opciókat kínál a szolgáltatások korlátozására és elkülönítésére. Ezen biztonsági beállítások alkalmazása csökkenti a szolgáltatás kompromittálásának kockázatát azáltal, hogy korlátozza a hozzáférést a rendszer erőforrásaihoz, képességeihez és fájljaihoz.
A systemd beépített eszközeinek és direktíváinak segítségével ellenőrizheti szolgáltatásai jelenlegi biztonsági helyzetét, majd fokozatosan alkalmazhat korlátozásokat a támadási felületük csökkentése érdekében, miközben biztosítja, hogy továbbra is megfelelően működjenek.
Auditing Service Security a systemd-analyze segítségével
Mielőtt bármilyen szolgáltatást módosítana, alapvető fontosságú, hogy megértse a jelenlegi biztonsági kitettségét. Asystemd-analyze securityA parancs minden egyes szolgáltatáshoz jelentést készít, amely 0-tól (biztonságos) 10-ig (nagyon védett) skálán értékeli a biztonsági kitettséget. Ez a pontszám a systemd biztonsági funkcióinak használatát tükrözi, nem magának az alkalmazásnak a belső biztonságát.
1. lépés:Futtassa a következő parancsot az összes szolgáltatás megtekintéséhez:
systemd-analyze securityEz megjeleníti a szolgáltatások listáját az expozíciós pontszámokkal, valamint az engedélyezett vagy hiányzó biztonsági funkciók összefoglalásával.
2. lépés:Egy adott szolgáltatás, például az Apache HTTP-kiszolgáló fókuszált nézetéhez (httpd.service), futtassa:
systemd-analyze security httpd.serviceTekintse át a kimenetet, hogy megállapítsa, mely biztonsági irányelvek nincsenek jelenleg alkalmazva, és melyek járulnak hozzá leginkább a szolgáltatás kitettségi pontszámához.
Biztonsági irányelvek alkalmazása rendszeres szolgáltatási egységekre
A Systemd lehetővé teszi a szervizegység-konfigurációk felülbírálását vagy kiterjesztését az eredeti egységfájlok módosítása nélkül a beugró felülbírálási fájlok létrehozásával. Ez a megközelítés megőrzi a változtatásokat a csomagfrissítések között.
1. lépés:Hozzon létre vagy szerkesszen felülbíráló fájlt a célszolgáltatáshoz:
sudo systemctl edit httpd.serviceEzzel megnyílik egy szövegszerkesztő, ahol biztonsággal kapcsolatos direktívákat adhat hozzá a[Service]szakasz.
Főbb biztonsági irányelvek a kitettség csökkentésére
- PrivateTmp=igen: Privát /tmp könyvtárat biztosít a szolgáltatásnak, elkülönítve az ideiglenes fájlokat más szolgáltatásoktól.
- NoNewPrivileges=true: Megakadályozza, hogy a szolgáltatás és az alárendelt folyamatok új jogosultságokat szerezzenek, és lezárja a jogosultság-eszkalációs útvonalakat.
- ProtectSystem=strict: Csak olvashatóként csatlakoztatja a kritikus rendszerkönyvtárakat, például a /usr, /boot és /etc, így megakadályozza az illetéktelen módosításokat.
- CapabilityBoundingSet=...: A Linux képességeit csak a szolgáltatás által igényeltekre korlátozza, minimálisra csökkentve a birtokában lévő jogosultságokat.
- RestrictNamespaces=...: Korlátozza a Linux névterek használatát az erőforrás-elkülönítési képességek csökkentése érdekében.
- ProtectKernelTunables=igen: Blokkolja a /proc/sys és hasonló interfészeken keresztül hangolható kernel-módosításokat.
- ProtectKernelModules=igen: Megakadályozza a kernelmodulok betöltését vagy eltávolítását.
- ProtectControlGroups=igen: Korlátozza a kontrollcsoportok módosítását.
- PrivateDevices=igen: Megtagadja a hozzáférést a fizikai eszközökhöz, csak pszeudoeszközöket engedélyez.
- RestrictSUIDSGID=igaz: Nem engedélyezi a SUID/SGID fájlok létrehozását.
- IPAddressAllow=...: A hálózati hozzáférést meghatározott IP-tartományokra korlátozza, ha van ilyen.
2. lépés:Szükség szerint adja hozzá ezeket az utasításokat a felülbírálási fájlhoz. Például:
[Service]
PrivateTmp=yes
NoNewPrivileges=true
ProtectSystem=strict
CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH
RestrictNamespaces=uts ipc pid user cgroup
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
PrivateDevices=yes
RestrictSUIDSGID=true
IPAddressAllow=192.168.1.0/24
3. lépés:Mentse a fájlt, majd töltse be újra a systemd-t, és indítsa újra a szolgáltatást a változtatások alkalmazásához:
sudo systemctl daemon-reload
sudo systemctl restart httpd.service
Futtassa újrasystemd-analyze security httpd.servicea csökkentett expozíciós pontszám megfigyelésére.
A képességek és a rendszerhívások korlátozása
A Linux képességei a root jogosultságokat finom szemcsés egységekre osztják. A Systemd lehetővé teszi a szolgáltatás által használható képességek korlátozását, csökkentve a kockázatot, ha a szolgáltatás veszélybe kerül.
1. lépés:Határozza meg, mely képességekre van szüksége a szolgáltatásnak. A közös képességek a következők:
CAP_NET_BIND_SERVICE: 1024 alatti kiemelt portokhoz kötődik.CAP_CHOWN: Fájl tulajdonjogának módosítása.CAP_DAC_OVERRIDE: A fájlengedély-ellenőrzések megkerülése.CAP_SETUIDésCAP_SETGID: Felhasználói és csoportazonosítók módosítása.
2. lépés:A felülbírálási fájl képességeinek korlátozása:
[Service]
CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_SETUID CAP_SETGID
AmbientCapabilities=CAP_NET_BIND_SERVICE
AAmbientCapabilitiesdirektíva szükséges, ha a szolgáltatás elveszíti a jogosultságokat, de még mindig szüksége van bizonyos képességekre.
3. lépés:A rendszerhívások további korlátozásához használja aSystemCallFilter=csak engedélyezett syscallok engedélyezése. A szükséges rendszerhívások azonosítása olyan eszközökkel végezhető el, mint plstracevagy systemd-nélSystemCallLog=irányelv.
Példa:
[Service]
SystemCallFilter=@system-service chroot
Jegyzet:A Syscall szűrés hatékony, de érzékeny beállítás; a szükséges rendszerhívások kizárása szolgáltatási hibákat okozhat.
A fájlrendszerhez való hozzáférés korlátozása
A Systemd korlátozhatja a fájlrendszerhez való hozzáférést azáltal, hogy a fájlrendszer egyes részeit csak olvashatóként vagy elérhetetlenként csatlakoztatja, és elválasztja a szolgáltatásokat az érzékeny adatoktól.
- ProtectHome=igen: A /home, /root és /run/user elérhetetlenné teszi.
- InaccessiblePaths=: Megtagadja a hozzáférést bizonyos útvonalakhoz.
- ReadOnlyPaths=ésReadWritePaths=: Adott könyvtárakhoz való hozzáférés szabályozása.
- PrivateDevices=igen: Korlátozza az eszköz hozzáférését.
- UMask=: Beállítja az alapértelmezett engedélymaszkot a szolgáltatás által létrehozott fájlokhoz.
Lépés:Adja hozzá ezeket a direktívákat a felülbírálási fájlhoz, hogy a szolgáltatásnak megfelelően korlátozza a fájlrendszerhez való hozzáférést.
Szolgáltatások futtatása nem root felhasználóként
A szolgáltatások rootként való futtatása szükségtelenül növeli a kockázatot. A Systemd lehetővé teszi a felhasználó és a csoport megadását, amely alatt a szolgáltatás fut.
Lépés:Adja hozzá a következőket a felülbírálási fájlhoz, hogy a szolgáltatást kevésbé jogosult felhasználóként futtassa:
[Service]
User=apache
Group=apache
Győződjön meg arról, hogy a szolgáltatás rendelkezik a szükséges engedélyekkel azokhoz a fájlokhoz és könyvtárakhoz, amelyekhez hozzá kell férnie.
A DynamicUser használata rövid távú felhasználói fiókokhoz
A DynamicUser ideiglenes felhasználói fiókot hoz létre a szolgáltatáshoz, amely csak a szolgáltatás futása közben létezik, így javítva az elszigeteltséget anélkül, hogy manuális felhasználói kezelésre lenne szükség.
Lépés:Adja hozzá ezt a direktívát a felülbíráló fájlhoz:
[Service]
DynamicUser=yes
Ez ideális olyan szolgáltatásokhoz, amelyek nem igényelnek állandó felhasználói identitást vagy hozzáférést a felhasználói adatokhoz.
A címtár létrehozásának automatizálása
A Systemd automatikusan létrehozhat és kezelhet könyvtárakat a gyorsítótárhoz, állapothoz, naplókhoz és futásidejű adatokhoz, amelyek a szolgáltatás életciklusához vannak kötve.
Lépés:Adja hozzá ezeket az utasításokat a felülbíráló fájlhoz a címtárkezelés automatizálásához:
[Service]
CacheDirectory=myservice
StateDirectory=myservice
LogsDirectory=myservice
RuntimeDirectory=myservice
Cserélje kimyserviceszolgáltatásának megfelelő névvel. Ezeket a címtárakat megfelelő tulajdonjoggal hozzák létre, és a szolgáltatás leállásakor megtisztítják.
Monitoring és hibaelhárítás
A biztonsági beállítások alkalmazása után figyelje a szolgáltatásnaplókat és a viselkedést, hogy biztosítsa a funkcionalitás sértetlenségét. Használatjournalctl -u servicenamenaplók megtekintéséhez.
Ha a szolgáltatás nem indul el, vagy váratlanul viselkedik, tekintse át az alkalmazott biztonsági direktívákat, és szükség szerint módosítsa, esetleg enyhítsen néhány korlátozást.
Olyan eszközök, mintstracesegíthet a hiányzó engedélyek vagy rendszerhívások azonosításában a rendszerhívások nyomon követésével a szolgáltatás végrehajtása során.
A rendszerbiztonsági opciók alkalmazása szisztematikusan megerősíti a Linux-szolgáltatásokat azáltal, hogy csökkenti a jogosultsági szinteket, és elkülöníti azokat a kritikus rendszerelemektől. A beállítások rendszeres ellenőrzése és hangolása biztosítja, hogy a szolgáltatások biztonságosan működjenek a funkcionalitás feláldozása nélkül.





![DeepSeek 400 hiba Érvénytelen formátum [javítás]](https://elsefix.com/tech/tejana/wp-content/uploads/2025/02/DeepSeek-400-error-Invalid-format.png)




![[Hibajavítás] Az MRU / History List futtatása mindig üres a Windows 10](https://media.askvg.com/articles/images6/Disable_Show_Most_Used_Apps_Windows_10_Start_Menu_Settings.png)



