SSL dla serwera ISPConfig – Debian Squeeze cz.2

Mając już utworzone środowisko z serwerami www, pocztowym oraz bazodanowym możemy dodatkowo zabezpieczyć certyfikatem SSL.

Utworzymy certyfikat dla naszej domeny oraz głównej maszyny (odpowiednio example.com oraz root.example.com, jeżeli wpiszemy *.example.com certyfikat będzie dotyczył wszystkich subdomen, jednak będzie płatny).

Musimy posiadać prawa dostępu jako root.

1) Wygenerowanie CSR (Certificate Signing Request):

Domyślnie ISPConfig posiada od wersji 3.0.4 automatycznie CSR. Musimy włączyć SSL w ISPConfig (jako resseler – ISP Manager -> ISP Reseller -> Limits -> kwadracik SSL, lub jako admin).
Do wygenerowania certyfikatu użyjemy poleceń:

cd /usr/local/ispconfig/interface/ssl/

openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr
Tych dwóch rzeczy potrzebujemy, podczas generowania musimy wypełnić wszystkie potrzebne rzeczy. 
Możemy podejrzeć csr:
cat /usr/local/ispconfig/interface/ssl/ispserver.csr


2) Certyfikat SSL:

Przechodzimy  http://www.startssl.com/, musimy utworzyć nowe konta na stronie.Musimy sprawdzić na zakładce Validations Wizard  (po zalogowaniu) naszą domenę. Jeżeli test wypadnie pomyślnie możemy wygenerować certyfikat, w tym celu wybieramy kolejno: Certificates Wizard -> Web Server SSL/TLS Certificate z Certificate Target.



W kolejnym oknie klikamy na Skip:




Wygenerujemy nowy .csr:



W kolejnych krokach musimy podać naszą domenę example.com oraz subdomeny root. Na maila dostaniemy informacje o wygenerowaniu certyfikatu. Przechodzimy na Tool Box, klikamy na Continue. Na koniec dostaniemy certyfikat:


Robimy backup naszym certyfikatów oraz csr na naszej maszynie.

mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt
do pliku wklejamy wygenerowany ze strony certyfikat csr, dzięki czemu będziemy używać teraz nowego certyfikatu.

Następnie pobieramy Root CA oraz Server CA:
cd /usr/local/ispconfig/interface/ssl

wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem 

Zmieniamy nazwy:
mv ca.pem startssl.ca.crt

mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt
Część usług wymaga pliku .pem:
cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pem


3) Konfiguracja Apache’a:


vi /etc/apache2/sites-available/ispconfig.vhost

Dodajemy / podmieniamy (musimy uważać na nazwy):
# SSL Configuration

  SSLEngine On
  SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
  SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
  ## must be re-added after an ISPConfig update!!!
  SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/startssl.sub.class1.server.ca.crt
na koniec restart:
/etc/init.d/apache2 restart


4) Postfix:


cd /etc/postfix

mv smtpd.cert smtpd.cert_bak
mv smtpd.key smtpd.key_bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key
postconf -e 'smtpd_tls_CAfile = /usr/local/ispconfig/interface/ssl/startssl.chain.class1.server.crt’
restart postfix:
/etc/init.d/postfix restart

5) Dovecot:

vi /etc/dovecot/dovecot.conf
powinny znaleźć się tam poniższe wiersze:
ssl_cert_file = /etc/postfix/smtpd.cert
ssl_key_file = /etc/postfix/smtpd.key
## must be re-added after an ISPConfig update!!!
ssl_ca_file = /usr/local/ispconfig/interface/ssl/startssl.chain.class1.server.crt

restart:

/etc/init.d/dovecot restart


6) PureFTPd:

cd /etc/ssl/private/

mv pure-ftpd.pem pure-ftpd.pem_bak

ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem

restart:


/etc/init.d/pure-ftpd-mysql restart

Od teraz powinniśmy móc logować się przez https.



Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT