25 Hardening Sécherheetstips fir Linux Serveren


Jiddereen seet datt Linux als Standard sécher ass an e bëssen ausgemaach ass (Et ass diskutabel Themen). Wéi och ëmmer, Linux huet am Standard agebaute Sécherheetsmodell op der Plaz. Braucht et ofzestëmmen an ze personaliséieren no Ärem Bedierfnes, wat hëllefe kann e méi séchere System ze maachen. Linux ass méi schwéier ze managen awer bitt méi Flexibilitéit a Konfiguratiounsoptiounen.

E System an enger Produktioun ze sécheren aus den Hänn vun Hacker a Cracker ass eng Erausfuerderung fir e Systemadministrator. Dëst ass eisen éischten Artikel am Zesummenhang mat Wéi Dir Linux Box séchert oder Eng Linux Box härden. An dësem Post erkläre mir 25 nëtzlech Tipps & Tricks fir Äre Linux System ze sécheren. Hoffen, ënnen Tipps & Tricks hëllefen Iech e bëssen ze verlängeren fir Äre System ze sécheren.

1. Kierperlech System Sécherheet

Konfiguréiert de BIOS fir de Booten vun CD/DVD, externen Apparater, Floppy Drive am BIOS auszeschalten. Als nächst, aktivéiert BIOS Passwuert & schützt och GRUB mat Passwuert fir de kierperlechen Zougang vun Ärem System ze beschränken.

  1. Set GRUB Passwuert fir Linux Serveren ze schützen

2. Disk Partitionen

Et ass wichteg verschidde Partitionen ze hunn fir méi héich Datesécherheet ze kréien am Fall wann eng Katastroph geschitt. Andeems Dir verschidde Partitionen erstellt, kënnen d'Donnéeën getrennt a gruppéiert ginn. Wann en onerwaarten Accident geschitt ass, ginn nëmmen Daten vun där Partition beschiedegt, während d'Donnéeën op anere Partitionen iwwerlieft hunn. Vergewëssert Iech datt Dir folgend separat Partitionen hutt a sécher datt Drëtt Partei Uwendungen op getrennten Dateiesystemer ënner /opt installéiert ginn.

/
/boot
/usr
/var
/home
/tmp
/opt

3. Miniméiere Packagen fir d'Vulnerabilitéit ze minimiséieren

Wëllt Dir wierklech all Zort vu Servicer installéiert? Et ass recommandéiert fir nëtzlos Packagen z'installéieren fir Schwächen a Packagen ze vermeiden. Dëst kann de Risiko minimiséieren datt Kompromëss vun engem Service zu Kompromëss vun anere Servicer féieren kann. Fannt a läschen oder deaktivéiert onerwënscht Servicer vum Server fir Schwachstelle ze minimiséieren. Benotzt de Kommando 'chkconfig' fir Servicer erauszefannen déi um Runlevel 3 lafen.

# /sbin/chkconfig --list |grep '3:on'

Wann Dir erausfonnt hutt datt all ongewollte Service leeft, deaktivéiert se mat dem folgenden Kommando.

# chkconfig serviceName off

Benotzt den RPM Package Manager wéi yum oder apt-get Tools fir all installéiert Packagen op engem System ze lëschten an ze läschen mat dem folgenden Kommando.

# yum -y remove package-name
# sudo apt-get remove package-name

  1. 5 chkconfig Kommando Beispiller
  2. 20 Praktesch Beispiller vun RPM Kommandoen
  3. 20 Linux YUM Kommandoen fir Linux Package Management
  4. 25 APT-GET an APT-CACHE Kommandoen fir Package Management ze managen

4. Check lauschteren Network Häfen

Mat der Hëllef vun 'netstat' Netzwierkbefehl kënnt Dir all oppe Ports an assoziéiert Programmer kucken. Wéi ech uewe gesot hunn, benotzt 'chkconfig' Kommando fir all ongewollt Netzwierkservicer vum System auszeschalten.

# netstat -tulpn

  1. 20 Netstat Kommandoen fir Netzwierkverwaltung am Linux

5. Benotzt Secure Shell (SSH)

Telnet an rlogin Protokoller benotzt Einfache Text, net verschlësselte Format wat d'Sécherheetsverletzung ass. SSH ass e séchere Protokoll deen Verschlësselungstechnologie wärend der Kommunikatioun mam Server benotzt.

Login ni direkt als root ausser wann néideg. Benotzt sudo fir Kommandoen auszeféieren. sudo ginn an /etc/sudoers Datei spezifizéiert, och kënne mat dem visudo Utility geännert ginn, deen am VI Editor opmaacht.

Et ass och recommandéiert d'Standard SSH 22 Portnummer mat enger anerer méi héije Portnummer z'änneren. Öffnen d'Haapt SSH Konfiguratiounsdatei a maacht e puer folgend Parameteren fir d'Benotzer op Zougang ze beschränken.

# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers username
Protocol 2

  1. 5 Bescht Praktiken fir SSH Server ze sécheren a schützen

6. Halen System aktualiséiert

Bleift ëmmer de System aktualiséiert mat de leschte Verëffentlechungen Patches, Sécherheetsfixen a Kernel wann et verfügbar ass.

# yum updates
# yum check-update

7. Sperrung Cronjobs

Cron huet seng eege agebaute Feature, wou et erlaabt ze spezifizéieren wien däerf a wien net wëllt Aarbechtsplaze lafen. Dëst gëtt kontrolléiert duerch d'Benotzung vu Dateien genannt /etc/cron.allow an /etc/cron.deny. Fir e Benotzer mat Cron ze spären, füügt einfach Benotzernimm an cron.deny an fir e Benotzer z'erméiglechen Cron add an cron.allow Datei ze lafen. Wann Dir wëllt all Benotzer auszeschalten fir Cron ze benotzen, füügt d'Linn 'ALL' an d'cron.deny Datei derbäi.

# echo ALL >>/etc/cron.deny

  1. 11 Cron Scheduling Beispiller am Linux

8. Deaktivéiert USB Stick fir z'entdecken

Vill Mol geschitt et datt mir d'Benotzer wëllen beschränken USB Stick a Systemer ze benotzen fir Daten ze schützen a sécher ze klauen. Erstellt e Fichier '/etc/modprobe.d/no-usb' a bäizefügen ënnert der Linn wäert d'USB-Späichere net erkennen.

install usb-storage /bin/true

9. Maacht op SELinux

Security-Enhanced Linux (SELinux) ass e obligatoresche Zougangskontroll Sécherheetsmechanismus, deen am Kernel geliwwert gëtt. SELinux auszeschalten heescht d'Sécherheetsmechanismus aus dem System ze läschen. Denkt zweemol virsiichteg ier Dir ewechhuelt, wann Äre System un den Internet verbonnen ass an de Public zougänglech ass, denkt e bësse méi doriwwer.

SELinux bitt dräi Basis Operatiounsmodi a si sinn.

  1. Enforcer: Dëst ass Standardmodus deen d'SELinux Sécherheetspolitik op der Maschinn aktivéiert an ëmsetzt.
  2. Permissiv: An dësem Modus wäert SELinux d'Sécherheetspolitik net um System ëmsetzen, nëmmen Aktiounen warnen a protokolléieren. Dëse Modus ass ganz nëtzlech am Sënn vun der Troubleshooting SELinux-relatéiert Themen.
  3. Behënnert: SELinux ass ausgeschalt.

Dir kënnt den aktuelle Status vum SELinux Modus vun der Kommandozeil kucken mat 'system-config-selinux', 'getenforce' oder 'sestatus' Kommandoen.

# sestatus

Wann et deaktivéiert ass, aktivéiert SELinux mat dem folgenden Kommando.

# setenforce enforcing

Et kann och aus der '/etc/selinux/config' Datei geréiert ginn, wou Dir et aktivéiert oder deaktivéiert.

10. KDE/GNOME Desktops erofhuelen

Et ass net néideg fir X Window Desktops wéi KDE oder GNOME op Ärem dedizéierten LAMP Server ze lafen. Dir kënnt se ewechhuelen oder auszeschalten fir d'Sécherheet vum Server an d'Performance ze erhéijen. Fir einfach auszeschalten, öffnen d'Datei '/etc/inittab' a set de Run Level op 3. Wann Dir se komplett aus dem System wëllt läschen, benotzt de Kommando hei ënnen.

# yum groupremove "X Window System"

11. Ausschalten IPv6

Wann Dir keen IPv6 Protokoll benotzt, da sollt Dir et auszeschalten well déi meescht Uwendungen oder Politiken net de IPv6 Protokoll erfuerderen an de Moment net um Server erfuerderlech sinn. Gitt op d'Netzkonfiguratiounsdatei a füügt folgend Linnen derbäi fir se auszeschalten.

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. Beschränken d'Benotzer fir al Passwierder ze benotzen

Dëst ass ganz nëtzlech wann Dir de Benotzer net erlaabt déiselwecht al Passwierder ze benotzen. Déi al Passwuertdatei ass op /etc/security/opasswd. Dëst kann erreecht ginn andeems Dir PAM Modul benotzt.

Open '/etc/pam.d/system-auth' Datei ënner RHEL/CentOS/Fedora.

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

Open '/etc/pam.d/common-password' Datei ënner Ubuntu/Debian/Linux Mint.

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

Füügt déi folgend Zeil an 'Auth' Sektioun.

auth        sufficient    pam_unix.so likeauth nullok

