Apache met ssl
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