Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache...

48
Webbservrar Apache httpd Linuxadministration II 1DV421 1 Thursday, August 22, 13

Transcript of Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache...

Page 1: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

WebbservrarApache httpdLinuxadministration II 1DV421

1

Thursday, August 22, 13

Page 2: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Referenslitteratur

• Administering and Securing the Apache Server

• Contributor: Appu, Ashok(Author)

2

Thursday, August 22, 13

Page 3: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Historia

• Rob McCool

• National Center for Supercomputing Applications

• Apache Group

• Version 1.0 i december 1995

3

Thursday, August 22, 13

Page 4: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Marknadsandelar

• Apache är den ledande programvaran inom webbservermarknaden

• Netcraft gjorde en undersökning i augusti där det visade sig att Apache hade 47% av marknaden

11%4%

15%

23%

47%

Apache IIS ngix Google Övriga

4

Thursday, August 22, 13

Page 5: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Om Apache

• Skapad helt i öppen källkod av programmerare över hela världen

• Klarar av de flesta serverskriptspråk, såsom PHP, ASP och CGI

• Modulbaserat

• Finns för flera operativsystem, t.ex. Windows, OS/2 och Linux

• Implementerar flera olika sätt för autentisering, däribland lösenordfiler, databaser och katalogtjänster

• 1.3, 2.0 och 2.2 är de versioner som utvecklas/underhålls

5

Thursday, August 22, 13

Page 6: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Förbättringar i Apache 2.x

• Skalbarheten

• Processer körs smidigare och mer effektivt = snabbare

• Snabbare processer = möjlighet att köra större installationer utan överbelastning

• UNIX-trådar

• Bättre stöd för icke-UNIX-baserade plattformar

• Stöd för IPv6

6

Thursday, August 22, 13

Page 7: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Vad Apache hantera?• HTML

• Bilder

• Ljud

• Animationer

• Interaktiva skript

• Säkerhetsbaserade webblösningar

• Virtuella domäner

• M.m.

7

Thursday, August 22, 13

Page 8: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Systemkrav

• Helt beroende på serverns användningsområde

• Enkel 486 till Multiprocessor

• 8MB RAM och uppåt

• 6MB hårddiskutrymme och uppåt

• Går självklart utmärkt att köra i en virtuell miljö

8

Thursday, August 22, 13

Page 9: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Hur fungerar en webbserver?1. Klienten ansluter med hjälp av en webbläsare mot webbservern

2. Webbservern letar upp filen som klienten frågar efter

3. Webbservern öppnar filen

4. Webbservern skickar filen till klienten som tar emot den i webbläsaren

1. 2.

4. 3.

Klient Webbserver Filsystem

9

Thursday, August 22, 13

Page 10: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Funktioner

• Kärnan i Apache är liten och innehåller de centrala komponenterna

• Extra funktioner byggs upp av moduler som laddas in vid uppstart

• Moduler är individuella bitar kod

• Dessa moduler kan installeras/avinstalleras allt efter behov

10

Thursday, August 22, 13

Page 11: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Moduler

• Program eller rutin som utför en speciell funktion

• Omskrivning av Apache för version 0.8.*

• Två versioner, 1.3 och 2.x

• Ej kompatibla

• Några installeras som standard vid installation

11

Thursday, August 22, 13

Page 12: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Coremoduler• core

• mpm_common

• leader

• beos, mpm_netware, mpm_os2, mpm_winnt

• perchild

• prefork

• worker

12

Thursday, August 22, 13

Page 13: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Andra moduler• mod_access

• Funktionalitet för access-restriktioner för filer

• mod_alias

• Ger möjlighet att ändra katalog där filer ligger. T.ex:

• www.kalmar.se/ikoner

• Ska inte ligga i /var/www/ikoner, utan i /home/kalle/ikoner

• Hanterar även redirects för URLs

• mod_auth

• Hanterar autentiseringsfunktionalitet

• Skickar användarinformation i klartext

• mod_auth_anon, mod_auth_dbm

• mod_digest/mod_auth_digest

• Skickar lösenord krypterade med en MD5-funktion

13

Thursday, August 22, 13

