Weboldal keresés

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.

  1. Á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
  1. 5 chkconfig parancspélda
  2. 20 gyakorlati példa az RPM parancsokra
  3. 20 Linux YUM parancs a Linux csomagkezeléshez
  4. 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
  1. 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
  1. 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
  1. 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.

  1. 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.
  2. 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.
  3. 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
  1. -M Állítsa be a napok maximális számát
  2. -m Állítsa be a napok minimális számát
  3. -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.

  1. 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.

  1. 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.

  1. 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ó:

  1. /var/log/message – Ahol a teljes rendszernaplók vagy az aktuális tevékenységnaplók elérhetők.
  2. /var/log/auth.log – Hitelesítési naplók.
  3. /var/log/kern.log – Kernelnaplók.
  4. /var/log/cron.log – Crond-naplók (cron-feladat).
  5. /var/log/maillog – Levélkiszolgáló naplói.
  6. /var/log/boot.log – Rendszerindítási napló.
  7. /var/log/mysqld.logMySQL adatbázis-kiszolgáló naplófájlja.
  8. /var/log/secure – Hitelesítési napló.
  9. /var/log/utmp vagy /var/log/wtmp : Bejelentkezési rekordok fájl.
  10. /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.

  1. mode=0 – Round Robin
  2. 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.