Hærdning er processen med at reducere sårbarheder og sikre et system fra mulige angrebspunkter. At reducere sårbarheder omfatter fjernelse af unødvendige tjenester, brugernavne og logins og deaktivering af unødvendige porte. I denne artikel vil vi vise dig, hvordan du kan hærde en Ubuntu-server.

Krav

Ubuntu 14.04 LTS server med Open SSH installeret.

Kom godt i gang: Opdater systemet

Det er nødvendigt at holde systemet opdateret efter installation af et hvilket som helst operativsystem. Dette vil reducere kendte svagheder, der er i dit system.

For Ubuntu 14.04 løbe følgende:

 sudo apt-get opdatering sudo apt-få opgradering sudo apt-få autoremove sudo apt-get autoclean 

Aktivér automatiske sikkerhedsopdateringer

Aktivering af automatiske opdateringer kan være meget vigtigt for at sikre din server. For at installere "uovervåget opgraderinger, " Kør

 sudo apt-get install uopdaterede opgraderinger 

For at aktivere det skal du køre følgende kommando:

 sudo dpkg-reconfigure -plad uovervåget-opgraderinger 

Dette vil oprette filen "/etc/apt/apt.conf.d/20auto-upgrades" nedenfor.

 APT :: Periodic :: Update-Package-Lists "1"; APT :: Periodisk :: Uovervåget-Upgrade "1"; 

Opret "skygge bruger" med sudo magter

Brug af en "skyggebruger" i stedet for rootkontoen er nødvendig af sikkerhedsmæssige årsager. Du kan oprette en bruger, der ikke er let for andre brugere at gætte. I denne øvelse bruger vi "maketech111" som brugernavn.

For at oprette en bruger skal du køre følgende kommando:

 sudo useradd -d / home / maketech111 -s / bin / bash -m maketech111 

For at give brugeren sudo adgang, kør følgende kommando:

 sudo usermod -a -G sudo maketech111 

For at indstille en adgangskode, kør følgende kommando:

 sudo passwd maketech111 

Bemærk: Sørg for, at din adgangskode er mindst otte tegn lang og indeholder en kompleks kombination af tal, bogstaver og tegnsæt.

Hvis du vil fjerne adgangskodeprompten for sudo, skal du redigere sudoers-filen.

 sudo nano / etc / sudoers 

Tilføj / rediger som beskrevet nedenfor.

 maketech111 ALL = (ALLE) NOPASSWD: ALLE 

Gem filen og afslut.

Deaktiver root-konto

Deaktivering af rodkontoen er nødvendig af sikkerhedsmæssige årsager.

Hvis du vil deaktivere rodkontoen, skal du bruge følgende kommando:

 sudo passwd -l root 

Hvis du skal genaktivere kontoen, skal du køre følgende kommando:

 sudo passwd -u rod 

Tilføj en SWAP-partition

Nogle Ubuntu-servere er ikke konfigureret med SWAP. SWAP bruges, når mængden af ​​total fysisk hukommelse (RAM) er fuld.

For at tjekke for SWAP-rum skal du køre følgende kommando:

 sudo swapon -s 

Hvis der ikke er nogen SWAP-fil, skal du få en følgende output.

 Filnavn Type Størrelse Brugt Prioritet 

For at oprette 4 GB SWAP-filen skal du bruge kommandoen "dd".

 sudo dd hvis = / dev / zero af = / swapfile bs = 4M count = 1000 

For at konfigurere SWAP-filen skal du køre følgende kommando:

 sudo mkswap / swapfile 

For at aktivere swapfilen skal du køre

 sudo swapon / swapfile sudo swapon -s 

Dette vil udgive som følgende:

 Filnavn Type Størrelse Brugt Prioritet / swapfil fil 4096000 0 -1 

For at aktivere det permanent, rediger filen "/ etc / fstab".

 sudo nano / etc / fstab 

Tilføj følgende linje:

 / swapfile swap swap default 0 0 

Forbedre SWAP-ydeevne

Indstil korrekt swappiness værdi for at forbedre systemets samlede ydeevne.

Du kan gøre dette med følgende kommando:

 sudo echo 0 >> / proc / sys / vm / swappiness sudo ekko vm.swappiness = 0 >> /etc/sysctl.conf 

Genstart systemet for at kontrollere, om SWAP aktiveres korrekt.

Deaktiver IPv6

Det anbefales at deaktivere IPv6, fordi det forårsager problemer med, at internetforbindelsen er langsom.

For at 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 at genindlæse konfigurationen skal du køre

 sudo sysctl -p 

Deaktiver IRQBALANCE

IRQBALANCE bruges til at distribuere hardwareafbrydelser på tværs af flere CPU'er for at øge systemets ydeevne. Det anbefales at deaktivere IRQBALANCE for at undgå hardwareafbrydelser i dine tråde.

For at deaktivere IRQBALANCE, rediger "/ etc / default / irqbalance"

 sudo nano / etc / default / irbalbalance 

og skift ENABLED-værdien til 0:

 ENABLED = 0 

Fix OpenSSL heartbleed bug

Heartbleed er en alvorlig sårbarhed i OpenSSL. Det giver en ekstern bruger mulighed for at lække hukommelsen i op til 64k biter. Hackere kan derefter hente de private nøgler til at dekryptere alle data som brugerens brugernavn og adgangskoder.

Den heartbleed bug blev fundet i OpenSSL 1.0.1 og er til stede i følgende versioner:

  • 1.0.1
  • 1.0.1a
  • 1.0.1b
  • 1.0.1c
  • 1.0.1d
  • 1.0.1e
  • 1.0.1f