Page 14: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Andra moduler forts.• mod_dir

• Ger en avslutande / till URLs som pekar mot kataloger. T.ex.:

• www.kalmar.se/info ger www.kalmar.se/info/

• mod_info

• Ger information om alla laddade moduler och serverinställningar på URL www.servernamn/server-info

• mod_mime

• Bestämmer filtyp antingen genom att läsa av filändelsen eller genom att läsa av dess metaheaders

• mod_mime_magic

• Läser helt enkelt av de första bitarna av en fil för att kunna bestämma vad för sorts fil det är

• mod_rewrite

• Skriver om URLs on-the-fly. T.ex:

• http://mail.kalmar.se ger https://webmail.kalmar.se:8080

14

Thursday, August 22, 13

Page 15: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Andra moduler forts.• mod_speling

• Struntar i stor eller liten bokstav:

• www.kalmar.se/Products.php == www.kalmar.se/products.php

• Klarar dock bara av en felstavning per URL

• Kan inte ta hand om felstavade användarnamn, såsom www.kalmar.se/~kallE

• mod_status

• Visar information om serverns status, såsom antal processer, hur mycket data som skickats, uptime, CPU-användande m.m., på URL www.servernamn/server-status

• mod_userdir

• Tillåter användare att ha egna websidor i sina hemkataloger. Default webkatalog är public_html. Deras URL blir www.servernamn/~username

15

Thursday, August 22, 13

Page 16: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Apaches konfiguration• Konfiguration av Apache sker genom editering av dess konfigurationsfiler

• /etc/apache2/apache2.conf

• Huvudkonfigurationsfilen

• /etc/apache2/httpd.conf

• Fil för bakåtkompabilitet

• /etc/apache2/sites-avaliable/

• Virtualhost-konfigurationer

• /etc/apache2/sites-enabled/ innehåller de siter som används

• /etc/apache2/mods-avaliable/

• Modul-konfigurationer

• /etc/apache2/mods-enabled/ innehåller de moduler som används

• Konfigurationsfilerna är väldokumenterade och enkla att följa

• Många konfigurationsexempel finns på Apaches hemsida

16

Thursday, August 22, 13

Page 17: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Apaches konfiguration CentOS

• Konfiguration av Apache sker genom editering av dess konfigurationsfil

• /etc/httpd/conf/httpd.conf

• Huvudkonfigurationsfilen

• /etc/httpd/conf.d/*

• Konfigurationsfiler för vissa moduler, t.ex. mod_ssl

17

Thursday, August 22, 13

Page 18: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Apaches konfiguration forts.• Konfigurationsfilen är uppbyggd av två delar

• Serverkonfiguration

• Anger generella inställningar för webbservern, såsom servernamn, tid innan timeout och vilka portar som servern ska lyssna på

• Direktiv

• Börjar med <Direktiv> och avslutas med </Direktiv>

ServerName www.norden.netTimeOut 120Listen 80

<Directory ”/www/katalog”>…</Directory>

18

Thursday, August 22, 13

Page 19: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Serverkonfiguration• ServerName

• Anger namnet som webbservern ska använda sig av. Ofta webbserverns angivna domännamn.

• Listen

• Anger vilken/vilka portar som webbservern ska lyssna på.

• ServerRoot

• Anger roten för webbserverns konfigurationsfiler

• DocumentRoot

• Anger standardroten för webbdokumenten

• User & Group

• Anger vilka användar- och grupprättigheter som webbservern ska exekveras med

• ServerAdmin

• Anger e-postadressen för webbserveradministratören. Syns bland annat på felsidor.

19

Thursday, August 22, 13

Page 20: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Serverkonfiguration forts.• TimeOut

• Anger antal sekunder innan en anslutning får timeout

• KeepAlive

• Anger om flera förfrågningar får skickas via samma anslutning (Persistent connection)

ServerName www.norden.netListen 80ServerRoot /etc/httpdDocumentRoot /www/htmlUser apacheGroup apacheServerAdmin [email protected] 120KeepAlive off

20

Thursday, August 22, 13

Page 21: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Options• Options

• Kontrollerar vilka funktioner som tillåts i kataloger

• Options väljs bort genom att sätta ett ”–” framför dem

• Options –Indexes

• Exempel

• Options All

• Alla options är påslagna förutom MultiViews

• Options ExecCGI

• Tillåt exekvering av CGI-skript

• Options FollowSymLinks

• Tillåt symboliska länkar

• Options Indexes

• Tillåt listning av katalogers innehåll

<Directory ”/www/html/katalog”> Options Indexes FollowsymLinks -ExecCGI</Directory>

21

Thursday, August 22, 13

Page 22: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Virtuella domäner• Konfigureras med direktivet <VirtualHost>

• Flera domännamn på samma webbserver

• Används på bland annat webbhotell

• Använder samma konfigurationsparametrar som serverkonfigurationen

• ServerAlias används för att ange flera domännamn som utnyttjar samma VirtualHost

NameVirtualHost *:80<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /www/html/student ServerName student.kalmar.se ServerAlias www.student.se</VirtualHost>

22

Thursday, August 22, 13

Page 23: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

<Directory>• <Directory>

• Anger inställningar för en viss katalog

• <DirectoryMatch>

• Fungerar på samma sätt som <Directory>, men kan hantera reguljära uttryck

• Detta exempel matchar alla underkataloger till /www/ som består av tre siffror

<Directory ”/var/www/html/katalog”> Options Indexes Order allow,deny Allow from all</Directory>

<DirectoryMatch ”^/www/.*/[0-9]{3}”>…</DirectoryMatch>

