
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
| |