Zoeken op website

20 CentOS Server-beveiligingstips voor het versterken van de beveiliging - Deel 1


Deze tutorial behandelt alleen algemene beveiligingstips voor CentOS 8/7 die kunnen worden gebruikt om het systeem te versterken. De checklisttips zijn vooral bedoeld voor gebruik op verschillende soorten bare-metal-servers of op machines (fysiek of virtueel) die netwerkdiensten leveren.

Sommige tips kunnen echter ook met succes worden toegepast op machines voor algemene doeleinden, zoals desktops, laptops en single-board computers op kaartformaat (Raspberry Pi).

Vereisten

  • CentOS 8 Minimale installatie
  • CentOS 7 Minimale installatie

1. Fysieke bescherming

Vergrendel de toegang tot uw serverruimtes, gebruik rackvergrendeling en videobewaking. Houd er rekening mee dat elke fysieke toegang tot serverruimtes uw machine kan blootstellen aan ernstige beveiligingsproblemen.

BIOS-wachtwoorden kunnen worden gewijzigd door jumpers op het moederbord opnieuw in te stellen of door de CMOS-batterij los te koppelen. Ook kan een indringer de harde schijven stelen of nieuwe harde schijven rechtstreeks aansluiten op de moederbordinterfaces (SATA, SCSI, enz.), opstarten met een live Linux-distro en gegevens klonen of kopiëren zonder enig softwarespoor achter te laten.

2. Verminder de impact van spionage

In het geval van zeer gevoelige gegevens moet u waarschijnlijk geavanceerde fysieke beveiliging gebruiken, zoals het plaatsen en vergrendelen van de server in een kooi van Faraday, of een militaire TEMPEST-oplossing gebruiken om de impact van het bespioneren van het systeem via radio of lekkende elektriciteit te minimaliseren.

3. Beveilig BIOS/UEFI

Start het proces om uw machine te beveiligen door de BIOS/UEFI-instellingen te beveiligen, stel vooral een BIOS/UEFI-wachtwoord in en schakel opstartmedia-apparaten (cd, dvd, USB-ondersteuning uit) uit om te voorkomen dat ongeautoriseerde gebruikers de BIOS-instellingen van het systeem wijzigen of de prioriteit van het opstartapparaat wijzigen en de machine vanaf een alternatief medium opstarten.

Om dit type wijziging op uw machine toe te passen, moet u de handleiding van de fabrikant van het moederbord raadplegen voor specifieke instructies.

4. Veilige bootloader

Stel een GRUB wachtwoord in om te voorkomen dat kwaadwillende gebruikers knoeien met de opstartvolgorde van de kernel of niveaus uitvoeren, kernelparameters bewerken of het systeem starten in een modus voor één gebruiker om zo uw systeem te beschadigen en de root te resetten wachtwoord om bevoorrechte controle te krijgen.

5. Gebruik afzonderlijke schijfpartities

Wanneer u CentOS installeert op systemen die bedoeld zijn als productieservers, gebruikt u speciale partities of speciale harde schijven voor de volgende delen van het systeem:

/(root) 
/boot  
/home  
/tmp 
/var 

6. Gebruik LVM en RAID voor redundantie en groei van bestandssystemen

De /var partitie is de plaats waar logberichten naar schijf worden geschreven. Dit deel van het systeem kan exponentieel in omvang toenemen op servers met veel verkeer die netwerkservices zoals webservers of bestandsservers blootstellen.

Gebruik dus een grote partitie voor /var of overweeg om deze partitie op te zetten met logische volumes (LVM) of combineer verschillende fysieke schijven tot één groter virtueel RAID 0-apparaat om grote hoeveelheden gegevens. Voor gegevens kunt u voor redundantie overwegen om de LVM-indeling te gebruiken bovenop het RAID 1-niveau.

Volg onze handige handleidingen voor het instellen van LVM of RAID op de schijven:

  1. Stel schijfopslag in met LVM in Linux
  2. Maak LVM-schijven met behulp van vgcreate, lvcreate en lvextend
  3. Combineer meerdere schijven in één grote virtuele opslag
  4. Maak RAID 1 met twee schijven in Linux

7. Wijzig fstab-opties om gegevenspartities te beveiligen

Aparte partities bedoeld voor het opslaan van gegevens en het voorkomen van de uitvoering van programma's, apparaatbestanden of setuid bit op dit soort partities door de volgende opties toe te voegen aan het fstab bestand, zoals hieronder geïllustreerd uittreksel:

/dev/sda5 	 /nas          ext4    defaults,nosuid,nodev,noexec 1 2

Om escalatie van bevoegdheden en willekeurige uitvoering van scripts te voorkomen, maakt u een aparte partitie voor /tmp en koppelt u deze als nosuid, nodev en noexec .

/dev/sda6  	/tmp         ext4    defaults,nosuid,nodev,noexec 0 0

8. Versleutel de harde schijven op blokniveau met LUKS

Om gevoelige gegevens te beschermen tegen snuffelen in het geval van fysieke toegang tot harde schijven van machines. Ik raad u aan om te leren hoe u de schijf kunt coderen door ons artikel Linux Hard Disk Data Encryption met LUKS te lezen.

9. Gebruik PGP en public-key cryptografie