23

Thursday, August 22, 13

Page 24: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

<Files>• <Files>

• Anger inställningar för vissa filer, antingen i en viss katalog eller för hela webbservern

• <FilesMatch>

• Fungerar på samma sätt som <Files>, men kan hantera reguljära uttryck

<Directory ”/var/www/html/hemligkatalog”> <Files ”\.doc”> Order allow,deny Allow from 192.168.0.1 Deny from all </Files> Options Indexes</Directory>

<FilesMatch ”\.(gif|jpe?g|png)$”>…</FilesMatch>

24

Thursday, August 22, 13

Page 25: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

<Location>• <Location>

• Anger inställningar för en viss URL

• Exemplet ovan visar specifik konfiguration för URL domän.tld/admin

• <LocationMatch>

• Fungerar på samma sätt som <Location>, men kan hantera reguljära uttryck

<Location /admin> SetHandler server-status Order deny,allow Allow from admin.kalmar.se Deny from all</Location>

<LocationMatch ”/(extra|special)/data”>…</LocationMatch>

25

Thursday, August 22, 13

Page 26: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Säkerhet• Apache tillhandahåller många säkerhetslösningar för olika ändamål

• Åtkomstkontroll

• Allow, deny

• .htaccess

• Användarverifiering

• .htaccess

• LDAP

• Krypterad överföring

• SSL

• Certifikat

• Certificate Authority

26

Thursday, August 22, 13

Page 27: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Enkel åtkomstkontroll• Order

• Anger i vilken ordning anrop ska tillåtas

• Tillåt alla anrop som standard

• Neka alla anrop som standard

• Allow from

• Anger vilka datorer, IP-adresser och domäner som får ansluta till webbservern

• Exemplet ovan anger att IP-adressen 192.168.0.1, datorn med domännamn admin.kalmar.se samt att hela 10.0-nätverket får ansluta till webbservern

Order allow, deny

Order allow, deny

Allow from 192.168.0.1 admin.kalmar.se 10.0

27

Thursday, August 22, 13

Page 28: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Enkel åtkomstkontroll forts.

• Deny from

• Anger vilka datorer, IP-adresser och domäner som nekas anslutning till webbservern

• Exemplet ovan anger att IP-adressen 165.65.74.21, datorer med huvuddomän kalmar.se samt 10.0.1-nätverket nekas anslutning till webbservern

Deny from 165.65.74.21 .kalmar.se 10.0.1

28

Thursday, August 22, 13

Page 29: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Åtkomstkontroll forts.

• Kataloger kan även skyddas med hjälp av .htaccess-filer

• Dessa filer styr vad och hur innehållet i katalogerna ska skyddas

