25 erősítő biztonsági tipp Linux szerverekhez
Mindenki azt mondja, hogy a Linux alapértelmezés szerint biztonságos, és bizonyos mértékig beleegyezett (ez vitatható téma). A Linux azonban alapértelmezés szerint beépített biztonsági modellt tartalmaz. Fel kell hangolni és testre kell szabni az igényei szerint, ami segíthet a rendszer biztonságosabbá tételében. A Linuxot nehezebb kezelni, de nagyobb rugalmasságot és konfigurációs lehetőségeket kínál.
A rendszer védelme egy termelésben a hackerek és a crackerek kezéből kihívást jelentő feladat egy rendszeradminisztrátor számára. Ez az első cikkünk a „Hogyan védjük a Linux-boxot” vagy a „Linux-box keményítése” témakörben. Ebben a bejegyzésben 25 hasznos tippet és trükköt mutatunk be Linux rendszerének biztonságához. Remélhetőleg az alábbi tippek és trükkök segítenek a rendszer biztonságosabbá tételében.
1. Fizikai rendszerbiztonság
Állítsa be a BIOS-t úgy, hogy letiltja a rendszerindítást CD/DVD-ről, külső eszközökről és Floppy meghajtóról a BIOS< rendszerben. Ezután engedélyezze a BIOS jelszót, és védje a GRUB-ot jelszóval, hogy korlátozza a rendszer fizikai elérését.
- Állítsa be a GRUB jelszót a Linux szerverek védelméhez
2. Lemezpartíciók
Fontos, hogy különböző partíciók legyenek, hogy nagyobb adatbiztonságot érhessünk el arra az esetre, ha bármilyen katasztrófa bekövetkezne. Különböző partíciók létrehozásával az adatok szétválaszthatók és csoportosíthatók. Váratlan baleset esetén csak az adott partíció adatai sérülnek meg, míg a többi partíció adatai megmaradnak. Győződjön meg arról, hogy a következő különálló partíciókkal kell rendelkeznie, és hogy harmadik féltől származó alkalmazásokat külön fájlrendszerekre kell telepíteni a /opt alatt.
/
/boot
/usr
/var
/home
/tmp
/opt
3. Minimalizálja a csomagokat a sebezhetőség minimalizálása érdekében
Valóban mindenféle szolgáltatást szeretne telepíteni?. Javasoljuk, hogy kerülje a haszontalan csomagok telepítését, hogy elkerülje a csomagokban lévő sebezhetőségeket. Ez minimálisra csökkentheti annak kockázatát, hogy egy szolgáltatás kompromittálása más szolgáltatások kompromittálásához vezethet. Keresse meg és távolítsa el vagy tiltsa le a nem kívánt szolgáltatásokat a kiszolgálóról a sebezhetőség minimalizálása érdekében. Használja a „chkconfig” parancsot a 3. futási szinten futó szolgáltatások megkereséséhez.
/sbin/chkconfig --list |grep '3:on'
Miután megtudta, hogy bármely nem kívánt szolgáltatás fut, tiltsa le őket a következő paranccsal.
chkconfig serviceName off
Használja az RPM csomagkezelőt, például a „yum” vagy az „apt-get” eszközöket a rendszer összes telepített csomagjának listázásához és eltávolításához. a következő parancsot.
yum -y remove package-name
sudo apt-get remove package-name
- 5 chkconfig parancspélda
- 20 gyakorlati példa az RPM parancsokra
- 20 Linux YUM parancs a Linux csomagkezeléshez
- 25 APT-GET és APT-CACHE parancs a csomagkezelés kezelésére
4. Ellenőrizze a Hálózati portok figyelése lehetőséget
A ’netstat’ hálózati parancs segítségével megtekintheti az összes nyitott portot és a kapcsolódó programokat. Ahogy fentebb mondtam, használja a „chkconfig” parancsot az összes nem kívánt hálózati szolgáltatás letiltásához a rendszerből.
netstat -tulpn
- 20 Netstat-parancs a hálózatkezeléshez Linux alatt
5. Secure Shell (SSH) használata
A Telnet és az rlogin protokollok egyszerű szöveget használnak, nem titkosított formátumot, amely a biztonság megsértése. Az SSH egy biztonságos protokoll, amely titkosítási technológiát használ a szerverrel való kommunikáció során.
Soha ne jelentkezzen be közvetlenül rootként, hacsak nem szükséges. Használja a „sudo” parancsot a parancsok végrehajtásához. A sudo a /etc/sudoers fájlban van megadva, és a „visudo” segédprogrammal is szerkeszthető, amely a VI szerkesztőben nyílik meg.
Javasoljuk továbbá, hogy módosítsa az alapértelmezett SSH 22 portszámot egy másik magasabb szintű portszámmal. Nyissa meg a fő SSH konfigurációs fájlt, és állítson be néhány alábbi paramétert a felhasználók hozzáférésének korlátozásához.
vi /etc/ssh/sshd_config
A root bejelentkezés letiltása
PermitRootLogin no
Csak meghatározott felhasználók engedélyezése
AllowUsers username
Használja az SSH Protocol 2 verzióját
Protocol 2
- 5 bevált módszer az SSH-kiszolgáló biztonságossá tételéhez és védelméhez
6. Tartsa naprakészen a rendszert
Mindig tartsa naprakészen a rendszert a legújabb kiadású javításokkal, biztonsági javításokkal és kernellel, amikor elérhető.
yum updates
yum check-update
7. Lockdown Cronjobs
A Cron saját beépített funkcióval rendelkezik, amely lehetővé teszi annak meghatározását, hogy ki futtathat feladatokat, és ki nem. Ezt az /etc/cron.allow és az /etc/cron.deny nevű fájlok vezérlik. Ha zárolni szeretne egy felhasználót a cron használatával, egyszerűen adja hozzá a felhasználóneveket a cron.deny fájlhoz, és engedélyezze a felhasználó számára a cron add futtatását a cron.allow fájlban. Ha le szeretné tiltani az összes felhasználó számára a cron használatát, adja hozzá az „ALL” sort a cron.deny fájlhoz.
echo ALL >>/etc/cron.deny
- 11 Cron ütemezési példa Linuxban
8. Az észleléshez kapcsolja ki az USB-meghajtót
Sokszor előfordul, hogy korlátozni akarjuk a felhasználókat az USB stick használatában a rendszerekben, hogy megvédjük és megóvjuk az adatokat a lopással szemben. Hozzon létre egy „/etc/modprobe.d/no-usb” fájlt, és az alábbi sor hozzáadása nem észleli az USB tárhelyet.
install usb-storage /bin/true
9. Kapcsolja be a SELinuxot
A Javított biztonságú Linux (SELinux) a kernelben biztosított kötelező hozzáférés-felügyeleti biztonsági mechanizmus. A SELinux letiltása a biztonsági mechanizmus eltávolítását jelenti a rendszerből. Mielőtt eltávolítaná, alaposan gondolja meg, ha a rendszere az internethez csatlakozik, és a nyilvánosság számára elérhető, akkor gondoljon többet a dolgon.
A SELinux három alapvető működési módot biztosít, és ezek azok.
- Kérvényesítés: Ez az alapértelmezett mód, amely engedélyezi és kényszeríti a SELinux biztonsági házirendet a gépen.
- Megengedett: Ebben a módban a SELinux nem kényszeríti ki a rendszer biztonsági szabályzatát, csak figyelmezteti és naplózza a műveleteket. Ez a mód nagyon hasznos a SELinux-szal kapcsolatos problémák hibaelhárítása szempontjából.
- Letiltva: a SELinux ki van kapcsolva.
A SELinux mód aktuális állapotát a parancssorból tekintheti meg a 'system-config-selinux', 'getenforce' vagy ' használatával. sestatus' parancsokat.
sestatus
Ha le van tiltva, engedélyezze a SELinux lehetőséget a következő paranccsal.
setenforce enforcing
Ezenkívül az „/etc/selinux/config” fájlból is kezelhető, ahol engedélyezheti vagy letilthatja.
10. Távolítsa el a KDE/GNOME asztalokat
Nincs szükség az X Window asztali számítógépekre, például a KDE vagy a GNOME futtatására a dedikált LAMP-szerveren. A kiszolgáló és a teljesítmény biztonságának növelése érdekében eltávolíthatja vagy letilthatja őket. Az egyszerű letiltásához nyissa meg az „/etc/inittab” fájlt, és állítsa a futási szintet 3-ra. Ha teljesen el szeretné távolítani a rendszerből, használja az alábbi parancsot.
yum groupremove "X Window System"
11. Kapcsolja ki az IPv6-ot
Ha nem használ IPv6 protokollt, akkor tiltsa le, mert a legtöbb alkalmazáshoz vagy házirendhez nincs szükség IPv6 protokollra, és jelenleg nem szükséges a szerveren. . Nyissa meg a hálózati konfigurációs fájlt, és adja hozzá a következő sorokat a letiltásához.
vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no
12. Korlátozza a felhasználókat a régi jelszavak használatában
Ez nagyon hasznos, ha meg akarja tiltani a felhasználóknak, hogy ugyanazokat a régi jelszavakat használják. A régi jelszófájl a /etc/security/opasswd címen található. Ez a PAM modul használatával érhető el.
Nyissa meg az „/etc/pam.d/system-auth” fájlt az RHEL/CentOS/Fedora alatt.
vi /etc/pam.d/system-auth
Nyissa meg a „/etc/pam.d/common-password” fájlt az Ubuntu/Debian/Linux Mint alatt.
vi /etc/pam.d/common-password
Adja hozzá a következő sort a „auth” szakaszhoz.
auth sufficient pam_unix.so likeauth nullok
Adja hozzá a következő sort a „jelszó” szakaszhoz, ha nem szeretné, hogy a felhasználó újra felhasználja az utolsó 5 jelszavát.
password sufficient pam_unix.so nullok use_authtok md5 shadow remember=5
A szerver csak az utolsó 5 jelszót emlékszik meg. Ha az utolsó 5 régi jelszó bármelyikét próbálta használni, akkor a következőhöz hasonló hibaüzenet jelenik meg.
Password has been already used. Choose another.
13. A felhasználó jelszava lejártának ellenőrzése
Linux alatt a felhasználói jelszavak az „/etc/shadow” fájlban tárolódnak titkosított formátumban. A felhasználó jelszava lejártának ellenőrzéséhez a „chage” parancsot kell használnia. Megjeleníti a jelszó lejárati adatait, valamint az utolsó jelszómódosítás dátumát. Ezeket az adatokat használja a rendszer annak eldöntésére, hogy a felhasználónak mikor kell megváltoztatnia jelszavát.
A meglévő felhasználók öregedési adatainak, például lejárati dátumának és időpontjának megtekintéséhez használja a következő parancsot.
#chage -l username
Bármely felhasználó jelszava elöregedésének megváltoztatásához használja a következő parancsot.
#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName
Paraméterek
- -M Állítsa be a napok maximális számát
- -m Állítsa be a napok minimális számát
- -W Állítsa be a figyelmeztetés napjainak számát
14. A fiók manuális zárolása és feloldása
A zárolás és feloldás nagyon hasznos, ahelyett, hogy eltávolítana egy fiókot a rendszerből, egy hétre vagy egy hónapra zárolhatja. Egy adott felhasználó zárolásához használhatja a következő parancsot.
passwd -l accountName
Megjegyzés : A zárolt felhasználó továbbra is csak root felhasználó számára érhető el. A zárolás úgy történik, hogy a titkosított jelszót (!) karakterláncra cseréljük. Ha valaki ezzel a fiókkal próbál hozzáférni a rendszerhez, az alábbihoz hasonló hibaüzenetet kap.
su - accountName
This account is currently not available.
A zárolt fiók feloldásához vagy a hozzáférés engedélyezéséhez használja a következő parancsot. Ezzel eltávolítja a titkosított jelszóval rendelkező (!) karakterláncot.
passwd -u accountName
15. Erősebb jelszavak kényszerítése
Számos felhasználó puha vagy gyenge jelszavakat használ, és jelszavukat szótár alapú vagy brute force támadások révén feltörhetik. A 'pam_cracklib' modul a PAM (Pluggable Authentication Modules) modulkészletben érhető el, amely erős jelszavak beállítására kényszeríti a felhasználót. Nyissa meg a következő fájlt egy szerkesztővel.
Olvassa el még:
vi /etc/pam.d/system-auth
És adjon hozzá keretet a hitelparaméterek használatával (lcredit, credit, dcredit és/vagy kredit, rendre kisbetűvel , nagybetűk, számjegyek és egyéb)
/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1
16. Az Iptables (tűzfal) engedélyezése
Erősen ajánlott engedélyezni a Linux tűzfalat a szervereihez való jogosulatlan hozzáférés biztosítása érdekében. Alkalmazzon szabályokat az iptables programban a bejövő, kimenő és továbbító csomagok szűrésére. Egy adott udp/tcp portszámban megadhatjuk a forrás- és célcímet, amelyet engedélyezni és letiltani kívánunk.
- Alapvető IPTables útmutató és tippek
17. Tiltsa le a Ctrl+Alt+Delete kombinációt az Inittabban
A legtöbb Linux-disztribúcióban a „CTRL-ALT-DELETE” lenyomásával a rendszer újraindul. Tehát nem jó ötlet legalább az éles szervereken engedélyezni ezt a lehetőséget, ha valaki tévedésből ezt teszi.
Ez az „/etc/inittab” fájlban van meghatározva, ha alaposan megnézi a fájlt, az alábbihoz hasonló sort fog látni. Alapértelmezés szerint a sor nincs megjegyzésben. Kommentálnunk kell. Ez az adott billentyűsorozat jelzés leállítja a rendszert.
Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
18. Üres jelszavak ellenőrzése a fiókokban
Az üres jelszóval rendelkező fiókok illetéktelen hozzáférést jelentenek az interneten, és ez a Linux-kiszolgáló biztonságának része. Tehát meg kell győződnie arról, hogy minden fiók erős jelszavakkal rendelkezik, és senkinek nincs engedélyezett hozzáférése. Az üres jelszavas fiókok biztonsági kockázatot jelentenek, és könnyen feltörhetők. A következő paranccsal ellenőrizheti, hogy vannak-e üres jelszóval rendelkező fiókok.
cat /etc/shadow | awk -F: '($2==""){print $1}'
19. Jelenítse meg az SSH szalaghirdetést bejelentkezés előtt
Mindig jobb ötlet, ha az SSH-hitelesítés előtt jogi szalaghirdetést vagy biztonsági szalaghirdetéseket tartalmaz néhány biztonsági figyelmeztetéssel. Az ilyen bannerek beállításához olvassa el a következő cikket.
- SSH figyelmeztető üzenet megjelenítése a felhasználóknak
20. Figyelje a felhasználói tevékenységeket
Ha sok felhasználóval van dolgunk, akkor fontos, hogy minden egyes felhasználói tevékenységről, általuk fogyasztott folyamatról információkat gyűjtsünk, és azokat később, vagy bármilyen teljesítmény, biztonsági probléma esetén elemezze. De hogyan tudjuk nyomon követni és összegyűjteni a felhasználói tevékenységekkel kapcsolatos információkat.
Két hasznos eszköz, az úgynevezett „psacct” és „acct”, amelyek a felhasználói tevékenységek és folyamatok figyelésére szolgálnak a rendszeren. Ezek az eszközök a rendszer háttérben futnak, és folyamatosan nyomon követik az egyes felhasználói tevékenységeket a rendszeren, valamint az olyan szolgáltatások által felhasznált erőforrásokat, mint az Apache, MySQL, SSH, FTP stb. A telepítésről, a konfigurációról és a használatról további információért keresse fel az alábbi URL-t.
- Figyelje a felhasználói tevékenységet a psacct vagy acct parancsokkal
21. Rendszeresen tekintse át a naplókat
Mozgassa a naplókat a dedikált naplókiszolgálón, ez megakadályozhatja, hogy a behatolók könnyen módosítsák a helyi naplókat. Az alábbiakban a Linux általános alapértelmezett naplófájljainak neve és használatuk látható:
- /var/log/message – Ahol a teljes rendszernaplók vagy az aktuális tevékenységnaplók elérhetők.
- /var/log/auth.log – Hitelesítési naplók.
- /var/log/kern.log – Kernelnaplók.
- /var/log/cron.log – Crond-naplók (cron-feladat).
- /var/log/maillog – Levélkiszolgáló naplói.
- /var/log/boot.log – Rendszerindítási napló.
- /var/log/mysqld.log – MySQL adatbázis-kiszolgáló naplófájlja.
- /var/log/secure – Hitelesítési napló.
- /var/log/utmp vagy /var/log/wtmp : Bejelentkezési rekordok fájl.
- /var/log/yum.log: Yum naplófájlok.
22. Fontos fájl biztonsági mentése
Éles rendszerben a fontos fájlokról biztonsági másolatot kell készíteni, és biztonsági tárolóban, távoli telephelyen vagy külső helyszínen kell tartani a katasztrófa-helyreállításhoz.
23. NIC kötés
A NIC kötésben kétféle mód létezik, ezeket meg kell említeni a kötési interfésznél.
- mode=0 – Round Robin
- mode=1 – Aktív és biztonsági mentés
A NIC-kötés segít elkerülni az egyetlen pont meghibásodását. A NIC kötésnél két vagy több hálózati Ethernet kártyát kötünk össze, és egyetlen virtuális interfészt hozunk létre, ahol IP címet rendelhetünk a többiekkel való beszélgetéshez. szerverek. Hálózatunk elérhető lesz, ha egy NIC-kártya leáll, vagy bármilyen okból nem elérhető.
Olvassa el még: NIC-csatorna kötés létrehozása Linuxban
24. Tartsa a /boot fájlt csak olvashatóként
A Linux kernel és a kapcsolódó fájlok a /boot könyvtárban találhatók, amely alapértelmezés szerint írás-olvasás. Ha csak olvashatóra módosítja, akkor csökken a kritikus rendszerindító fájlok jogosulatlan módosításának kockázata. Ehhez nyissa meg az „/etc/fstab” fájlt.
vi /etc/fstab
Adja hozzá a következő sort alul, mentse el és zárja be.
LABEL=/boot /boot ext2 defaults,ro 1 2
Kérjük, vegye figyelembe, hogy vissza kell állítania az írási-olvasási módot, ha a kernelt a jövőben frissítenie kell.
25. Az ICMP vagy a Broadcast Request figyelmen kívül hagyása
Adja hozzá a következő sort az „/etc/sysctl.conf” fájlhoz a ping vagy közvetítés kérés figyelmen kívül hagyásához.
Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1
Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1
Töltse be az új beállításokat vagy módosításokat a következő parancs futtatásával
#sysctl -p
Ha a fenti listából kihagyott egy fontos biztonsági vagy szigorítási tippet, vagy bármilyen más tippje van, amelyet fel kell venni a listára. Kérjük, írja be megjegyzéseit a megjegyzés rovatunkba. A TecMint mindig érdeklődik a megjegyzések, javaslatok, valamint a fejlesztést célzó megbeszélések iránt.