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

nov 28, 2021
admin
Megha Pandey
Megha Pandey

Follow

okt. 5, 2017 – 6 min read

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 🙂

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

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