Herding Ubuntu 14.04 Server
Herding er prosessen med å redusere sårbarheter og sikre et system fra mulige angrepspunkter. Redusere sårbarheter inkluderer fjerning av unødvendige tjenester, brukernavn og pålogginger og deaktivering av unødvendige porter. I denne artikkelen skal vi vise deg hvordan du kan herde en Ubuntu-server.
Krav
Ubuntu 14.04 LTS server med Open SSH installert.
Komme i gang: Oppdater systemet
Det er nødvendig å holde systemet oppdatert etter at du har installert noe operativsystem. Dette vil redusere kjente sårbarheter som er i systemet.
For Ubuntu 14.04 kjøre følgende:
sudo apt-få oppdatering sudo apt-få oppgradering sudo apt-få autoremove sudo apt-get autoclean
Aktiver automatiske sikkerhetsoppdateringer
Aktivering av automatiske oppdateringer kan være svært viktig for å sikre serveren din. For å installere "uovervåket oppgraderinger, " kjør
sudo apt-get installere uovervåket oppgraderinger
For å aktivere det, kjør følgende kommando:
sudo dpkg-reconfigure-plugg uovervåket oppgraderinger
Dette vil opprette filen "/etc/apt/apt.conf.d/20auto-upgrades" nedenfor.
APT :: Periodisk :: Oppdateringspakke-lister "1"; APT :: Periodisk :: Uovervåket oppgradering "1";
Opprett "skygge bruker" med sudo krefter
Bruk av en "skygge bruker" i stedet for rotkontoen er nødvendig av sikkerhetsmessige grunner. Du kan opprette en bruker som ikke vil være lett for andre brukere å gjette. I denne opplæringen bruker vi "maketech111" som brukernavn.
For å opprette en bruker, kjør følgende kommando:
sudo useradd -d / home / maketech111-s / bin / bash -m maketech111
For å gi brukeren sudo tilgang, kjør følgende kommando:
sudo usermod -a -G sudo maketech111
For å angi et passord, kjør følgende kommando:
sudo passwd maketech111
Merk: Pass på at passordet ditt er minst åtte tegn langt og inneholder en kompleks kombinasjon av tall, bokstaver og tegnsettingstegn.
For å fjerne passordprompten for sudo, rediger sudoers-filen.
sudo nano / etc / sudoers
Legg til / rediger som beskrevet nedenfor.
maketech111 ALL = (ALLE) NOPASSWD: ALL
Lagre filen og avslutt.
Deaktiver rotkontoen
Deaktivering av rotkontoen er nødvendig av sikkerhetsmessige årsaker.
For å deaktivere rotkontoen, bruk følgende kommando:
sudo passwd -l root
Hvis du trenger å aktivere kontoen, kjør du følgende kommando:
sudo passwd -u root
Legg til en SWAP-partisjon
Noen Ubuntu-servere er ikke konfigurert med SWAP. SWAP brukes når mengden av totalt fysisk minne (RAM) er fullt.
For å sjekke om SWAP-plass, kjør følgende kommando:
sudo swapon -s
Hvis det ikke er noen SWAP-fil, bør du få en følgende utgang.
Filnavn Type Størrelse Brukt Prioritet
For å opprette 4 GB SWAP-filen må du bruke kommandoen "dd".
sudo dd hvis = / dev / null av = / swapfile bs = 4M teller = 1000
For å konfigurere SWAP-filen, kjør følgende kommando:
sudo mkswap / swapfile
For å aktivere byttefilen, kjør
sudo swapon / swapfile sudo swapon -s
Dette kommer til å produsere som følger:
Filnavn Type Størrelse Brukt Prioritet / swapfil fil 4096000 0 -1
For å aktivere den permanent, rediger filen "/ etc / fstab".
sudo nano / etc / fstab
Legg til følgende linje:
/ swapfile swap swap standardinnstillinger 0 0
Forbedre SWAP-ytelsen
Angi riktig swappiness-verdi for å forbedre systemets generelle ytelse.
Du kan gjøre dette med følgende kommando:
sudo echo 0 >> / proc / sys / vm / swappiness sudo ekko vm.swappiness = 0 >> /etc/sysctl.conf
Start systemet på nytt for å sjekke om SWAP blir aktivert på riktig måte.
Deaktiver IPv6
Det anbefales å deaktivere IPv6 fordi det forårsaker problemer med at Internett-tilkoblingen er treg.
For å deaktivere IPv6, rediger filen "/etc/sysctl.conf".
sudo nano /etc/sysctl.conf
Rediger som beskrevet nedenfor:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
For å laste inn konfigurasjonen, kjør
sudo sysctl -p
Deaktiver IRQBALANCE
IRQBALANCE brukes til å distribuere maskinvareavbrudd på tvers av flere CPUer for å øke systemytelsen. Det anbefales å deaktivere IRQBALANCE for å unngå maskinvareavbrudd i trådene dine.
For å deaktivere IRQBALANCE, rediger "/ etc / default / irqbalance"
sudo nano / etc / default / irbalance
og endre aktivert verdi til 0:
AKTIVERT = 0
Løs opp OpenSSL heartbleed bug
Heartbleed er et alvorlig sårbarhet i OpenSSL. Det tillater en ekstern bruker å lekke hukommelsen i opp til 64k biter. Hackere kan da hente private nøkler for å dekryptere alle data som brukerens brukernavn og passord.
Den heartbleed bug ble funnet i OpenSSL 1.0.1 og er tilstede i følgende versjoner:
- 1.0.1
- 1.0.1a
- 1.0.1b
- 1.0.1c
- 1.0.1d
- 1.0.1e
- 1.0.1f
For å sjekke versjonen av OpenSSL i systemet, kjør følgende kommandoer:
sudo openssl versjon -v sudo openssl versjon -b
Dette vil utføre noe som følger:
OpenSSL 1.0.1 10. mars 2012 bygget på: ons jan 2 18:45:51 UTC 2015
Hvis datoen er eldre enn "Mon Apr 7 20:33:29 UTC 2014, " og versjonen er "1.0.1", så er systemet ditt sårbart for Heartbleed bug.
For å fikse denne feilen må du oppdatere OpenSSL til den nyeste versjonen og kjøre
sudo apt-get oppdatering sudo apt-få oppgradering openssl libssl-dev sudo apt-cache-policy openssl libssl-dev
Sjekk nå versjonen og kjøre
sudo openssl versjon -b
Dette vil utføre noe som følger:
Bygget på: Mandag 7 april 20:31:55 UTC 2014
Sikre konsollen, delt minne, / tmp og / var / tmp
Sikre konsollen
Som standard er mange terminaler aktivert i systemet. Du kan bare tillate én terminal og deaktivere de andre terminalene.
For å tillate bare "tty1" og deaktivere andre terminaler, rediger "/ etc / securetty" -filen.
sudo nano / etc / securetty
Legg til / rediger følgende linjer:
tty1 # tty2 # tty3 # tty4 # etc ...
For å sikre "/ etc / securetty" -filen, endre tillatelsen til filen og kjør følgende kommandoer:
sudo chown root: root / etc / securetty sudo chmod 0600 / etc / securetty
Sikker delt minne
Enhver bruker kan bruke delt minne til å angripe en løpende tjeneste, som apache eller httpd. Som standard er delt minne lagret / skrivet med kjørestatus.
For å gjøre det mer sikkert, rediger "/ etc / fstab" -filen.
sudo nano / etc / fstab
Legg til følgende linje:
tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0
For å gjøre endringene uten å starte på nytt, kan du kjøre
sudo mount -a
Sikker / tmp og / var / tmp
Midlertidige kataloger som / tmp, / var / tmp, og / dev / shm åpner døren for angripere for å gi plass til å kjøre skript og ondsinnede kjørbare.
Sikker / tmp-mappe
Opprett en 1 GB filsystemfil for / tmp-partisjonen.
sudo dd hvis = / dev / null av = / usr / tmpDSK bs = 1024 teller = 1024000 sudo mkfs.ext4 / usr / tmpDSK
Lag en sikkerhetskopi av gjeldende / tmp-mappen:
sudo cp -avr / tmp / tmpbackup
Monter den nye / tmp-partisjonen, og sett de riktige tillatelsene.
sudo mount -t tmpfs -o loop, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp
Kopier dataene fra sikkerhetskopieringsmappen, og fjern backupmappen.
sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup
Sett / tmp i fbtab.
sudo nano / etc / fstab
Legg til følgende linje:
/ usr / tmpDSK / tmp tmpfs loop, nosuid, noexec, rw 0 0
Test fstab-oppføringen.
sudo mount -a
Sikker / var / tmp:
Noen programvare bruker denne mappen som en midlertidig mappe, så vi bør også sikre denne.
For å sikre / var / tmp, opprett en symbolsk lenke som gjør / var / tmp peker til / tmp.
sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp /
Angi sikkerhetsgrenser og deaktiver uønskede tjenester
Angi sikkerhetsgrenser
For å beskytte systemet mot gaffelbombangrep, bør du sette opp en prosessgrense for brukerne.
For å konfigurere dette, rediger filen "/etc/security/limits.conf",
sudo nano /etc/security/limits.conf
og rediger følgende linje:
user1 hard nproc 100 @ group1 hard nproc 20
Dette forhindrer at brukere av en bestemt gruppe har maksimalt tjue prosesser og maksimerer antall prosesser til hundre til bruker1.
Deaktiver unødvendige tjenester
Mange tjenester i Ubuntu tar minne og diskplass som du kanskje trenger å bruke. Deaktivering eller fjerning av unødvendige tjenester kan forbedre systemets generelle ytelse.
For å finne ut hvilke tjenester som kjører, kjør følgende kommando:
sudo initctl liste | grep kjører
Du kan deaktivere den ved å kjøre denne kommandoen.
sudo update-rc.d -f service_name fjern sudo apt-get purge service_name
Fix Shellshock Bash-sårbarhet:
Shellshock-sårbarheten tillater hackere å tildele Bash-miljøvariabler og få uautorisert tilgang til systemet. Dette sikkerhetsproblemet er veldig enkelt å utnytte.
For å sjekke systemets sårbarhet, kjør følgende kommando:
sudo env i = '() {:;}; ekko Systemet ditt er Bash sårbar "bash-c" ekko Bash sårbarhetstest "
Hvis du ser underutgangen nedenfor, betyr det at systemet ditt er sårbart.
Systemet ditt er Bash sårbar Bash sårbarhetstest
For å løse dette sikkerhetsproblemet, kjør følgende kommando:
sudo apt-get oppdatering; sudo apt-get install - bare oppgradere bash
Hvis du kjører kommandoen igjen, vil du se:
bash: advarsel: VAR: ignorerer funksjonsdefinisjonsforsøk bash: feil importerer funksjonsdefinisjon for `VAR 'Bash sårbarhetstest
Konklusjon:
Her har vi forklart grunnleggende ting du kan gjøre for å herde Ubuntu. Du bør nå få nok forståelse av grunnleggende sikkerhetspraksis som du kan implementere på Ubuntu-serveren din. Jeg håper at dette innlegget vil være nyttig for deg.
Henvisning : Ubuntu Hardening Guide