Om schijven te coderen, gebruikt u de opdracht PGP en Public-Key Cryptography of OpenSSL om gevoelige bestanden te coderen en decoderen met een wachtwoord, zoals weergegeven in dit artikel Gecodeerde Linux-systeemopslag configureren.

10. Installeer alleen het minimaal vereiste aantal pakketten

Vermijd het installeren van onbelangrijke of onnodige programma's, applicaties of services om pakketkwetsbaarheden te voorkomen. Dit kan het risico verkleinen dat het compromitteren van een stukje software kan leiden tot het compromitteren van andere applicaties, delen van het systeem of zelfs bestandssystemen, wat uiteindelijk kan resulteren in datacorruptie of dataverlies.

11. Update het systeem regelmatig

Update het systeem regelmatig. Houd de Linux-kernel gesynchroniseerd met de nieuwste beveiligingspatches en alle geïnstalleerde software up-to-date met de nieuwste versies door de onderstaande opdracht uit te voeren:

yum update

12. Schakel Ctrl+Alt+Del uit

Om te voorkomen dat gebruikers de server opnieuw opstarten zodra ze fysieke toegang hebben tot een toetsenbord of via een Remote Console Application of een gevirtualiseerde console (KVM, Virtualizing software interface), moet u Ctrl+Alt uitschakelen +Del toetsenreeks door het onderstaande commando uit te voeren.

systemctl mask ctrl-alt-del.target 

13. Verwijder onnodige softwarepakketten

Installeer minimale software die vereist is voor uw machine. Installeer nooit extra programma's of diensten. Installeer alleen pakketten vanuit vertrouwde of officiële opslagplaatsen. Gebruik een minimale installatie van het systeem als de machine voorbestemd is om zijn hele leven als server te blijven draaien.

Controleer geïnstalleerde pakketten met een van de volgende opdrachten:

rpm -qa

Maak een lokale lijst van alle geïnstalleerde pakketten.

yum list installed >> installed.txt

Raadpleeg de lijst voor nutteloze software en verwijder een pakket door het onderstaande commando te geven:

yum remove package_name

14. Start Systemd Services opnieuw na Daemon-updates

Gebruik het onderstaande opdrachtvoorbeeld om een systemd-service opnieuw te starten om nieuwe updates toe te passen.

systemctl restart httpd.service

15. Verwijder onnodige services

Identificeer de services die op specifieke poorten luisteren met behulp van de volgende ss-opdracht.

ss -tulpn

Om alle geïnstalleerde services met hun uitvoerstatus weer te geven, voert u de onderstaande opdracht uit:

systemctl list-units -t service

Bij de standaard minimale installatie van CentOS wordt bijvoorbeeld standaard een Postfix-daemon geïnstalleerd die wordt uitgevoerd onder de naam van een master onder poort 25. Verwijder de Postfix-netwerkservice als uw machine niet als mailserver wordt gebruikt.

yum remove postfix

16. Versleutelde verzonden gegevens

Gebruik geen onbeveiligde protocollen voor externe toegang of bestandsoverdracht, zoals Telnet, FTP, of andere protocollen met hoge tekstgrootte, zoals SMTP, HTTP, NFS of SMB, die door standaard, codeert de authenticatiesessies of verzonden gegevens niet.

Gebruik alleen sftp, scp voor bestandsoverdracht en SSH of VNC via SSH-tunnels voor externe consoleverbindingen of GUI-toegang.

Om een VNC-console via SSH te tunnelen, gebruikt u het onderstaande voorbeeld dat de VNC-poort 5901 doorstuurt van de externe machine naar uw lokale machine:

ssh -L 5902:localhost:5901 remote_machine

Voer op de lokale machine de onderstaande opdracht uit om een virtuele verbinding met het externe eindpunt tot stand te brengen.

vncviewer localhost:5902

17. Netwerkpoort scannen

Voer externe poortcontroles uit met behulp van de Nmap-tool vanaf een extern systeem via het LAN. Dit type scannen kan worden gebruikt om netwerkkwetsbaarheden te verifiëren of de firewallregels te testen.

nmap -sT -O 192.168.1.10

18. Firewall voor pakketfiltering

Gebruik het hulpprogramma firewalld om de systeempoorten te beschermen, open of sluit specifieke servicepoorten, vooral bekende poorten (<1024).

Installeer, start, schakel in en vermeld de firewallregels door de onderstaande opdrachten uit te voeren:

yum install firewalld
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --list-all

19. Inspecteer protocolpakketten met Tcpdump

Gebruik het hulpprogramma tcpdump om netwerkpakketten lokaal op te sporen en hun inhoud te inspecteren op verdacht verkeer (bronbestemmingspoorten, TCP/IP-protocollen, laag twee-verkeer, ongebruikelijke ARP-verzoeken).

Voor een betere analyse van het tcpdump vastgelegde bestand gebruikt u een geavanceerder programma zoals Wireshark.

tcpdump -i eno16777736 -w tcpdump.pcap

20. Voorkom DNS-aanvallen

Inspecteer de inhoud van uw oplosser, meestal het /etc/resolv.conf-bestand, dat het IP-adres definieert van de DNS-servers die het moet gebruiken om naar domeinnamen te zoeken, om man-in-the-art te voorkomen -middle-aanvallen, onnodig verkeer voor root-DNS-servers, spoof of creëer een DOS-aanval.

Dit is nog maar het eerste deel. In het volgende deel bespreken we andere beveiligingstips voor CentOS 8/7.