10 stappen om Linux Server te beveiligen voor Productie omgeving

nov 28, 2021
admin
Megha Pandey
Megha Pandey

Follow

5 okt, 2017 – 6 min read

Het beveiligen van een Linux Server is essentieel om onze gegevens te beschermen tegen de hackers. Maar het beveiligen van een server hoeft niet ingewikkeld te zijn. We moeten een methode aannemen die onze server beschermt tegen de meest voorkomende aanvallen, samen met een efficiënt beheer.

Neem de dingen echter niet als vanzelfsprekend. Zelfs de meest geharde servers kunnen worden gekaapt door misbruik te maken van elk kwetsbaar onderdeel dat op die server draait.

Installeer wat je nodig hebt

De eerste regel is om je server slank en gemeen te houden. Installeer alleen die pakketten die u echt nodig hebt. Als er ongewenste pakketten zijn, verwijder ze. Hoe minder pakketten, hoe kleiner de kans op ongepatchte code.

Zelfinux inschakelen

Security-Enhanced Linux (SELinux) is een beveiligingsmechanisme voor toegangscontrole in de kernel.

SELinux biedt 3 basis werkingsmodi:

  • Afdwingen: Dit is de standaardmodus die het SELinux-beveiligingsbeleid op de machine inschakelt en afdwingt.
  • Permissief: In deze modus zal SELinux het beveiligingsbeleid op het systeem niet afdwingen, maar alleen waarschuwen en acties loggen.
  • Uitgeschakeld: SELinux is uitgeschakeld.

Het kan worden beheerd vanuit ‘/etc/selinux/config’ bestand, waar u het kunt in- of uitschakelen.

Secure Console Access

U moet Linux servers console toegang te beschermen door het uitschakelen van het opstarten vanaf externe apparaten zoals dvd’s / cd’s / USB-pen na BIOS setup. Ook, stel BIOS en grub boot loader wachtwoord om deze instellingen te beschermen.

Restrict gebruik van oude wachtwoorden

We kunnen gebruikers beperken om dezelfde oude wachtwoorden te gebruiken. Het oude wachtwoord bestand staat in /etc/security/opasswd. Dit kan worden gedaan door gebruik te maken van de PAM module.

Open ‘/etc/pam.d/system-auth’ bestand onder RHEL / CentOS / Fedora.

# vi /etc/pam.d/system-auth

Open ‘/etc/pam.d/common-password’ bestand onder Ubuntu/Debian/Linux.

# vi /etc/pam.d/common-password

Voeg de volgende regel toe aan de ‘auth’ sectie.

auth sufficient pam_unix.so likeauth nullok

Voeg de volgende regel toe aan de ‘password’ sectie om te voorkomen dat een gebruiker de laatste 3 wachtwoorden opnieuw kan gebruiken.

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3

De laatste 3 wachtwoorden worden door de server onthouden. Als u een van de laatste 3 wachtwoorden probeert te gebruiken, krijgt u een foutmelding zoals

Luisterpoorten controleren

Gebruik ‘netstat’ commando om open poorten en bijbehorende services te bekijken.

netstat -tunlp 

Disable de ongewenste diensten van het systeem met behulp van ‘chkconfig’ commando en sluit de poorten die niet nodig zijn.

chkconfig serviceName off

Disable Root login

Het is niet aan te raden om ssh in uw server als superuser (root). We zouden ssh als root gebruiker op de server moeten uitschakelen, maar voor we dat doen, laten we een gebruiker aanmaken met sudo bevoegdheden zodat je kan ssh-en op de server en administratieve taken kan uitvoeren. Als je eenmaal ingelogd bent op de server, kan je altijd van gebruiker veranderen naar root, indien nodig.

Maak een nieuwe gebruiker :

useradd user1

Maak een wachtwoord voor de toegevoegde gebruiker :

passwd user1

Geef sudo rechten aan de nieuw toegevoegde gebruiker :

echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers

SSH naar de server met de nieuwe gebruiker en zorg ervoor dat de login werkt.

We gaan nu de root login uitschakelen, wat betekent dat niemand kan ssh-en of inloggen op de server als root gebruiker. Om dit te doen, open het sshd configuratie bestand:

nano /etc/ssh/sshd_conf

Volgende, verwijder het commentaar van de regel die zegt

PermitRootLogin no

Daarna opslaan en sluiten van dit bestand en herstart de service

service sshd restart

Belangrijk: Log nog niet uit van de server. Test eerst of je met de eerder aangemaakte gebruiker succesvol kunt ssh-en op de server. Open een ander exemplaar van de terminal en ssh naar de server met de gebruiker die je eerder hebt aangemaakt. Als alles goed werkt, kunt u veilig uitloggen van de server als root.

Verander de Poort

We kunnen de standaard SSH Poort veranderen om een laag van ondoorzichtigheid toe te voegen om uw server veilig te houden .

Open het bestand /etc/ssh/sshd_config

vervang standaard poort 22 met een ander poort nummer, zeg 1110

save & verlaat het bestand

service sshd restart

Nu om in te loggen definieer het poort nummer.

ssh username@IP -p 1110

Ctrl+Alt+Delete in Inittab uitschakelen

Het indrukken van Ctrl+Alt+Delete zal uw server naar een reboot proces brengen. Het is dus altijd aan te raden om dit uit te schakelen omdat iemand per ongeluk het systeem kan herstarten.

De ctrl+Alt+Del actie is gedefinieerd in /etc/init/control-alt-delete.conf .Commentarieer de onderstaande regel

Inloggen zonder wachtwoord

We kunnen eenvoudig inloggen op onze server via SSH zonder wachtwoord door de ssh-keys te genereren. Let er wel op dat u alleen op uw server kunt inloggen vanaf de machine waarop u de ssh-sleutels hebt gegenereerd

Genereer SSH-sleutels :

ssh-keygen - t rsa

Kopieer uw publieke SSH sleutel , voeg dan dezelfde toe aan de server

cat ~/.ssh/id_rsa.pub

Om ssh-sleutels aan de server toe te voegen

Voorstel dat we gebruiker-gebruiker1 hebben om ssh-sleutel toegang te verlenen tot de server

cd /home/user1
ls -ll

Creëer een .ssh directory aan en maak daarbinnen een bestand met de naam authorized_keys en voeg de publieke ssh sleutel van de gebruiker toe in dezelfde

mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys

Voeg de publieke SSH sleutel toe en verander dan de eigenaar van het bestand

chown user1 authorized_keys

Ssh login uitschakelen

Bewerk /etc/ssh/sshd_config

Passwordauthentication no
PermitRootLogin no

Nu, kan alleen de geautoriseerde gebruiker inloggen op de server met het commando

ssh user-name@serverIP -p(port Number)

Fail2Ban voor SSH-aanmelding

Fail2ban werkt door de firewallregels dynamisch aan te passen om adressen te bannen die een bepaald aantal keren tevergeefs hebben geprobeerd om in te loggen.

Installeer Fail2ban :

sudo apt-get update
apt-get install fail2ban

Maak een nieuw bestand jail.local en kopieer de inhoud van jail.config naar hetzelfde en breng de wijzigingen alleen aan in het bestand jail.local

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Bewerk /etc/fail2ban/jail.local bestand

Maak de gewenste veranderingen:


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)

Start dan de fail2ban services opnieuw

service fail2ban restart

IP kan permanent geblokkeerd worden door bantime = -1 in te stellen.

Note: FAIL2BAN blokkeert het globale IP .

Veiligheid was vroeger soms een ongemak, maar nu is het altijd een noodzaak – Martina Navratilova

Dank voor het lezen . Als u dit artikel nuttig vond, zou een paar klappen veel betekenen!

Blijf op de hoogte 🙂

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.