Apache met ssl

From Eric's wiki
Jump to: navigation, search

secure webserver op slackware met apache en mod_ssl

korte handleiding om met slackware 8.1 een secure webserver op te zetten.

Certificaat maken

Ik gebruik de minder veilige methode (unencrypted key in /etc/apache/ssl.key) zodat ik niet bij elke herstart van apache een wachtwoord in hoef te geven.

Zolang /etc/apache/ssl.key alleen door root leesbaar is vallen de risico's imho wel mee.

nodig (ik ga uit van slackware packages):

apache, 
openssh, 
mod_ssl

Even een tijdelijke werkmap maken

mkdir ssltemp
cd ssltemp

key maken:

openssl genrsa -des3 -out server.key 1024

eventueel bekijken (jeuj??)

openssl rsa -noout -text -in server.key

un-encrypted key maken zodat we straks geen password hoeven in te voeren bij het starten van apache

openssl rsa -in server.key -out server.key.unsecure

request maken van de key: er wordt wat info gevraagd, alleen de commonname is echt belangrijk: dit moet je echte hostnaam (fqdn) zijn, waaronder je site straks bereikbaar is.

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

Omdat we onze eigen key maken en niet gaan dokken moeten we ons eigen certificaat ondertekenen, hiervoor heb je een CA.

/etc/ssl/misc/CA.pl -newca

hier wordt weer wat info gevraagd, dit is dus niet voor je site, maar voor je CA.

CA.pl verwacht newreq.pem als requestnaam, ff het straks gemaakte request hernoemen:

cp server.csr newreq.pem

sign je request:

/etc/ssl/misc/CA.pl -signCA

de unencrypte key naar de goede plek:

cp server.key.unsecure /etc/apache/ssl.key/server.key

het certificaat ook:

cp newcert.pem /etc/apache/ssl.crt/server.crt

Apache configgen

zorg dat apache z'n mutex zooi kan schrijven (er van uitgaande dat apache als nobody draait) (zie ook hier)

chown nobody /var/log/apache/

Activeer de mod_ssl door in httpd.conf onderaan

#Include /etc/apache/mod_ssl.conf

te vervangen met

Include /etc/apache/mod_ssl.conf

dus dat hekje weghalen

Eventueel kan je nog extra settings aanpassen in /etc/apache/mod_ssl.conf en dan tenslotte apache herstarten

apachectl stop
apachectl startssl

et voila

https://jouw.host.naam