Konfigurowanie Apache razem z SSL
Data: 21-07-2003 o godz. 22:03:05
Temat: Konfiguracje Apache


Co zrobić jeżeli potrzebujmemy certyfikat dla naszej strony www ?

1. Możemy go sobie kupić, np. EnergoCert (koszt 800 zł za rok). Taki certyfikat ma oczywiście ogromną ilość zalet od ubezpieczeń do globalnego rozpoznawania przez wszystkie przeglądarki internetowe kończąc.
2. Możemy taki certyfikat wygenerować sami na własne potrzeby.

Aby móc cieszyć się certyfikatem dla serwera www należy wygenerować klucz prywatny oraz prośbę o certyfikat "podpisaną" przez ten klucz.
Następnie ta prośba powinna zostać, podpisana, przez odpowiednią organizację certyfikującą.
W naszym wypadku sami staniemy się organizacją certyfikującą (CA) dla siebie.
To z kolei wymaga wygenerowania klucza prywatnego dla organizacji certyfikującej oraz certyfikatu dla niej. Tym właśnie certyfikatem organizacja certyfikująca podpisuje "prośby o certyfikat" dla stron www.

Tak więc po kolei. Najpierw staniemy się organizacją certyfikującą (CA). Potrzebujemy, klucza prywatnego CA oraz certyfikatu. Nasze certyfikaty i klucze będziemy generowali do katalogu /etc/ssl.
Przystępujemy do generowania klucza CA.
cd /etc/ssl
openssl genrsa -des3 -out ca.key 1024

W ten sposób utworzyliśmy prywatny klucz, ca.key, instytucji certyfikującej. Teraz musimy sobie wygenerować właściwy certyfikat CA. Będzimy proszeni o wpisanie hasła do klucza prywatnego CA i wypełnienie poszczególnych pól.
openssl req -new -x509 -key ca.key -out ca.crt -days 3650
Parametr 3650 oznacza, że certyfikat ca.crt będzie ważny 10 lat.
Otrzymaliśmy w ten sposób plik ca.crt, który jest właściwym certyfikatem CA do podpisywania innych.
Teraz stworzymy dla naszego Apacza, klucz prywatny oraz wygenerujmy prośbę o certyfikat:
openssl genrsa -des3 -out server.key 1024

Teraz gdy mamy już klucz prywatny, pozostało wygenerować plik .csr, który później sobie podpiszemy:
openssl req -new -key server.key -out server.csr

Teraz musimy uważnie wypełnić poszczególne linijki:

Country Name (2 letter code) [AU]: Należy podać dwuliterowy kod kraju (PL)

State or Province Name (full name) [Some-State]: Należy wpisać kropkę (.) lub podać nazwę województwa

Locality Name (eg, city) []: Należy podać nazwę miasta, w którym znajduje się siedziba instytucji

Organization Name (eg, company) [Internet Widgits Pty Ltd]: Należy podać nazwę instytucji

Organizational Unit Name (eg, section) []: Należy wpisać kropkę (.) lub podać nazwę komórki organizacyjnej

Common Name (eg, YOUR name) []: Należy podać nazwę domenową serwera (bardzo ważne jeżeli nie chcemy żeby później wyietlały nam się błędy)

Email Address []: Należy wpisać kropkę

A challenge password []: Należy wpisać kropkę

An optional company name []: Należy wpisać kropkę

Podpisanie pliku .csr musimy zrobić przy pomocy skryptu znajdującego się w kodzie źródłowym mod_ssl'a
(/usr/ports/distfiles/mod_ssl-2.8.14-1.3.27/pkg.contrib/sign.sh)
Podpisujemy:

./sign.sh server.csr

Teraz musimy podać hasło klucza prywatnego CA. W zasadzie wszystko jest już OK ale przy każdym restarcie Apache będzie prosił o podanie hasła klucza prywatnego, można się tego pozbyć wykonując poniższą operację:

cd /etc/ssl/
cp server.key server.key.old
openssl rsa -in server.key.old -out server.key
chmod 400 server.key

Na koniec najważniejsze ustawienie VirtualHosta w pliku konfiguracyjnym Apache:
# General setup for the virtual host
DocumentRoot "/usr/local/katalog"
ServerName www.domena.pl
ServerAdmin admin@domena.pl
ErrorLog /var/log/httpd-error.ssl.log
TransferLog /var/log/httpd-access.ssl.log


SSLCertificateFile /usr/local/etc/apache/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/etc/apache/ssl.key/server.key
SSLCACertificatePath /usr/local/etc/apache/ssl.crt
SSLCACertificateFile /usr/local/etc/apache/ssl.crt/ca.crt

W sekcji VirtualHost dotyczącej ssl znajduje się wiele innych opcji ja zasygnalizowałem te najbardziej istotne. Po szczególy odsyłam do dokumentacji.

To w zasadzie wszystko.
Powodzenia






Artykuł jest z FreeBSD na www.malisz.eu.org
http://www.malisz.eu.org/

Adres tego artykułu to:
http://www.malisz.eu.org/5_Apache+SSL.htm