Linux edzés: 15 lépéses ellenőrzőlista a biztonságos Linux szerverhez

Gus Khawaja

A legtöbb ember azt feltételezi, hogy a Linux biztonságos, és ez téves feltételezés. Képzelje el, hogy laptopját ellopják anélkül, hogy először megkeményednének. A tolvaj valószínűleg azt feltételezi, hogy a felhasználóneved “root”, a jelszavad pedig” toor”, mivel ez az alapértelmezett jelszó a Kali-n, és a legtöbb ember továbbra is használja. És te? Remélem nem.

a Kali Linux host megkeményedésének elutasításával járó negatív karrierkövetkezmények súlyosak, ezért megosztom a szükséges lépéseket a Linux host biztonságossá tételéhez, beleértve a penetrációs tesztelés és a Kali Linux használatát a munka elvégzéséhez. Fontos megjegyezni, hogy bár sok Linux disztribúció (más néven disztribúció), és mindegyik különbözik a parancssori perspektívától, a logika ugyanaz. Használja az alábbi tippeket a saját Linux dobozának megkeményítéséhez.

1-dokumentálja a gazdagép adatait

minden alkalommal, amikor új Linux-edzésmunkán dolgozik, létre kell hoznia egy új dokumentumot, amely tartalmazza az ebben a bejegyzésben felsorolt összes ellenőrző listát, és ellenőriznie kell minden alkalmazott elemet. Ezenkívül a dokumentum tetején fel kell tüntetni a Linux gazdagép adatait:

  • gépnév
  • IP-cím
  • Mac-cím
  • a keményítést végző személy neve (valószínűleg Ön)
  • Dátum
  • eszköz száma (ha egy vállalatnak dolgozik, akkor meg kell adnia azt az eszközszámot, amelyet a vállalat a gazdagépek címkézésére használ.)

2-BIOS védelem

A gazdagép BIOS-ját jelszóval kell védeni, hogy a végfelhasználó ne tudja megváltoztatni vagy felülbírálni a BIOS biztonsági beállításait; fontos, hogy ez a terület védve legyen a változásoktól. Minden számítógépgyártónak különböző kulcskészlete van a BIOS módba való belépéshez, akkor meg kell találni azt a konfigurációt, ahol beállította az adminisztratív jelszót.

ezután le kell tiltania a külső adathordozókról (USB/CD/DVD) történő indítást. Ha nem módosítja ezt a beállítást, bárki használhat egy bootolható operációs rendszert tartalmazó USB-meghajtót, amely hozzáférhet az operációs rendszer adataihoz.

+ szeretne többet tudni a Linuxról? Tudjon meg többet a Pluralsight-ról, egy technológiai tanulási platformról. Tanuljon Linuxot most. +

a legújabb szerverek alaplapjai belső webszerverrel rendelkeznek, ahol távolról is hozzáférhet hozzájuk. Ügyeljen arra, hogy módosítsa az admin oldal alapértelmezett jelszavát, vagy tiltsa le, ha lehetséges.

3-merevlemez-titkosítás (titoktartás)

A legtöbb Linux disztribúció lehetővé teszi a lemezek titkosítását a telepítés előtt. A lemez titkosítása fontos lopás esetén, mert az a személy, aki ellopta a számítógépet, nem fogja tudni elolvasni az adatait, ha a merevlemezt a gépéhez csatlakoztatja.

az alábbi képen válassza a harmadik lehetőséget a listából: irányított-használja a teljes lemezt és állítsa be a titkosított LVM-et (az LVM a logikai kötetkezelőt jelenti.)

ha a Linux disztribúció nem támogatja a titkosítást, akkor olyan szoftverrel járhat, mint a TrueCrypt.

4-Lemezvédelem (elérhetőség)

A biztonsági mentéseknek annyi előnye van sérült rendszer esetén, hibák az operációs rendszer frissítésében. Fontos szerverek esetén a biztonsági mentést katasztrófa esetén a helyszínen kell átvinni. A biztonsági mentést is kezelni kell. Például, mennyi ideig fogja megőrizni a régi biztonsági mentéseket? Mikor kell biztonsági másolatot készíteni a rendszerről(minden nap, minden héten…)?

a kritikus rendszereket különböző partíciókra kell osztani:

  • /
  • /boot
  • /usr
  • /home
  • /tmp
  • /var
  • /opt

a lemezek adagolása lehetőséget ad a teljesítményre és a biztonságra rendszerhiba esetén. Az alábbi képen láthatja a partíciók elválasztásának lehetőségét a Kali Linux alatt a telepítés során.

