Härdning Ubuntu 14.04 Server
Härdning är processen att minska sårbarheter och säkra ett system från möjliga attackpunkter. Att minska sårbarheter inkluderar att ta bort onödiga tjänster, användarnamn och inloggningar och inaktivera onödiga portar. I den här artikeln kommer vi att visa dig hur du kan härda en Ubuntu-server.
Krav
Ubuntu 14.04 LTS-server med Open SSH installerad.
Komma igång: Uppdatera systemet
Att hålla systemet uppdaterat är nödvändigt efter installation av något operativsystem. Detta kommer att minska kända svagheter som finns i ditt system.
För Ubuntu 14.04 kör följande:
sudo apt-få uppdatering sudo apt-få uppgradering sudo apt-få autoremove sudo apt-get autoclean
Aktivera automatiska säkerhetsuppdateringar
Att aktivera automatiska uppdateringar kan vara mycket viktigt för att säkra din server. För att installera "obevakade uppgraderingar", kör
sudo apt-get installera obevakade uppgraderingar
För att aktivera det, kör följande kommando:
sudo dpkg-reconfigure -plugga obevakade uppgraderingar
Detta skapar filen "/etc/apt/apt.conf.d/20auto-upgrades" nedan.
APT :: Periodic :: Update-Package-Lists "1"; APT :: Periodisk :: obevakad uppgradering "1";
Skapa "skugganvändare" med sudo-krafter
Att använda en "skugganvändare" istället för rotkontot är nödvändigt av säkerhetsskäl. Du kan skapa en användare som inte är lätt för andra användare att gissa. I denna handledning använder vi "maketech111" som användarnamn.
För att skapa en användare, kör följande kommando:
sudo useradd -d / home / maketech111-s / bin / bash -m maketech111
För att ge användaren sudo-åtkomst, kör följande kommando:
sudo usermod -a -G sudo maketech111
För att ange ett lösenord, kör följande kommando:
sudo passwd maketech111
Obs! Kontrollera att ditt lösenord är minst åtta tecken långt och innehåller en komplex kombination av siffror, bokstäver och skiljetecken.
För att ta bort lösenordsprompten för sudo, rediger sudoersfilen.
sudo nano / etc / sudoers
Lägg till / redigera som beskrivs nedan.
maketech111 ALL = (ALL) NOPASSWD: ALL
Spara filen och avsluta.
Inaktivera root-konto
Inaktivera rootkontot är nödvändigt av säkerhetsskäl.
För att inaktivera rotkontot, använd följande kommando:
sudo passwd -l root
Om du behöver återaktivera kontot, kör följande kommando:
sudo passwd -u root
Lägg till en SWAP-partition
Vissa Ubuntu-servrar är inte konfigurerade med SWAP. SWAP används när mängden totalt fysiskt minne (RAM) är fullt.
För att söka efter SWAP-utrymme, kör följande kommando:
sudo swapon -s
Om det inte finns någon SWAP-fil, ska du få en följande utmatning.
Filnamn Typ Storlek Används Prioritet
För att skapa 4 GB SWAP-filen måste du använda kommandot "dd".
sudo dd om = / dev / noll av = / swapfile bs = 4M count = 1000
För att konfigurera SWAP-filen, kör följande kommando:
sudo mkswap / swapfile
För att aktivera swapfilen kör du
sudo swapon / swapfile sudo swapon -s
Detta kommer att mata ut som följande:
Filnamn Typ Storlek Används Prioritet / swapfil fil 4096000 0 -1
För att aktivera det permanent, redigera filen "/ etc / fstab".
sudo nano / etc / fstab
Lägg till följande rad:
/ swapfile swap swap default 0 0
Förbättra SWAP-prestanda
Ange rätt swappiness-värde för att förbättra systemets totala prestanda.
Det här kan du göra med följande kommando:
sudo echo 0 >> / proc / sys / vm / swappiness sudo echo vm.swappiness = 0 >> /etc/sysctl.conf
Starta om systemet för att kontrollera om SWAP aktiveras korrekt.
Inaktivera IPv6
Det rekommenderas att inaktivera IPv6 eftersom det orsakar problem med att Internet-anslutningen är långsam.
För att inaktivera IPv6, redigera filen "/etc/sysctl.conf".
sudo nano /etc/sysctl.conf
Redigera som beskrivs nedan:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
För att ladda om konfigurationen kör du
sudo sysctl -p
Inaktivera IRQBALANCE
IRQBALANCE används för att distribuera hårdvaruproblem över flera CPU-enheter för att öka systemets prestanda. Det rekommenderas att inaktivera IRQBALANCE för att undvika hårdvaruproblem i dina trådar.
För att inaktivera IRQBALANCE, redigera "/ etc / default / irqbalance"
sudo nano / etc / default / irbalbalance
och ändra ANVÄNDAT värde till 0:
AKTIVERAD = 0
Fix OpenSSL heartbleed bug
Heartbleed är en allvarlig sårbarhet i OpenSSL. Det gör det möjligt för en avlägsen användare att läcka minnet i upp till 64k bitar. Hackers kan sedan hämta privata nycklar för att dekryptera alla data som användarens användarnamn och lösenord.
Den heartbleed bug hittades i OpenSSL 1.0.1 och finns i följande versioner:
- 1.0.1
- 1.0.1a
- 1.0.1b
- 1.0.1c
- 1.0.1d
- 1.0.1e
- 1.0.1f
För att kontrollera versionen av OpenSSL i ditt system, kör följande kommandon:
sudo openssl version -v sudo openssl version -b
Detta kommer att mata ut något som följande:
OpenSSL 1.0.1 10 Mar 2012 byggd på: ons jan 2 18:45:51 UTC 2015
Om datumet är äldre än "måndag 7 april 20:33:29 UTC 2014" och versionen är "1.0.1", så är ditt system sårbart för Heartbleed-felet.
För att åtgärda det här felet, uppdatera OpenSSL till den senaste versionen och kör
sudo apt-uppdatera sudo apt-få uppgradera openssl libssl-dev sudo apt-cache-policy openssl libssl-dev
Kontrollera nu versionen och kör
sudo openssl version -b
Detta kommer att mata ut något som följande:
byggd den: ma 7 april 20:31:55 UTC 2014
Säkra konsolen, delat minne, / tmp och / var / tmp
Säkra konsolen
Som standard är många terminaler aktiverade i ditt system. Du kan bara tillåta en terminal och stänga av de andra terminalerna.
För att bara tillåta "tty1" och inaktivera andra terminaler, redigera filen "/ etc / securetty".
sudo nano / etc / securetty
Lägg till / ändra följande rader:
tty1 # tty2 # tty3 # tty4 # etc ...
För att säkra filen "/ etc / securetty" ändrar du tillståndet för filen och kör följande kommandon:
sudo chown root: root / etc / securetty sudo chmod 0600 / etc / securetty
Säkert delat minne
Alla användare kan använda delat minne för att attackera en körtjänst, som apache eller httpd. Som standard är delat minne monterat läs / skriv med exekutivt tillstånd.
För att göra det säkrare, redigera filen "/ etc / fstab".
sudo nano / etc / fstab
Lägg till följande rad:
tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0
För att göra ändringarna utan omstart kan du springa
sudo mount -a
Säkra / tmp och / var / tmp
Tillfälliga kataloger som / tmp, / var / tmp och / dev / shm öppnar dörren för angripare för att ge utrymme att köra skript och skadliga körbara filer.
Säker / tmp-mapp
Skapa en 1 GB filsystemfil för / tmp-partitionen.
sudo dd om = / dev / noll av = / usr / tmpDSK bs = 1024 count = 1024000 sudo mkfs.ext4 / usr / tmpDSK
Skapa en säkerhetskopia av nuvarande / tmp-mappen:
sudo cp -avr / tmp / tmpbackup
Montera den nya / tmp-partitionen och ställ in rätt behörigheter.
sudo mount -t tmpfs -o loop, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp
Kopiera data från backupmappen och ta bort backupmappen.
sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup
Ställ in / tmp i fbtab.
sudo nano / etc / fstab
Lägg till följande rad:
/ usr / tmpDSK / tmp tmpfs loop, nosuid, noexec, rw 0 0
Testa din fstab-post.
sudo mount -a
Säkra / var / tmp:
Vissa program använder den här mappen som en tillfällig mapp, så vi bör också säkra den här.
För att säkra / var / tmp, skapa en symbolisk länk som gör / var / tmp peka på / tmp.
sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp /
Ange säkerhetsgränser och inaktivera oönskade tjänster
Ange säkerhetsgränser
För att skydda ditt system från gaffelbombattacker bör du skapa en processgräns för dina användare.
För att ställa in detta, redigera filen "/etc/security/limits.conf"
sudo nano /etc/security/limits.conf
och redigera följande rad:
user1 hard nproc 100 @ group1 hard nproc 20
Detta kommer att förhindra användare av en viss grupp från att ha maximalt tjugo processer och maximera antalet processer till hundra till användare1.
Inaktivera onödiga tjänster
Massor av tjänster i Ubuntu tar minne och diskutrymme som du kanske behöver använda. Inaktivera eller ta bort onödiga tjänster kan förbättra systemets totala prestanda.
För att ta reda på vilka tjänster som körs, kör följande kommando:
sudo initctl lista | grep springande
Du kan inaktivera det genom att köra det här kommandot.
sudo update-rc.d -f service_name ta bort sudo apt-get purge service_name
Fix Shell Shock Bash sårbarhet:
Skallskaktsårbarheten tillåter hackare att tilldela Bash-miljövariabler och få obehörig åtkomst till systemet. Denna sårbarhet är mycket lätt att utnyttja.
För att kontrollera systemets sårbarhet, kör följande kommando:
sudo env i = '() {:;}; echo Ditt system är Bash sårbart "bash-c" echo Bash vulnerability test "
Om du ser nedre utmatningen betyder det att ditt system är sårbart.
Ditt system är Bash sårbart Bash vulnerability test
För att åtgärda detta sårbarhet, kör följande kommando:
sudo apt-get uppdatering; sudo apt-get installera - bara uppgradera bash
Om du kör kommandot igen ser du:
bash: varning: VAR: ignorerar funktionsdefinitionsförsök bash: fel import av funktionsdefinition för `VAR 'Bas-sårbarhetstest
Slutsats:
Här har vi förklarat grundläggande saker som du kan göra för att härda Ubuntu. Du bör nu ha tillräckligt med förståelse för grundläggande säkerhetspraxis som du kan implementera på din Ubuntu-server. Jag hoppas att det här inlägget kommer att vara användbart för dig.
Referens : Ubuntu Härdningsguide