10 lépés a Linux szerver biztosításához termelési környezetben


A Linux szerver védelme elengedhetetlen ahhoz, hogy megvédjük adatainkat a hackerektől. De a szerver biztosítása nem igényli, hogy bonyolult legyen .olyan módszert kell elfogadnunk, amely a hatékony adminisztráció mellett megvédi a szerverünket a leggyakoribb támadásoktól .
Mégis ne vegyük a dolgokat magától értetődőnek. Még a legvédettebb szervereket is eltéríthetik az adott szerveren futó bármely sebezhető komponens kihasználásával.
Telepítsük, amire szükségünk van
Az első szabály az, hogy a szerverünk legyen karcsú és átlagos. Csak azokat a csomagokat telepítse, amelyekre valóban szüksége van. Ha vannak nem kívánt csomagok; tisztítsd meg. Minél kevesebb a csomag, annál kisebb az esélye a javítatlan kódnak.
Kapcsolja be a SELinuxot
A SELinux (Security-Enhanced Linux) a kernelben biztosított hozzáférés-szabályozási biztonsági mechanizmus.
A SELinux 3 alapvető működési módot biztosít :
- Enforcing:
- Permissive: Ebben az üzemmódban a SELinux nem hajtja végre a biztonsági politikát a rendszeren, csak figyelmeztet és naplózza a műveleteket.
- Disabled: A SELinux ki van kapcsolva.
Az ‘/etc/selinux/config’ fájlból kezelhető, ahol engedélyezhető vagy letiltható.
Konzolhozzáférés biztosítása
A Linux szerverek konzolhoz való hozzáférését úgy kell védeni, hogy a BIOS beállítása után letiltja a külső eszközökről, például DVD-ről / CD-ről / USB-tollról történő indítást. Is ,Set BIOS and grub boot loader password to protect these settings.
Restrict using Old passwords
A felhasználók számára korlátozhatjuk a régi jelszavak használatát. A régi jelszófájl az /etc/security/opasswd fájlban található. Ezt a PAM modul használatával lehet megtenni.
A ‘/etc/pam.d/system-auth’ fájl megnyitása RHEL / CentOS / Fedora alatt.
# vi /etc/pam.d/system-auth
A ‘/etc/pam.d/common-password’ fájl megnyitása Ubuntu/Debian/Linux alatt.
# vi /etc/pam.d/common-password
Adja hozzá az alábbi sort az ‘auth’ szakaszhoz.
auth sufficient pam_unix.so likeauth nullok
Adja hozzá az alábbi sort a ‘password’ szakaszhoz, hogy a felhasználó ne használhassa újra az utolsó 3 jelszót.
password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3
Az utolsó 3 jelszót a szerver megjegyzi. Ha megpróbálja használni az utolsó 3 régi jelszó bármelyikét, hibaüzenetet kap.

Check Listening Ports
A ‘netstat’ parancs segítségével megtekintheti a nyitott portokat és a megfelelő szolgáltatásokat .
netstat -tunlp
Kapcsolja ki a nem kívánt szolgáltatásokat a rendszerből a ‘chkconfig’ parancs segítségével, és zárja be a nem szükséges portokat.
chkconfig serviceName off
Tiltja a root bejelentkezést
Nem tanácsos a szerverre szuperfelhasználóként(root) ssh-t használni. Le kell tiltanunk az ssh-t root felhasználóként a szerveren, de előtte hozzunk létre egy sudo jogosultságokkal rendelkező felhasználót, hogy ssh-t használhassunk a szerverre és adminisztrációs feladatokat végezhessünk. Miután bejelentkeztünk a szerverre, szükség esetén bármikor válthatunk root felhasználóra.
Új felhasználó létrehozása :
useradd user1
Jelszó létrehozása a hozzáadott felhasználóhoz :
passwd user1
Sudo jogosultságok biztosítása az újonnan hozzáadott felhasználónak :
echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers
SSH a szerverre az új felhasználóval, és győződjünk meg róla, hogy a bejelentkezés működik.
Most letiltjuk a root bejelentkezést, ami azt jelenti, hogy senki nem tud ssh-zni vagy root felhasználóként bejelentkezni a szerverre. Ehhez nyissuk meg az sshd konfigurációs fájlt:
nano /etc/ssh/sshd_conf
Ezután távolítsuk el a megjegyzést a következő sorból:
PermitRootLogin no

