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