Apache met ssl

From Frotmail Projects
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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