Ahogy előző cikkeinkben megismerhettük, a biztonsági kernelpatch-ek jelentős védelmet nyújthatnak nem csak lokális támadások, hanem bizonyos hálózati veszedelmek ellen is. Lássuk, hogyan tehetünk szert megfelelő immunitásra a grsecurity segítségével!
- Töltsük le a grsecurity legfrissebb, kernelverziónknak megfelelő változatát (e sorok írásakor ez a 2.4.26-os, illetve a 2.6.5-öshöz való), és helyezzük el a /usr/src könytárban
- Lépjünk be a kernelforrást tartalmazó /usr/src/linux könyvtárba
- Adjuk ki a patch -p1 < ../grsecurity-2.0-2.4.26.patch parancsot
- A make config vagy make menuconfig parancsok után konfiguráljuk leendő kernelünket
- A konfigurációs menüben megjelenik egy Grsecurity elnevezésű menüpont, itt állíthatjuk be a biztonsági opciókat.
A Grsecurity honlapján részletes leírást találunk az egyes konfigurációs lehetőségekről, ezért az alábbiakban csak a legfontosabbakat említjük meg:- Security level: a biztonsági szintet adhatjuk meg, értéke lehet low, medium, high, customized. Vigyázzunk, a magas szint kiválasztása előzetes konfiguráció nélkül a rendszer részleges vagy teljes működésképtelenségét okozhatja!
- PaX Control: Page Access Execution - segítségével megakadályozható shellkódok futtatása a user stackben és az írható memória területein
- Address Space Protection: szabályozhatjuk az egyes címterületekhez való hozzáférést (letilthatjuk pl. a kernelmodulok listázását)
- ACL options: Access Control List-ek segítségével szabályozhatjuk, hogy melyik processz, alkalmazás mihez férhet hozzá
- Filesystem Protections: filerendszer-szintű korlátozásokat alkalmazhatunk (pl. /proc), valamint beállíthatjuk, hogy a felhasználók kizárólag a saját processzeiket lássák
- Kernel Auditing: emelt szintű naplózás valósítható meg, pl. erőforrásokhoz való hozzáférés, mount/umount naplózása
- Executable Protections: erőforrásokat korlátozhatunk (processz memóriaigénye, stb.)
- Network Protections: elsősorban a TCP/IP stack védelmére szolgál
- Sysctl support
- Logging options: naplózási beállítások konfigurálása
Ha készen vagyunk, indítsuk újra gépünket immár a grsecurity védelme alatt. Egyes funkciók, ACL-ek szabályozásához szükségünk lehet a gradm programra is.
Fontos: az összes létező biztonsági beállítás mellett is szükséges a rendszerünk naprakész frissítése, az emberi tényező figyelembe vétele. Ne dőljünk hátra elégedetten, a grsecurity nem véd meg mindentől, de sokat segít a biztonság elérésében.
Béres László
beres@bkf.hu