5-a rendszerindító könyvtár zárolása

a rendszerindító könyvtár a Linux kernelhez kapcsolódó fontos fájlokat tartalmaz, ezért a következő egyszerű lépésekkel meg kell győződnie arról, hogy ez a könyvtár csak olvasható engedélyekre van lezárva. Először nyissa meg az” fstab ” fájlt.

Ezután adja hozzá az alján kiemelt utolsó sort.

a fájl szerkesztésének befejezése után be kell állítania a tulajdonosot a következő parancs végrehajtásával:

#chown root:root /etc/fstab

ezután néhány engedélyt állítottam be a rendszerindítási beállítások biztosításához:

  • állítsa be az /etc/grub tulajdonosát és csoportját.conf a root felhasználónak:

#chown root:root /etc/grub.conf

  • állítsa be az engedélyt az /etc/grub fájlban.conf fájl csak a root számára olvasható és írható:

#chmod og-rwx /etc/grub.conf

  • hitelesítést igényel az egyfelhasználós módhoz:

#sed -i "/SINGLE/s/sushell/sulogin/" /etc/sysconfig/init

#sed -i "/PROMPT/s/yes/no/" /etc/sysconfig/init

6-Az USB-használat letiltása

attól függően, hogy mennyire kritikus a rendszer, néha le kell tiltani az USB-meghajtók használatát a Linux gazdagépen. Az USB-tárhely használatának megtagadására többféle mód van; itt van egy népszerű:

nyissa meg a “feketelistát.conf ” fájl a kedvenc szövegszerkesztővel:

#nano /etc/modprobe.d/blacklist.conf

amikor megnyílik a fájl, adja hozzá a következő sort a fájl végéhez (mentés és bezárás):

blacklist usb_storage

ezután nyissa meg az rc-t.helyi fájl:

#nano /etc/rc.local

végül adja hozzá a következő két sort:

modprobe -r usb_storage

exit 0

7-rendszerfrissítés

az első indítás után az első lépés a rendszer frissítése; ennek egyszerű lépésnek kell lennie. Általában megnyitja a terminál ablakot, és végrehajtja a megfelelő parancsokat. A Kali Linuxban ezt az alábbi képen látható parancsok végrehajtásával érheti el:

8-ellenőrizze a telepített csomagokat

sorolja fel a Linux operációs rendszerre telepített összes csomagot, és távolítsa el a feleslegeseket. Nagyon szigorúnak kell lenned, ha a megkeményedni kívánt gazdagép egy szerver, mert a szerverekre a legkevesebb alkalmazást és szolgáltatást kell telepíteni. Íme egy példa a Kali Linuxra telepített csomagok felsorolására:

ne feledje, hogy a felesleges szolgáltatások letiltása csökkenti a támadási felületet, ezért fontos eltávolítani a következő örökölt szolgáltatásokat, ha azokat a Linux szerverre telepítette:

  • Telnet szerver
  • RSH szerver
  • NIS szerver
  • TFTP szerver
  • TALK szerver

9-ellenőrizze a nyitott portokat

az internethez való nyitott kapcsolatok azonosítása kritikus feladat. A Kali Linuxban a következő parancsot használom a rejtett nyitott portok észlelésére:

10-Secure SSH

igen, valóban SSH biztonságos, de meg kell keményíteni ezt a szolgáltatást is. Először is, ha letilthatja az SSH-t, ez egy probléma megoldódott. Ha azonban használni szeretné, akkor meg kell változtatnia az SSH alapértelmezett konfigurációját. Ehhez keresse meg az /etc / ssh fájlt, és nyissa meg az “sshd_config” fájlt a kedvenc szövegszerkesztőjével.

  • módosítsa az alapértelmezett 22-es portszámot valami másra, például 99-re.
  • győződjön meg arról, hogy a root nem tud távolról bejelentkezni SSH-n keresztül:

PermitRootLogin no

  • bizonyos felhasználók engedélyezése:

AllowUsers

A lista folytatódhat, de ezeknek elegendőnek kell lenniük a kezdéshez. Például egyes vállalatok bannereket adnak hozzá, hogy megakadályozzák a támadókat, és visszatartsák őket a további folytatástól. Javasoljuk, hogy ellenőrizze az SSH kézikönyvét, hogy megértse a fájl összes konfigurációját, vagy további információkért látogasson el erre a webhelyre.

