Verhardende Ubuntu 14.04-server
Verharden is het proces van het verminderen van kwetsbaarheden en het beveiligen van een systeem tegen mogelijke aanvalspunten. Het verminderen van kwetsbaarheden omvat het verwijderen van onnodige services, gebruikersnamen en logins en het uitschakelen van onnodige poorten. In dit artikel laten we je zien hoe je een Ubuntu-server kunt verharden.
Vereisten
Ubuntu 14.04 LTS-server met Open SSH geïnstalleerd.
Aan de slag: werk het systeem bij
Het systeem up-to-date houden is nodig na het installeren van een besturingssysteem. Dit zal de bekende kwetsbaarheden in uw systeem verminderen.
Voor Ubuntu 14.04 voer je het volgende uit:
sudo apt-get update sudo apt-get upgrade sudo apt-get autoremove sudo apt-get autoclean
Schakel automatische beveiligingsupdates in
Het inschakelen van automatische updates kan erg belangrijk zijn om uw server te beveiligen. Om de "onbeheerde upgrades" te installeren, uitvoeren
sudo apt-get installeer onbewaakte upgrades
Voer de volgende opdracht uit om dit in te schakelen:
sudo dpkg-reconfigure -plow onbeheerd-upgrades
Hiermee wordt het bestand "/etc/apt/apt.conf.d/20auto-upgrades" gemaakt dat hieronder wordt weergegeven.
APT :: Periodiek :: Update-Pakket-lijsten "1"; APT :: Periodiek :: Onbeheerde upgrade "1";
Maak "shadow user" met sudo-bevoegdheden
Het gebruik van een "schaduwgebruiker" in plaats van het root-account is om veiligheidsredenen noodzakelijk. U kunt een gebruiker maken die voor andere gebruikers niet eenvoudig te raden is. In deze tutorial gebruiken we "maketech111" als gebruikersnaam.
Voer de volgende opdracht uit om een gebruiker te maken:
sudo useradd -d / home / maketech111 -s / bin / bash -m maketech111
Voer de volgende opdracht uit om de gebruiker sudo-toegang te geven:
sudo usermod -a -G sudo maketech111
Voer de volgende opdracht uit om een wachtwoord in te stellen:
sudo passwd maketech111
Opmerking: zorg dat uw wachtwoord ten minste acht tekens lang is en een complexe combinatie van cijfers, letters en leestekens bevat.
Om de wachtwoordprompt voor sudo te verwijderen, bewerkt u het sudoers-bestand.
sudo nano / etc / sudoers
Toevoegen / bewerken zoals hieronder beschreven.
maketech111 ALL = (ALL) NOPASSWD: ALL
Sla het bestand op en sluit af.
Schakel root-account uit
Het uitschakelen van het root-account is om veiligheidsredenen noodzakelijk.
Gebruik de volgende opdracht om het root-account uit te schakelen:
sudo passwd -l root
Als u het account opnieuw moet inschakelen, voert u de volgende opdracht uit:
sudo passwd -u root
Voeg een SWAP-partitie toe
Sommige Ubuntu-servers zijn niet geconfigureerd met SWAP. SWAP wordt gebruikt wanneer de hoeveelheid totaal fysiek geheugen (RAM) vol is.
Voer de volgende opdracht uit om te controleren op SWAP-ruimte:
sudo swapon -s
Als er geen SWAP-bestand is, zou u de volgende uitvoer moeten krijgen.
Bestandsnaam Type Formaat Gebruikte prioriteit
Als u het 4 GB-SWAP-bestand wilt maken, moet u de opdracht "dd" gebruiken.
sudo dd if = / dev / zero of = / swapfile bs = 4M count = 1000
Voer de volgende opdracht uit om het SWAP-bestand in te stellen:
sudo mkswap / swapfile
Om het wisselbestand te activeren, voert u uit
sudo swapon / swapfile sudo swapon -s
Dit wordt als volgt uitgevoerd:
Bestandsnaam Type Grootte Gebruikt Priority / swapfile-bestand 4096000 0 -1
Om het permanent in te schakelen, bewerkt u het bestand "/ etc / fstab".
sudo nano / etc / fstab
Voeg de volgende regel toe:
/ swapfile swap-verwisseling standaard 0 0
Verbeter de SWAP-prestaties
Stel de juiste swappiness-waarde in om de algehele prestaties van het systeem te verbeteren.
U kunt dit doen met de volgende opdracht:
sudo echo 0 >> / proc / sys / vm / swappiness sudo echo vm.swappiness = 0 >> /etc/sysctl.conf
Start het systeem opnieuw op om te controleren of SWAP correct wordt geactiveerd.
Schakel IPv6 uit
Het wordt aanbevolen om IPv6 uit te schakelen, omdat dit problemen oplevert bij een trage internetverbinding.
Als u IPv6 wilt uitschakelen, bewerkt u het bestand "/etc/sysctl.conf".
sudo nano /etc/sysctl.conf
Bewerken zoals hieronder beschreven:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Om de configuratie opnieuw te laden, voert u uit
sudo sysctl -p
Schakel IRQBALANCE uit
IRQBALANCE wordt gebruikt om hardware-interrupts over meerdere CPU's te verdelen om de systeemprestaties te verbeteren. Het wordt aanbevolen om IRQBALANCE uit te schakelen om onderbrekingen in de hardware in uw threads te voorkomen.
Om IRQBALANCE uit te schakelen, bewerk "/ etc / default / irqbalance"
sudo nano / etc / default / irqbalance
en verander de ENABLED waarde in 0:
INGESCHAKELD = 0
Fix OpenSSL heartbleed bug
De Heartbleed is een ernstige kwetsbaarheid in de OpenSSL. Hiermee kan een gebruiker op afstand het geheugen in 64k-blokken lekken. Hackers kunnen vervolgens de persoonlijke sleutels ophalen om gegevens zoals de gebruikersnaam en het wachtwoord van de gebruiker te ontsleutelen.
De heartbleed bug werd gevonden in OpenSSL 1.0.1 en is aanwezig in de volgende versies:
- 1.0.1
- 1.0.1a
- 1.0.1b
- 1.0.1c
- 1.0.1d
- 1.0.1e
- 1.0.1f
Voer de volgende opdrachten uit om de versie van OpenSSL in uw systeem te controleren:
sudo openssl-versie -v sudo openssl-versie -b
Dit zal iets als het volgende weergeven:
OpenSSL 1.0.1 10 maart 2012 gebouwd op: wo 2 januari 18:45:51 UTC 2015
Als de datum ouder is dan "Mon 7 april 20:33:29 UTC 2014" en de versie is "1.0.1", is uw systeem kwetsbaar voor de Heartbleed-bug.
Om deze bug te verhelpen, update OpenSSL naar de nieuwste versie en voer het uit
sudo apt-get update sudo apt-get upgrade openssl libssl-dev sudo apt-cache tactiek openssl libssl-dev
Controleer nu de versie en voer uit
sudo openssl-versie -b
Dit zal iets als het volgende weergeven:
gebouwd op: Mon Apr 7 20:31:55 UTC 2014
Beveilig de console, het gedeelde geheugen, / tmp en / var / tmp
Beveilig de console
Standaard zijn veel terminals ingeschakeld in uw systeem. U kunt slechts één terminal toestaan en de andere terminals uitschakelen.
Als u alleen "tty1" wilt toestaan en andere terminals wilt uitschakelen, bewerkt u het bestand "/ etc / securetty".
sudo nano / etc / securetty
Voeg de volgende regels toe / bewerk deze:
tty1 # tty2 # tty3 # tty4 # etc ...
Om het bestand "/ etc / securetty" te beveiligen, wijzigt u de toestemming van het bestand en voert u de volgende opdrachten uit:
sudo chown root: root / etc / securetty sudo chmod 0600 / etc / securetty
Secure Shared Memory
Elke gebruiker kan gedeeld geheugen gebruiken om aanvallen uit te voeren op een actieve service, zoals apache of httpd. Standaard is gedeeld geheugen lees / schrijf gemount met execute permissie.
Om het veiliger te maken, bewerkt u het bestand "/ etc / fstab".
sudo nano / etc / fstab
Voeg de volgende regel toe:
tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0
Om de wijzigingen aan te brengen zonder opnieuw op te starten, kunt u uitvoeren
sudo mount -a
Secure / tmp en / var / tmp
Tijdelijke directory's zoals / tmp, / var / tmp en / dev / shm openen de deur voor aanvallers om ruimte te bieden voor het uitvoeren van scripts en schadelijke uitvoerbare bestanden.
Beveiligde map / tmp
Maak een bestandssysteembestand van 1 GB voor de / tmp-partitie.
sudo dd if = / dev / zero of = / usr / tmpDSK bs = 1024 count = 1024000 sudo mkfs.ext4 / usr / tmpDSK
Maak een back-up van de huidige / tmp-map:
sudo cp -avr / tmp / tmpbackup
Koppel de nieuwe / tmp-partitie en stel de juiste machtigingen in.
sudo mount -t tmpfs -o loop, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp
Kopieer de gegevens uit de back-upmap en verwijder de back-upmap.
sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup
Stel de / tmp in de fbtab in.
sudo nano / etc / fstab
Voeg de volgende regel toe:
/ usr / tmpDSK / tmp tmpfs lus, nosuid, noexec, rw 0 0
Test uw fstab-invoer.
sudo mount -a
Secure / var / tmp:
Sommige software gebruikt deze map als een tijdelijke map, dus we moeten deze ook beveiligen.
Om te beveiligen / var / tmp, maak een symbolische link die / var / tmp naar / tmp wijst.
sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp /
Stel beveiligingslimieten in en schakel ongewenste services uit
Stel beveiligingslimieten in
Om uw systeem tegen aanvallen van vorkbommen te beschermen, moet u een proceslimiet instellen voor uw gebruikers.
Om dit in te stellen, bewerkt u het bestand "/etc/security/limits.conf",
sudo nano /etc/security/limits.conf
en bewerk de volgende regel:
user1 hard nproc 100 @ group1 hard nproc 20
Dit voorkomt dat gebruikers van een specifieke groep maximaal twintig processen hebben en maximaliseren het aantal processen tot honderd voor gebruiker1.
Schakel onnodige services uit
Veel services in Ubuntu nemen geheugen en schijfruimte in beslag die u mogelijk nodig heeft. Het uitschakelen of verwijderen van onnodige services kan de algehele systeemprestaties verbeteren.
Om uit te vinden welke services momenteel worden uitgevoerd, voert u de volgende opdracht uit:
sudo initctl lijst | grep running
U kunt het uitschakelen door deze opdracht uit te voeren.
sudo update-rc.d -f servicenaam verwijderen sudo apt-get purge service_name
Fix Shellshock Bash-kwetsbaarheid:
Door de kwetsbaarheid van Shellshock kunnen hackers Bash-omgevingsvariabelen toewijzen en ongeoorloofde toegang krijgen tot het systeem. Deze kwetsbaarheid is heel gemakkelijk te exploiteren.
Voer de volgende opdracht uit om de kwetsbaarheid van het systeem te controleren:
sudo env i = '() {:;}; echo Uw systeem is Bash-kwetsbaar 'bash -c' echo Bash-kwetsbaarheidstest '
Als u de onderstaande uitvoer ziet, betekent dit dat uw systeem kwetsbaar is.
Uw systeem is een Bash-kwetsbare Bash-kwetsbaarheidstest
Om dit beveiligingslek te verhelpen, voert u de volgende opdracht uit:
sudo apt-get update; sudo apt-get install - alleen-upgrade bash
Als u de opdracht opnieuw uitvoert, ziet u:
bash: waarschuwing: VAR: negeren functiedefinitie poging bash: foutimportfunctie-definitie voor `VAR 'Bash-kwetsbaarheidstest
Conclusie:
Hier hebben we basiszaken uitgelegd die je zou kunnen doen om Ubuntu te verharden. U zou nu voldoende kennis moeten hebben van elementaire beveiligingspraktijken die u kunt implementeren op uw Ubuntu-server. Ik hoop dat dit bericht nuttig voor je zal zijn.
Referentie : Ubuntu verhardingsgids