OpenSSL/Apache2 ===>>>Centos 4
2 02 2008Ostatniego czasu dostałem hasło żeby wystawić jakąś stronkę na SSL-u. Stwierdziłem że w sumie nigdy tego nie robiłem i warto by było to udokumentować…
Akurat jestem na etapie grzebania w systemie operacyjnym Centos więc na nim to wykonam.
A wiec zaczynamy najpierw od zaciągnięcia softu…
Oczywiście jako użytkownik root wykonujemy:
yum install apache openssl
Czekamy aż ściągnie i zainstaluje…
Następnie wchodzimy do /etc/httpd/conf/ssl (jeżeli nie ma to tworzymy).
Teraz możemy się zacząć bawić openssl-em.
Zaczynamy od klucza prywatnego:
openssl genrsa -des3 -out server.key 2048
Trzeba podać hasło.
Następnie tworzymy certyfikat:
openssl req -new -key server.key -out server.csr
W tym miejscu będzie trzeba podać kolejno:
>>> Country (C) - podaj dwuliterowy symbol kraju (PL).
>>> State / Province (ST) - podaj nazwę województwa.
>>> Locality (L) - podaj nazwę miasta
>>> Organization Name (O) - podaj pełną nazwę organizacji
>>> Organizational Unit (OU) - wstaw nazwę działu
>>> Common Name (CN) - Musi się tutaj znaleźć pełna nazwa DNS (hosta na którym ma być stronka)
>>> Email (Email) - adres pocztowy administratora serwera
Resztę pól możemy zignorować. Kolejnym krokiem będzie wygenerowanie certyfikatu dla naszej stronki:
openssl x509 -req -days 30 -in server.csr -signkey server.key -out server.crt
Proponuje zmienić atrybut -days na np. 360 (Żeby przynajmniej przez rok nie wygasł).
Następnie trzeba zdjąć hasełko z klucza, jeżeli tego nie zrobimy to serwer apacha przy każdym uruchomieniu będzie monitorował o podanie hasła do klucza.
cp server.key server.key.old
openssl rsa -in server.key.old -out server.key
Dla bezpieczeństwa jeszcze przydałoby się ustawić poprawne uprawnienia w katalogu /etc/httpd/conf/ssl :
chmod 400 *
Teraz trzeba dopisać kilka linijek do pliku konfiguracyjnego Apache (/etc/httpd/conf/httpd.conf).
<VirtualHost nazwa_hosta:443>
DocumentRoot “/miejsce na serwerze/”
ServerName www.serwer.com
ErrorLog /var/log//error_log
TransferLog /var/log/ssl_request_log
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/httpd/conf/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/server.key
</VirtualHost>
Teraz możemy spokojnie uruchomić serwer apacha i cieszyć sie www po SSL-u











cool