íme néhány további lehetőség, amelyeket meg kell győződnie arról, hogy létezik-e az “sshd_config” fájlban:

  • Protocol2
  • IgnoreRhosts to yes
  • HostbasedAuthentication no
  • PermitEmptyPasswords no
  • X11Forwarding no
  • MaxAuthTries 5
  • Rejtjelek aes128-ctr,aes192-Ctr,AES256-Ctr
  • clientaliveinterval 900
  • clientalivecountmax 0
  • usepam igen

végül állítsa be az engedélyeket az sshd_config fájlban, hogy csak a root felhasználók módosíthassák annak tartalmát:

#chown root:root /etc/ssh/sshd_config

#chmod 600 /etc/ssh/sshd_config

11- Enable SELinux

Security Enhanced A Linux egy Kernel biztonsági mechanizmus a hozzáférés-vezérlés biztonsági házirendjének támogatására. A SELinux három konfigurációs móddal rendelkezik:

  • letiltva: kikapcsolt
  • megengedő: figyelmeztetések nyomtatása
  • érvényesítés: a házirend érvényesül

szövegszerkesztővel nyissa meg a konfigurációs fájlt:

#nano /etc/selinux/config

győződjön meg arról, hogy a politika végrehajtásra kerül:

SELINUX=enforcing

12- hálózati paraméterek

A Linux host hálózati tevékenységeinek biztosítása alapvető feladat. Ne mindig feltételezzük, hogy a tűzfal mindenről gondoskodik. Íme néhány fontos funkció, amelyet figyelembe kell venni a gazdagép hálózatának biztosításához:

– tiltsa le az IP-továbbítást a hálózat beállításával.ipv4.ip_forward paraméter 0-ra az “/etc/sysctl.conf”

– engedélyezze a rossz Hibaüzenet védelmét a hálózat beállításával.ipv4.icmp_ignore_bogus_error_responses paraméter 1 A ” / etc / sysctl.conf ”

erősen ajánlom a Linux tűzfal használatát az iptable szabályok alkalmazásával és az összes bejövő, kimenő és továbbított csomag szűrésével. Az iptables szabályok konfigurálása eltart egy ideig, de megéri a fájdalmat.

13- jelszó házirendek

az emberek gyakran újra felhasználják jelszavaikat, ami rossz biztonsági gyakorlat. A régi jelszavakat az “/etc/security/opasswd”fájl tárolja. A Pam modult fogjuk használni a Linux host biztonsági házirendjeinek kezelésére. Debian disztró alatt nyissa meg az “/etc/pam.d / common-password ” szövegszerkesztővel és a következő két sor hozzáadásával:

auth sufficient pam_unix.so likeauth nullok

password sufficient pam_unix.so remember=4 (nem teszi lehetővé a felhasználók számára az utolsó négy jelszó újrafelhasználását.)

egy másik jelszóházirend, amelyet kényszeríteni kell, az erős jelszavak. A PAM modul egy pam_cracklib-et kínál, amely megvédi a szervert a szótáraktól és a brute-force támadásoktól. A feladat végrehajtásához nyissa meg az /etc/pam fájlt.d / system-auth bármilyen szövegszerkesztővel, és adja hozzá a következő sort:

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

A Linux kivonja a jelszót, hogy elkerülje a cleartext mentését, ezért meg kell győződnie arról, hogy megad egy biztonságos jelszó-hash algoritmust SHA512.

egy másik érdekes funkció a fiók lezárása öt sikertelen kísérlet után. Ahhoz, hogy ez megtörténjen, meg kell nyitnia a fájlt “/etc/pam.d / password-auth” és adja hozzá a következő sorokat:

auth required pam_env.so

auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800

auth pam_unix.so

auth pam_faillock.so authfail audit deny=5 unlock_time=604800

auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800

auth required pam_deny.so

még nem végeztünk, egy további lépésre van szükség. Nyissa meg az “/etc/pam ” fájlt.d / system-auth”, és győződjön meg róla, hogy a következő sorokat adta hozzá:

auth required pam_env.so

auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800

auth pam_unix.so

auth pam_faillock.so authfail audit deny=5 unlock_time=604800

auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800

auth required pam_deny.so

öt sikertelen próbálkozás után csak egy rendszergazda tudja feloldani a fiókot a következő paranccsal:

# /usr/sbin / faillock — user <userlocked> – reset