Ezután mentsük el és zárjuk be ezt a fájlt, majd indítsuk újra a szolgáltatást
service sshd restart
Fontos: Még ne jelentkezzen ki a szerverről. Először tesztelje, hogy sikeresen be tud-e ssh-zni a szerverre a korábban létrehozott felhasználóval. Nyissa meg a terminál egy másik példányát, és ssh-oljon be a szerverre a korábban létrehozott felhasználóval. Ha minden rendben működik, akkor root-ként biztonságosan kijelentkezhet a szerverről.
A port megváltoztatása
Megváltoztathatjuk az alapértelmezett SSH portot, hogy egy réteg átláthatatlanságot adjunk a szerver biztonságához .
Nyissa meg az /etc/ssh/sshd_config fájlt
helyettesítse az alapértelmezett 22-es portot egy másik port számmal mondjuk 1110
mentés & kilépés a fájlból
service sshd restart
Most a bejelentkezéshez határozza meg a port számát.
ssh username@IP -p 1110
A Ctrl+Alt+Delete kikapcsolása az Inittabban
A Ctrl+Alt+Delete lenyomása a szerver újraindítási folyamatához vezet. Ezért ezt mindig tanácsos letiltani, mivel valaki tévedésből újraindíthatja a rendszert.
A Ctrl+Alt+Del művelet az /etc/init/control-alt-delete.conf állományban van definiálva.Kommentáljuk az alábbi sort

Passzszó nélküli bejelentkezés
A ssh kulcsok generálásával könnyen bejelentkezhetünk a szerverünkre SSH-n keresztül jelszó nélkül. Csak arra figyeljünk, hogy csak arról a gépről tudjunk bejelentkezni a szerverünkre, amelyen az ssh-kulcsokat generáltuk
SSH-kulcsok generálása :
ssh-keygen - t rsa

A nyilvános SSH kulcs másolása , majd adjuk hozzá ugyanezt a szerverhez
cat ~/.ssh/id_rsa.pub
Ssh kulcsok hozzáadása a szerverhez
Tegyük fel, hogy van user-user1, aki ssh-kulccsal hozzáférést biztosít a szerverhez
cd /home/user1
ls -ll
Készítsünk egy .ssh könyvtárat, és benne hozzunk létre egy authorized_keys nevű fájlt, majd adjuk hozzá a felhasználó nyilvános ssh kulcsát ugyanoda
mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys
Adjuk hozzá a nyilvános ssh kulcsot, majd változtassuk meg a tulajdonosát
mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys
. fájl
chown user1 authorized_keys
Kikapcsolja az ssh bejelentkezést
Módosítja az /etc/ssh/sshd_config
Passwordauthentication no
PermitRootLogin no

Most, csak az engedélyezett felhasználó jelentkezhet be a kiszolgálóra a
ssh user-name@serverIP -p(port Number)

Fail2Ban paranccsal SSH bejelentkezéshez
A Fail2ban úgy működik, hogy dinamikusan módosítja a tűzfalszabályokat, hogy letiltja azokat a címeket, amelyek bizonyos számú alkalommal sikertelenül próbáltak bejelentkezni.
Telepítse a Fail2ban-t :
sudo apt-get update
apt-get install fail2ban
Hozzon létre egy új fájlt jail.local, és másolja át a jail.config tartalmát ugyanide, és csak a jail.local fájlban végezze el a változtatásokat
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Módosítsa a /etc/fail2ban/jail.local fájlt
Végezze el a kívánt módosításokat:
enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will pay attention to when looking for repeated failed authentication attempts in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)
Majd indítsa újra a fail2ban szolgáltatásokat
service fail2ban restart
A bantime = -1 beállításával az IP véglegesen blokkolható.
Figyelem: A FAIL2BAN blokkolja a globális IP-t .
A biztonság régebben néha kellemetlenség volt, de ma már mindig szükség van rá – Martina Navratilova
Köszönjük az olvasást . Ha hasznosnak találtad ezt a cikket, néhány taps sokat jelentene!
Tartsd a kapcsolatot 🙂