For at kontrollere versionen af ​​OpenSSL i dit system, skal du køre følgende kommandoer:

 sudo openssl version -v sudo openssl version -b 

Dette vil udføre noget som følgende:

 OpenSSL 1.0.1 10 Mar 2012 bygget på: ons jan 2 18:45:51 UTC 2015 

Hvis datoen er ældre end "Mon Apr 7 20:33:29 UTC 2014, " og versionen er "1.0.1", så er dit system sårbart over for Heartbleed bug.

For at rette op på denne fejl opdaterer OpenSSL til den nyeste version og køres

 sudo apt-get opdatering sudo apt-get opgradering openssl libssl-dev sudo apt-cache politik openssl libssl-dev 

Tjek nu versionen og kør

 sudo openssl version -b 

Dette vil udføre noget som følgende:

 bygget på: ma. apr 7 20:31:55 UTC 2014 

Sikre konsollen, delt hukommelse, / tmp og / var / tmp

Fastgør konsollen

Som standard er mange terminaler aktiveret i dit system. Du kan kun tillade en terminal og deaktivere de andre terminaler.

For kun at tillade "tty1" og deaktivere andre terminaler, rediger "/ etc / securetty" filen.

 sudo nano / etc / securetty 

Tilføj / Rediger følgende linjer:

 tty1 # tty2 # tty3 # tty4 # etc ... 

For at sikre filen "/ etc / securetty" skal du ændre tilladelsen for filen og køre følgende kommandoer:

 sudo chown root: root / etc / securetty sudo chmod 0600 / etc / securetty 

Sikker delt hukommelse

Enhver bruger kan bruge delt hukommelse til at angribe en løbende tjeneste, som apache eller httpd. Som standard er delt hukommelse monteret læse / skrive med eksekutiv tilladelse.

For at gøre det mere sikkert, rediger "/ etc / fstab" filen.

 sudo nano / etc / fstab 

Tilføj følgende linje:

 tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0 

For at foretage ændringerne uden genstart kan du køre

 sudo mount -a 

Sikker / tmp og / var / tmp

Midlertidige mapper som / tmp, / var / tmp og / dev / shm åbner døren for angribere for at give plads til at køre scripts og ondsindede eksekverbare filer.

Secure / tmp mappe

Opret en 1 GB filsystemfil til / tmp-partitionen.

 sudo dd hvis = / dev / zero af = / usr / tmpDSK bs = 1024 tæller = 1024000 sudo mkfs.ext4 / usr / tmpDSK 

Opret en sikkerhedskopi af den aktuelle / tmp-mappe:

 sudo cp -avr / tmp / tmpbackup 

Monter den nye / tmp-partition, og angiv de rigtige tilladelser.

 sudo mount -t tmpfs -o loop, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp 

Kopier dataene fra backupmappen, og fjern backupmappen.

 sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup 

Indstil / tmp i fbtab.

 sudo nano / etc / fstab 

Tilføj følgende linje:

 / usr / tmpDSK / tmp tmpfs loop, nosuid, noexec, rw 0 0 

Test din fstab-indtastning.

 sudo mount -a 

Sikker / var / tmp:

Nogle software bruger denne mappe som en midlertidig mappe, så vi bør også sikre denne.

For at sikre / var / tmp, lav et symbolsk link, der gør / var / tmp punkt til / tmp.

 sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp / 

Indstil sikkerhedsgrænser og deaktiver uønskede tjenester

Indstil sikkerhedsgrænser

For at beskytte dit system mod gaffelbombangreb bør du oprette en procesgrænse for dine brugere.

For at indstille dette skal du redigere 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 brugere af en bestemt gruppe i at have maksimalt tyve processer og maksimere antallet af processer til et hundrede til bruger1.

Deaktiver unødvendige tjenester

Masser af tjenester i Ubuntu tager hukommelses- og diskplads, som du måske skal bruge. Deaktivering eller fjernelse af unødvendige tjenester kan forbedre den samlede systemydelse.

For at finde ud af hvilke tjenester der kører, skal du køre følgende kommando:

 sudo initctl liste | grep kører 

Du kan deaktivere det ved at køre denne kommando.

 sudo update-rc.d -f service_name fjern sudo apt-get purge service_name 

Fix Shell Shock Bash sårbarhed:

Shellshock sårbarheden tillader hackere at tildele Bash miljøvariabler og få uautoriseret adgang til systemet. Denne sårbarhed er meget nem at udnytte.

For at kontrollere systemets sårbarhed skal du køre følgende kommando:

 sudo env i = '() {:;}; ekko Dit system er Bash sårbar 'bash-c' echo Bash sårbarhed test " 

Hvis du ser nedenstående output, betyder det, at dit system er sårbart.

 Dit system er Bash sårbar Bash sårbarhed test 

For at rette op på denne sårbarhed skal du køre følgende kommando:

 sudo apt-get opdatering; sudo apt-get installer - kun opgradering bash 

Hvis du kører kommandoen igen, vil du se:

 bash: advarsel: VAR: ignorerer funktionsdefinitionsforsøg bash: fejl import af funktionsdefinition for `VAR 'Bash sårbarhedstest 

Konklusion:

Her har vi forklaret grundlæggende ting, du kunne gøre for at hærde Ubuntu. Du skal nu have tilstrækkelig forståelse af grundlæggende sikkerhedspraksis, som du kan implementere på din Ubuntu-server. Jeg håber, at dette indlæg vil være nyttigt for dig.

Reference : Ubuntu Hærdningsvejledning