egy másik jó gyakorlat az is, hogy a jelszót 90 nap elteltével kell lejárnia, hogy ezt a feladatot elvégezze:

  • állítsa a PASS_MAX_DAYS paramétert 90-re az “/etc/login ” állományban.defs “
  • módosítsa az aktív felhasználót a következő parancs végrehajtásával :

#chage --maxdays 90 <user>

a következő tipp a jelszavak házirendjeinek javításához az SU parancshoz való hozzáférés korlátozása a pam_wheel.so paraméterek a ” / etc / pam.d / su”:

auth szükséges pam_wheel.so use_uid

a jelszavak házirendjének utolsó tippje a nem root felhasználók rendszerfiókjainak letiltása a következő bash parancsfájl használatával:

#!/bin/bash

for user in `awk -F: '( < 500) {print }' /etc/passwd`; do

if

then

/usr/sbin/usermod -L $user

if && &&

then /usr/sbin/usermod -s /sbin/nologin $user

fi

fi

done

14-engedélyek és ellenőrzések

készülj fel mentálisan, mert ez egy hosszú lista lesz. De az engedélyek az egyik legfontosabb és kritikus feladat a biztonsági cél eléréséhez egy Linux gazdagépen.

#chown root:root /etc/anacrontab

#chmod og-rwx /etc/anacrontab

#chown root:root /etc/crontab

#chmod og-rwx /etc/crontab

#chown root:root /etc/cron.hourly

#chmod og-rwx /etc/cron.hourly

#chown root:root /etc/cron.daily

#chmod og-rwx /etc/cron.daily

#chown root:root /etc/cron.weekly

#chmod og-rwx /etc/cron.weekly

#chown root:root /etc/cron.monthly

#chmod og-rwx /etc/cron.monthly

#chown root:root /etc/cron.d

#chmod og-rwx /etc/cron.d

állítsa be a “/var/spool/cron” jogot és engedélyeket a “root crontab “számára”

#chown root:root <crontabfile>

#chmod og-rwx <crontabfile>

állítsa be a Felhasználó / Csoport tulajdonosát és engedélyét a “passwd” fájlban

#chmod 644 /etc/passwd

#chown root:root /etc/passwd

Felhasználó/Csoport tulajdonos és jogosultság beállítása a” csoport “fájlban

#chmod 644 /etc/group

#chown root:root /etc/group

állítsa be a Felhasználó / Csoport tulajdonosát és engedélyét az “árnyék” fájlban

#chmod 600 /etc/shadow

#chown root:root /etc/shadow

állítsa be a Felhasználó / Csoport tulajdonosát és engedélyét a” gshadow ” fájlban

#chmod 600 /etc/gshadow

#chown root:root /etc/gshadow

15- további folyamatkeményedés

A lista utolsó eleméhez néhány további tippet tartalmazok, amelyeket figyelembe kell venni a Linux gazdagép keményítésekor.

először korlátozza a maglerakókat:

  • a hard core 0 hozzáadása az “/etc/security/limits ” – hez.conf ” fájl
  • fs hozzáadása.suid_dumpable = 0 a ” / etc / sysctl.conf ” fájl

másodszor, konfigurálja az Exec Shield-et:

  • kernel hozzáadása.exec-shield = 1 A ” / etc / sysctl.conf ” fájl

harmadszor, engedélyezze a randomizált virtuális memória Régió elhelyezését:

  • kernel hozzáadása.randomize_va_space = 2 a ” / etc / sysctl.conf ” fájl

utolsó szavak

ebben a rövid bejegyzésben számos fontos konfigurációt tárgyaltunk a Linux biztonsága érdekében. De éppen megkarcoltuk a Linux keményedésének felületét-sok összetett, apró-szemcsés konfiguráció létezik. Ha többet szeretne megtudni arról, hogyan lehet megkeményíteni a Linux szervereket a jobb biztonság érdekében, nézze meg a Pluralsight tanfolyamaimat.

Gus Khawaja a Pluralsight biztonsági tanácsadója és szerzője. Biztonsági, informatikai és webes alkalmazások fejlesztésével foglalkozik, és tanfolyamokat hoz létre a Pluralsight számára. A Gus sikeresen szállított és fejlesztett informatikai megoldásokat vállalatok számára Kanadában. Miután sok éves tapasztalattal rendelkezik a számítástechnika, ő fordult a figyelmét, hogy a számítógépes biztonság és annak fontosságát, hogy a biztonság hozza ezt az aknamező. Az etikus hackelés iránti szenvedélye keveredik a programozás hátterével, és ez bölcs svájci bicska szakembergé teszi őt a számítástechnika területén.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.