• Kan även ange funktioner som enbart ska gälla för en viss katalog

• Bör endast användas om du inte har tillgång till webbserverns konfigurationsfil, då samma åtkomstkontroll kan uppnås genom att använda sig av direktivet <Directory>

29

Thursday, August 22, 13

Page 30: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Åtkomstkontroll forts.• För att .htaccess ska fungera måste AllowOverride vara angivet i serverkonfigurationen

• AuthConfig

• Tillåt autentiseringsfunktioner

• FileInfo

• Tillåt direktiv som behandlar dokument

• Indexes

• Tillåter direktiv som kontrollerar kataloglistning

• Limit

• Tillåt direktiv som kontrollerar åtkomst via Order, allow och deny

• Options

• Tillåt Options

30

Thursday, August 22, 13

Page 31: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Användarverifiering via .htaccess• Exempel på användarverifiering via .htaccess

• AuthType

• Anger vilken typ av autentisering som används, kan vara Basic eller Digest

• AuthName

• Anger beskrivning på det skyddade området

• AuthUserFile

• Anger vilken fil som ska användas vid användarautentisering

• AuthGroupFile

• Anger vilken fil som ska användas vid gruppautentisering

• Require

• Anger vilka användare/grupper som tillåts åtkomst

• Require user root nisse pelle

• Require group admins webbadmins

AuthType BasicAuthName "Password Required"AuthUserFile /www/passwords/user.fileAuthGroupFile /www/passwords/group.fileRequire Group admins

31

Thursday, August 22, 13

Page 32: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

.htaccess forts.• Skapande av en AuthUserFile görs via kommandot htpasswd

• När nu filen är skapad kan vi lägga till ännu en användare

• Ta bort användare

# htpasswd –c /var/passwords/user.file nisseNew password: mypasswordRe-type new password: mypasswordAdding password for user nisse

# htpasswd /var/passwords/user.file pelleNew password: mypasswordRe-type new password: mypasswordAdding password for user pelle

htpasswd –D /var/passwords/user.file pelle

32

Thursday, August 22, 13

Page 33: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

.htaccess forts.• user.file

• För att göra lösenorden säkrare kan MD5-kryptering användas

• user.file

• group.file

nisse:7Eth72.49nfGw

# htpasswd –m /var/passwords/user.file pelleNew password: mypasswordRe-type new password: mypasswordAdding password for user pelle

nisse:7Eth72.49nfGwpelle:$apr1$h52JG/..$eb6ssX6Gmgo6Cu8ROqy/q0

admins nisse pelle root

33

Thursday, August 22, 13

Page 34: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Kryptering• Kryptering används ofta för säker kommunikation

• De viktigaste anledningarna

• Konfidentialitet

• Integritet

• Autentisering

• Omöjliggöra förnekelse av överfört meddelande

• Vid kryptering används oftast en av de två vanligaste metoderna

• Symmetrisk nyckel

• Asymmetrisk nyckel

34

Thursday, August 22, 13

Page 35: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Symmetrisk nyckel

• Snabb och effektiv om enbart konfidentialitet och integritet behövs

• Vid kryptering med symmetriska nycklar innehar alla medverkande parter samma nyckel

• Detta innebär att om en utomstående part får tag i denna nyckel är inte informationen konfidentiell längre

• Klarar inte av att binda meddelande till en viss person, då alla krypterar och dekrypterar med samma nyckel

• DES och AES är exempel på symmetrisk kryptering

35

Thursday, August 22, 13

Page 36: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Asymmetrisk nyckel• Använder två olika nycklar

• En för kryptering (publik nyckel)

• En för dekryptering (privat nyckel)

• Sändaren krypterar meddelandet med mottagarens publika nyckel, och mottagaren dekrypterar meddelanden med sin privata nyckel

• Dessa nycklar kan även användas för att signera meddelandet, så att mottagaren kan verifiera vem meddelandet verkligen kommer ifrån

• Vid signering av ett meddelande signerar sändaren meddelandet med sin privata nyckel, och denna signatur verifieras sedan av mottagaren med sändarens publika nyckel

