20 CentOS szerver keményítési biztonsági tipp – 1. rész
Ez az oktatóanyag csak a CentOS 8/7 általános biztonsági tippjeit tartalmazza, amelyek a rendszer megerősítésére használhatók. Az ellenőrzőlista tippjeit leginkább különféle típusú fémszervereken vagy hálózati szolgáltatásokat nyújtó (fizikai vagy virtuális) gépeken való felhasználásra szánták.
A tippek egy része azonban sikeresen alkalmazható általános célú gépeken is, például asztali számítógépeken, laptopokon és kártyaméretű egykártyás számítógépeken (Raspberry Pi).
Követelmények
- CentOS 8 minimális telepítés
- CentOS 7 minimális telepítés
1. Fizikai védelem
Zárja le a szerverszobák hozzáférését, használjon állványzárakat és videó megfigyelést. Vegye figyelembe, hogy a szerverszobákhoz való bármilyen fizikai hozzáférés komoly biztonsági problémáknak teheti ki gépét.
A BIOS jelszavak megváltoztathatók az alaplap jumpereinek visszaállításával vagy a CMOS akkumulátor leválasztásával. Ezenkívül a behatoló ellophatja a merevlemezeket, vagy közvetlenül csatlakoztathat új merevlemezeket az alaplapi interfészekhez (SATA, SCSI stb.), elindulhat egy Linux live disztribúcióval, és klónozhat vagy másolhat adatokat anélkül, hogy szoftvernyomot hagyna.
2. Csökkentse a kémkedés hatását
Erősen érzékeny adatok esetén valószínűleg fejlett fizikai védelmet kell alkalmaznia, például Faraday-ketrecbe helyezni és zárolni a szervert, vagy katonai TEMPEST-megoldást kell használnia, hogy minimálisra csökkentse a rendszer rádión vagy elektromos szivárgó kisugárzáson keresztüli kémkedésének hatását.
3. Biztonságos BIOS/UEFI
Indítsa el a gép keményítését a BIOS/UEFI beállítások biztosításával, különösen állítson be egy BIOS/UEFI jelszót, és tiltsa le a rendszerindító médiaeszközöket (CD, DVD, USB támogatás letiltása) annak megakadályozása érdekében, hogy illetéktelen felhasználók módosítsák a rendszer BIOS-beállításait, vagy módosítsák a rendszerindító eszköz prioritását, és ne indítsák el a gépet egy másik adathordozóról.
Ahhoz, hogy ezt a fajta változtatást alkalmazhassa a gépén, olvassa el az alaplap gyártójának kézikönyvét a konkrét utasításokért.
4. Biztonságos rendszerbetöltő
Állítson be egy GRUB jelszót, hogy megakadályozza, hogy a rosszindulatú felhasználók manipulálják a kernel rendszerindítási sorrendjét vagy futtatási szintjeit, módosítsák a kernelparamétereket, vagy indítsák el a rendszert egyfelhasználós módba, hogy károsítsák a rendszert, és visszaállítsák a root rendszert. jelszót a kiváltságos irányítás megszerzéséhez.
5. Használjon külön lemezpartíciókat
Amikor a CentOSt éles szervernek szánt rendszerekre telepíti, használjon dedikált partíciókat vagy dedikált merevlemezeket a rendszer következő részeihez:
/(root)
/boot
/home
/tmp
/var
6. Használjon LVM-et és RAID-et a redundanciához és a fájlrendszer bővítéséhez
A /var partíció az a hely, ahol a naplóüzenetek lemezre kerülnek. A rendszer ezen része exponenciálisan megnőhet nagy forgalmú szervereken, amelyek olyan hálózati szolgáltatásokat tesznek elérhetővé, mint a webszerverek vagy fájlszerverek.
Ezért használjon nagy partíciót a /var számára, vagy fontolja meg ennek a partíciónak a logikai kötetek (LVM) használatával történő beállítását, vagy kombináljon több fizikai lemezt egyetlen nagyobb virtuális RAID 0-s eszközben a nagy teljesítmény fenntartásához. adatmennyiségeket. Adatok redundanciája esetén fontolja meg a RAID 1 szint feletti LVM-elrendezés használatát.
Az LVM vagy RAID lemezeken történő beállításához kövesse hasznos útmutatóinkat:
- Lemeztároló beállítása LVM-mel Linux alatt
- LVM lemezek létrehozása a vgcreate, lvcreate és lvextend használatával
- Egyesítsen több lemezt egyetlen nagy virtuális tárolóban
- Hozzon létre RAID 1-et két lemez használatával Linux alatt
7. Módosítsa az fstab beállításait a Secure Data Partitions értékre
Különítse el az adatok tárolására szolgáló partíciókat, és akadályozza meg a programok, eszközfájlok vagy setuid bitek futtatását az ilyen típusú partíciókon az alábbi opciók hozzáadásával az fstab fájlhoz, az alábbi ábrán látható módon kivonat:
/dev/sda5 /nas ext4 defaults,nosuid,nodev,noexec 1 2
A jogosultságok kiterjesztésének és tetszőleges szkript-végrehajtásának megakadályozása érdekében hozzon létre egy külön partíciót a /tmp számára, és csatlakoztassa nosuid, nodev és noexec néven. .
/dev/sda6 /tmp ext4 defaults,nosuid,nodev,noexec 0 0
8. Titkosítsa a merevlemezeket blokkszinten a LUKS segítségével
A gép merevlemezéhez való fizikai hozzáférés esetén az érzékeny adatok leskelődésének védelme érdekében. Azt javaslom, hogy tanulja meg a lemez titkosítását a Linux merevlemez adattitkosítása LUKS-szal című cikkünk elolvasásával.
9. Használjon PGP-t és nyilvános kulcsú titkosítást
A lemezek titkosításához használja a PGP-t és a nyilvános kulcsú titkosítást vagy az OpenSSL parancsot az érzékeny fájlok jelszóval történő titkosításához és visszafejtéséhez, amint az ebben a cikkben látható: A titkosított Linux rendszertároló konfigurálása.
10. Csak a szükséges minimális mennyiségű csomagot telepítse
Kerülje a lényegtelen vagy szükségtelen programok, alkalmazások vagy szolgáltatások telepítését a csomagok sebezhetőségeinek elkerülése érdekében. Ez csökkentheti annak a kockázatát, hogy egy szoftver kompromittálása más alkalmazások, a rendszer részei vagy akár fájlrendszerek kompromittálásához vezethet, ami végül adatsérülést vagy adatvesztést eredményezhet.
11. Frissítse gyakran a rendszert
Rendszeresen frissítse a rendszert. Tartsa szinkronban a Linux kernelt a legújabb biztonsági javításokkal és az összes telepített szoftverrel a legújabb verziókkal az alábbi parancs kiadásával:
yum update
12. Tiltsa le a Ctrl+Alt+Del kombinációt
Annak megakadályozása érdekében, hogy a felhasználók újraindítsák a szervert, miután fizikailag hozzáférnek a billentyűzethez, vagy egy távoli konzolalkalmazáson vagy egy virtualizált konzolon (KVM, virtualizáló szoftver interfész) keresztül, tiltsa le a Ctrl+Alt +Del
billentyűsorozatot az alábbi parancs végrehajtásával.
systemctl mask ctrl-alt-del.target
13. Távolítsa el a szükségtelen szoftvercsomagokat
Telepítsen minimális szoftvert a gépéhez. Soha ne telepítsen extra programokat vagy szolgáltatásokat. Csak megbízható vagy hivatalos tárolókból telepítsen csomagokat. Minimálisan telepítse a rendszert arra az esetre, ha a gép teljes élettartama során szerverként működik.
Ellenőrizze a telepített csomagokat a következő parancsok egyikével:
rpm -qa
Készítsen helyi listát az összes telepített csomagról.
yum list installed >> installed.txt
Tekintse meg a haszontalan szoftverek listáját, és töröljön egy csomagot az alábbi parancs kiadásával:
yum remove package_name
14. Indítsa újra a Systemd Services szolgáltatást a démonfrissítések után
Használja az alábbi parancspéldát egy systemd szolgáltatás újraindításához az új frissítések alkalmazásához.
systemctl restart httpd.service
15. Távolítsa el a szükségtelen szolgáltatásokat
Azonosítsa az adott portokon figyelő szolgáltatásokat a következő ss paranccsal.
ss -tulpn
Az összes telepített szolgáltatás megjelenítéséhez a kimeneti állapotukkal együtt adja ki az alábbi parancsot:
systemctl list-units -t service
Például a CentOS alapértelmezett minimális telepítéséhez a Postfix démon alapértelmezés szerint telepítve van, amely a 25-ös porton lévő mester neve alatt fut. Távolítsa el a Postfix hálózati szolgáltatást arra az esetre, ha a gépét nem használja levelezőszerverként.
yum remove postfix
16. A továbbított adatok titkosítása
Ne használjon nem biztonságos protokollokat távoli eléréshez vagy fájlátvitelhez, például Telnet, FTP vagy más egyszerű szöveges magas protokollokat, például SMTP, HTTP, NFS vagy SMB, amelyek alapértelmezés szerint nem titkosítja a hitelesítési munkameneteket vagy az elküldött adatokat.
Csak az sftp-t, az scp-t használja a fájlátvitelhez, az SSH-t vagy a VNC-t SSH-alagutakon a távoli konzolkapcsolatokhoz vagy a GUI-hozzáféréshez.
A VNC-konzol SSH-n keresztüli alagútba helyezéséhez használja az alábbi példát, amely továbbítja az 5901-es VNC-portot a távoli gépről a helyi gépre:
ssh -L 5902:localhost:5901 remote_machine
A helyi gépen futtassa az alábbi parancsot a távoli végponthoz való virtuális kapcsolat létrehozásához.
vncviewer localhost:5902
17. Hálózati port szkennelés
Végezzen külső port-ellenőrzést az Nmap eszközzel egy távoli rendszerről a LAN-on keresztül. Ez a fajta vizsgálat használható a hálózati sebezhetőségek ellenőrzésére vagy a tűzfalszabályok tesztelésére.
nmap -sT -O 192.168.1.10
18. Csomagszűrő tűzfal
Használja a tűzfal segédprogramot a rendszerportok védelmére, bizonyos szolgáltatások portjainak megnyitására vagy bezárására, különösen a jól ismert portokra (<1024).
Telepítse, indítsa el, engedélyezze és listázza ki a tűzfalszabályokat az alábbi parancsok kiadásával:
yum install firewalld
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --list-all
19. Vizsgálja meg a protokollcsomagokat a Tcpdump segítségével
Használja a tcpdump segédprogramot a hálózati csomagok helyi szippantására, és a tartalmuk gyanús forgalom-ellenőrzésére (forrás-célportok, TCP/IP-protokollok, második réteg forgalom, szokatlan ARP-kérések).
A tcpdump rögzített fájl jobb elemzéséhez használjon fejlettebb programot, például a Wiresharkot.
tcpdump -i eno16777736 -w tcpdump.pcap
20. A DNS-támadások megelőzése
Vizsgálja meg a feloldó tartalmát, általában az /etc/resolv.conf fájlt, amely meghatározza azon DNS-kiszolgálók IP-címét, amelyeket a tartománynevek lekérdezéséhez használnia kell, hogy elkerülje a behatolást. -közepes támadások, szükségtelen forgalom a gyökér DNS-kiszolgálókhoz, hamisítás vagy DOS-támadás létrehozása.
Ez még csak az első rész. A következő részben további biztonsági tippeket tárgyalunk a CentOS 8/7 rendszerhez.