Füügt déi folgend Zeil an 'Passwuert' Sektioun fir e Benotzer z'erlaben de leschte 5 Passwuert vu sengem oder hirem nei ze benotzen.

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

Nëmmen déi lescht 5 Passwierder gi vum Server erënnert. Wann Dir probéiert ee vun de leschte 5 al Passwierder ze benotzen, kritt Dir e Feeler wéi.

Password has been already used. Choose another.

13. Wéi Passwuert Oflaf vum Benotzer z'iwwerpréiwen

Am Linux ginn d'Passwuert vum Benotzer an '/etc/shadow' Datei am verschlësselte Format gespäichert. Fir d'Passwuertverfall vun de Benotzer z'iwwerpréiwen, musst Dir 'chage' Kommando benotzen. Et weist Informatioun iwwer Passwuertverfallsdetailer zesumme mam leschte Passwuertännerungsdatum. Dës Detailer gi vum System benotzt fir ze entscheeden wéini e Benotzer säi Passwuert muss änneren.

Fir all existent Benotzer Altersinformatioun wéi Verfallsdatum an Zäit ze gesinn, benotzt de folgende Kommando.

#chage -l username

Fir Äert Passwuertalterung vun engem Benotzer z'änneren, benotzt de folgende Kommando.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName

  1. -M Déi maximal Unzuel vun Deeg setzen
  2. -m Minimum Unzuel vun Deeg setzen
  3. -W Setzt d'Zuel vun den Deeg Warnung fest

14. Spär an Spär Kont manuell

D'Spär an d'Spär Feature si ganz nëtzlech, anstatt e Kont aus dem System ze läschen, kënnt Dir et fir eng Woch oder e Mount gespaarten. Fir e spezifesche Benotzer ze spären, kënnt Dir de Follow Kommando benotzen.

# passwd -l accountName

Notiz: De gespaarte Benotzer ass nach ëmmer nëmme fir de Root Benotzer verfügbar. D'Sperre gëtt gemaach andeems en verschlësselte Passwuert duerch eng (!) String ersat gëtt. Wann een probéiert op de System mat dësem Kont ze kommen, kritt hien e Feeler ähnlech wéi hei drënner.

# su - accountName
This account is currently not available.

Fir den Zougang zu engem gespaarte Kont opzemaachen oder z'aktivéieren, benotzt de Kommando als. Dëst wäert ewechhuelen (!) String mat verschlësselte Passwuert.

# passwd -u accountName

15. Stäerkste Passwierder erzwéngen

Eng Zuel vu Benotzer benotze mëll oder schwaach Passwierder an hiert Passwuert kéint gehackt ginn mat engem Wierderbuch baséiert oder brute-force Attacken. De 'pam_cracklib' Modul ass verfügbar am PAM (Pluggable Authentication Modules) Modul Stack deen de Benotzer forcéiert staark Passwierder ze setzen. Öffnen déi folgend Datei mat engem Editor.

Liest och:

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

A füügt Linn mat Kredittparameter bäi (lcredit, ucredit, dcredit an/oder occredit respektiv kleng Buschtawen, iewescht Buschtawen, Zifferen an aner)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Aktivéiert Iptables (Firewall)

Et ass héich recommandéiert Linux Firewall z'aktivéieren fir onerlaabten Zougang vun Äre Serveren ze sécheren. Gëlle Regelen an iptables op Filteren Entréeën, erausginn an Forwarding Pakete. Mir kënnen d'Quell an d'Ziladress spezifizéieren fir an enger spezifescher udp/tcp Portnummer z'erméiglechen an ze refuséieren.

  1. Basis IPTables Guide an Tipps

17. Desaktivéiere Ctrl + Alt + Läschen an Inittab

An de meeschte Linux Verdeelungen, dréckt op 'CTRL-ALT-DELETE' wäert Äre System de Prozess nei starten. Also, et ass net eng gutt Iddi dës Optioun op d'mannst op Produktiounsserveren aktivéiert ze hunn, wann iergendeen dëst falsch mécht.

Dëst ass an '/etc/inittab' Datei definéiert, wann Dir genau an där Datei kuckt, gesitt Dir eng Linn ähnlech wéi hei drënner. Par défaut gëtt d'Linn net kommentéiert. Mir mussen et kommentéieren. Dës speziell Schlësselsequenzsignaléierung wäert e System ausschalten.

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. Check Konte fir eidel Passwierder

All Kont mat engem eidele Passwuert heescht datt et fir onerlaabten Zougang zu jidderengem um Internet opgemaach ass an et ass en Deel vun der Sécherheet an engem Linux Server. Also, Dir musst sécher sinn datt all Konten staark Passwierder hunn a keen huet en autoriséierten Zougang. Eidel Passwuertkonten si Sécherheetsrisiken an déi kënne liicht hackbar sinn. Fir ze kontrolléieren ob et Konten mat eidel Passwuert waren, benotzt de folgende Kommando.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Weist SSH Banner virum Login