• RSA är ett exempel på asymmetrisk kryptering

• SSL och TLS bygger på RSA

36

Thursday, August 22, 13

Page 37: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Asymmetrisk kryptering

Bono Edge

Läsbar text

Edges publika nyckel Edges privata nyckel

Krypterad text Läsbar text

37

Thursday, August 22, 13

Page 38: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Asymmetrisk verifiering

Bono Edge

Originaltext

Bonos privata nyckel Bonos publika nyckel

Signerad text Verifierad text

Verifiering

38

Thursday, August 22, 13

Page 39: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

HTTPS• HTTPS är en säker version av HTTP, där all kommunikation är krypterad via antingen Secure Sockets Layer (SSL) eller

Transport Layer Security (TLS)

• SSL/TLS

• Kryptografiska protokoll som tillhandahåller säker överföring över Internet

• TLS är efterföljaren av SSL

• Används bland annat av banker, e-handel och mailtjänster

• Skyddar emot avlyssning och förfalskning av meddelanden

• Vilken grad av skydd som ges beror på hur webbservern är konfigurerad

• HTTPS använder port 443 istället för standardport 80

39

Thursday, August 22, 13

Page 40: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

HTTPS forts.

• För att Apache ska kunna använda sig av HTTPS, krävs att modulen mod_ssl är installerad och att ett certifikat skapas och signeras

• Certifikat används vid verifiering av webbplatsens äkthet

• Certifikat skapas oftast av väletablerade certifikatsutfärdare, såsom VeriSign, Thawte Consulting och VISA

40

Thursday, August 22, 13

Page 41: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certifikat• Använder en digital signatur för att koppla en publik nyckel till en identitet

• Kan användas för att verifiera att en publik nyckel är korrekt

• Ett certifikat innehåller bland annat

• Publik nyckel som signerats

• Identitet, såsom ett namn på en person, dator eller organisation

• Utfärdare

• Validitetsperiod

41

Thursday, August 22, 13

Page 42: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certificate authority

• Utfärdar och verifierar digitala signaturer

• Är oftast en betrodd enhet

• Speciell del av företaget

• Utomstående företag, såsom VeriSign och Thawte consulting

• Det är möjligt att själv skapa certifikat i Linux med hjälp av OpenSSL

42

Thursday, August 22, 13

Page 43: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certifikat forts.

• Sätta igång SSL i Apache under Ubuntu

• I CentOS läggs en fil till i /etc/httpd/conf.d som innehåller SSL-konfiguration och laddar modulen

> sudo a2enmod ssl

43

Thursday, August 22, 13

Page 44: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certifikat forts.

• Skapa nyckel

• Detta skapar en unik nyckel

• Lösenordet bör vara minst åtta tecken långt

# openssl genrsa -des3 -out server.key 1024Generating RSA private key, 1024 bit long modulus.....................++++++.................++++++ unable to write 'random state’e is 65537 (0x10001) Enter pass phrase for server.key:

44

Thursday, August 22, 13

Page 45: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certifikat forts.

• Skapa en CSR (Certificate Signing Request)

• Du kommer här att få fylla i land, företag osv.

• När detta är klart skapas CSR:en och läggs i server.csr

# openssl req -new -key server.key -out server.csr

45

Thursday, August 22, 13

Page 46: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Certifikat forts.

• Signera certifikatet

• Detta kommando skapar den signerade nyckeln

• Kopiera nu nycklarna till exempelvis följande kataloger

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

sudo cp server.crt /etc/ssl/certssudo cp server.key /etc/ssl/private

46

Thursday, August 22, 13

Page 47: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Konfigurera Apache med SSL

• Följande ska läggas till i konfigurationen för den VirtualHost du vill ha SSL-krypterad

• Du måste även lägga till att Apache ska lyssna på port 443

SSLEngine on SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key

Listen 443

47

Thursday, August 22, 13

Page 48: Webbservrar Apache httpdorion.lnu.se/.../1DV421/ht14/Forelasningar/f1/Apache.pdf• Apache tillhandahåller många säkerhetslösningar för olika ändamål • Åtkomstkontroll •

Demo

48

Thursday, August 22, 13