Et ass ëmmer eng besser Iddi e legale Banner oder Sécherheetsbanner mat e puer Sécherheetswarnungen virun der SSH Authentifikatioun ze hunn. Fir esou Banneren ze setzen, liest de folgenden Artikel.

  1. SSH Warnungsmeldung un d'Benotzer weisen

20. Monitor Benotzer Aktivitéiten

Wann Dir mat vill Benotzer beschäftegt, dann ass et wichteg d'Informatioun vun all Benotzeraktivitéiten a Prozesser ze sammelen, déi vun hinnen verbraucht ginn an se zu enger spéider Zäit analyséieren oder am Fall wann iergendeng Leeschtung, Sécherheetsprobleemer. Awer wéi kënne mir Benotzeraktivitéitsinformatioun iwwerwaachen a sammelen.

Et ginn zwee nëtzlech Tools genannt psacct an acct gi benotzt fir Benotzeraktivitéiten a Prozesser op engem System ze iwwerwaachen. Dës Tools lafen an engem Systemhannergrond a verfollegen kontinuéierlech all Benotzeraktivitéit op engem System a Ressourcen, déi vu Servicer wéi Apache, MySQL, SSH, FTP, etc.

  1. Monitor Benotzeraktivitéit mat psacct oder acct Kommandoen

21. Iwwerpréiwen Logbicher regelméisseg

Beweegt d'Logbicher an dedizéierten Log-Server, dëst verhënnert datt Andréngen einfach lokal Logbicher änneren. Drënner sinn de Common Linux Standard Log Dateien Numm an hir Notzung:

  1. /var/log/message - Wou ganz Systemprotokoller oder aktuell Aktivitéitsprotokoller verfügbar sinn.
  2. /var/log/auth.log – Authentifikatiounsprotokoller.
  3. /var/log/kern.log – Kernel Logbicher.
  4. /var/log/cron.log - Crond Logbicher (cron job).
  5. /var/log/maillog - Mail Server Logbicher.
  6. /var/log/boot.log - System Boot Log.
  7. /var/log/mysqld.log - MySQL Datebank Server Log Datei.
  8. /var/log/secure – Authentifikatiounslog.
  9. /var/log/utmp oder /var/log/wtmp : Login records Datei.
  10. /var/log/yum.log: Yum Log Dateien.

22. Wichteg Fichier Backupsatellit

An engem Produktiounssystem ass et néideg fir wichteg Dateie Backup ze huelen an se a Sécherheetsgewellten, Fernsite oder Offsite ze halen fir Katastrophen Erhuelung.

23. NIC Bindung

Et ginn zwou Aarte vu Modus am NIC Bindung, musse bei Bindungsinterface ernimmt ginn.

  1. mode=0 – Round Robin
  2. Modus=1 – Aktiv a Backup

NIC Bonding hëlleft eis een eenzege Punkt vum Echec ze vermeiden. An NIC Bindung verbannen mir zwee oder méi Network Ethernet Kaarten zesummen a maachen eng eenzeg virtuell Interface, wou mir IP Adresse kënne fir mat anere Serveren ze schwätzen. Eist Netzwierk wäert verfügbar sinn am Fall wou eng NIC Kaart erof ass oder aus iergendengem Grond net verfügbar ass.

24. Halen/Boot als nëmmen liesen

Linux Kernel a seng verwandte Dateien sinn am /boot Verzeechnes deen als Standard als Lies-Schreift ass. Änneren et op Read-only reduzéiert de Risiko vun onerlaabten Ännerunge vu kriteschen Bootdateien. Fir dëst ze maachen, öffnen /etc/fstab Datei.

# vi /etc/fstab

Füügt déi folgend Zeil um ënnen, späichert an zou.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

Notéiert w.e.g. datt Dir d'Ännerung op Lies-Schreiwe muss zrécksetzen wann Dir de Kernel an Zukunft upgrade musst.

25. Ignoréieren ICMP oder Broadcast Ufro

Füügt folgend Zeil an /etc/sysctl.conf Datei fir Ping oder Broadcast Ufro ze ignoréieren.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Luet nei Astellungen oder Ännerungen, andeems Dir de folgende Kommando ausféiert

#sysctl -p

Wann Dir e wichtege Sécherheets- oder Hardingstipp an der uewe genannter Lëscht verpasst hutt, oder Dir hutt en aneren Tipp deen an der Lëscht abegraff muss sinn. Gitt w.e.g. Är Kommentaren an eiser Kommentarbox. TecMint ass ëmmer interesséiert Kommentaren ze kréien, Virschléi souwéi Diskussioun fir Verbesserung.