Apple Facebook Google Microsoft badania bezpieczeństwo patronat DI prawa autorskie serwisy społecznościowe smartfony

Bezpieczeństwo w Sieci, czyli więcej o certyfikatach SSL

Porada Kei.pl 29-04-2009, 10:32

SSL - Secure Socket Layer to protokół kryptograficzny, który zapewnia bezpieczeństwo i szyfrowanie danych w Sieci. Może zostać wykorzystany w celu zabezpieczenia danych przesyłanych za pośrednictwem strony internetowej (np. numer karty kredytowej w formularzu sklepu internetowego). Zapewnia też bezpieczeństwo danych podczas wysyłania czy odbierania e-maili. Samo szyfrowanie danych to jednak tylko częściowe rozwiązanie problemu.

Jeśli na serwerze WWW zainstalowany jest certyfikat, dane są przesyłane w postaci niejawnej i osoba próbująca podsłuchać transmisję nie będzie w stanie ich odczytać. Problem leży jednak w tym, że certyfikat może sobie wystawić każdy. Jak w takiej sytuacji upewnić się że łączymy się z właściwą stroną (na przykład stroną naszego banku), a nie z serwerem który pod taką stronę się podszywa?

Rozwiązaniem gwarantującym potwierdzenie tożsamości odbiorcy jest stosowanie certyfikatów wystawionych przez zaufane centra certyfikujące. Każda przeglądarka traktuje certyfikat wystawiony przez taką organizację jako zaufany. W każdym innym przypadku pojawia się ostrzeżenie o niebezpieczeństwie.

Rodzaje certyfikatów

Obecnie na rynku istnieje ogromna różnorodność certyfikatów. Wystarczy wejść na stronę firmy zajmującej się ich sprzedażą (na przykład Thawte czy GeoTrust), aby przekonać się jak wiele produktów mamy do dyspozycji.
Certyfikaty możemy podzielić na zabezpieczające pojedynczą domenę, lub też domenę i pewną ilość jej subdomen.
Certyfikat SSL powiązany jest z konkretnym portem i adresem IP serwera. Nie ma możliwości aby na danym adresie IP i na standardowym porcie dla szyfrowanego protokołu http (port 443) został zainstalowany więcej niż jeden certyfikat. W takiej sytuacji istotne jest to, ile i jakie strony mogą z niego korzystać.

Certyfikat wystawiany na jedną domenę
Najprostszy certyfikat wydawany jest na daną, konkretną domenę - przykładowo: sklep.adresfirmy.pl. Wchodząc na adres https://sklep.adresfirmy.pl przeglądarka porównuje podany adres domenowy z domeną na jaką wystawiony jest certyfikat. W tym wypadku wszystko się zgadza, strona jest wyświetlona poprawnie. Wystarczy jednak wejść na adres https://www.adresfirmy.pl a zajdzie niezgodność i przeglądarka zgłosi istnienie problemu. Dane nadal będą przesyłane bezpiecznym, szyfrowanym kanałem, ale wyskakujący komunikat o potencjalnym niebezpieczeństwie wygląda bardzo nieprofesjonalnie.
Przybliżony koszt powyższego certyfikatu to 300 USD - 500 USD za 1 rok.

Certyfikat dot. większej ilości domen
Pewnym rozwiązaniem są certyfikaty wykorzystujące pole Subject Alternative Name w CSR do podania dodatkowych adresów domenowych, jakie dany certyfikat obsługuje. W efekcie uzyskujemy możliwość poprawnej pracy aż do czterech domen na jednym certyfikacie. Możemy więc zabezpieczyć nie tylko sklep.adresfirmy.pl, ale też www.adresfirmy.pl, poczta.adresfirmy.pl czy też tajne.adresfirmy.pl. Wszystkie adresy będą działać poprawnie, przeglądarka nie zgłosi problemu.
Decydując się na certyfikat dotyczący większej ilości domen musimy liczyć się z wydatkiem ok. 500 USD - 600 USD za 1 rok.

Certyfikaty typu wildcart
Kolejną opcją jest certyfikat typu wildcard. Jest to certyfikat wystawiany na adres *.adresfirmy.pl. W efekcie obsługiwać on będzie dowolną subdomenę tej domeny, w szczególności www.adresfirmy.pl czy cokolwiek.adresfirmy.pl. Pewnym mankamentem jest to, że strona https://adresfirmy .pl (czyli bez subdomeny) nie we wszystkich przeglądarkach będzie działała poprawnie - przeglądarka może zgłaszać błąd niezgodności adresu z domeną na jaką został wystawiony certyfikat.
Roczny koszt certyfikatu typu wildcart to 800 USD - 1200 USD

Co potrzebuję aby zabezpieczyć swoją stronę certyfikatem SSL?
(Instrukcja instalacji na przykładzie domeny adresfirmy.pl)

W celu instalacji certyfikatu konieczne jest posiadanie unikalnego adresu IP, na którym działa usługa. Jeśli posiadamy już usługę z przydzielonym adresem IP, należy przystąpić do generowania CSR (Certificate Signing Request). Konieczny jest do tego dostęp do shell'a. Użytkownicy platform e-Biznes mają możliwość wygenerować CSR samodzielnie. Każda firma sprzedająca certyfikaty, w swoim dziale pomocy powinna mieć opisaną procedurę. Interesuje nas sposób generowania certyfikatu dla serwera Apache z ModSSL i OpenSSL.

Po zalogowaniu się przez SSH jako użytkownik admin wydajemy polecenie:

openssl genrsa -out nazwadomeny.key 1024

W pliku nazwadomeny.key wygenerowaliśmy klucz prywatny. Co jest istotne, to to, aby klucz ten nie był zabezpieczony hasłem.

Kolejny krok to wygenerowanie CSR:

openssl req -new -key nazwadomeny.key -out nazwadomeny.csr

Będziemy musieli odpowiedzieć na kilka pytań:

Country Name (2 letter code) [AU]:

Nazwa kraju w standardowym kodzie - zazwyczaj będzie to Polska, czyli PL

State or Province Name (full name) [Some-State]:
Wpisujemy nazwę województwa.

Locality Name (eg, city) []:
Umieszczamy tu nazwę miasta, w którym swoją siedzibę ma ogranizacja

Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Podajemy nazwę organizacji, na którą jest wystawiany certyfikat.

Organizational Unit Name (eg, section) []:
Wpisujemy nazwę działu (pole może zostać puste)

Common Name (eg, YOUR name) []:
Podajemy domenę, na którą ma zostać wystawiony certyfikat. Jeśli ma to być sklep.adresfirmy.pl - taki Common Name podajemy. W przypadku certyfikatów typu wildcard wpisywać będziemy *.adresfirmy.pl

Email Address []:
Adres email administratora domeny.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Powyższe dodatkowe dane pozostawiamy puste. W efekcie w pliku adresfirmy.csr uzyskujemy gotowe żądanie certyfikatu, które następnie możemy wkleić do odpowiedniego formularzu na stronie firmy - sprzedawcy certyfikatu. Przykładowy wygląd CSR zaprezentowany jest poniżej. Istotnym jest aby do formularza wkleić całą zawartość pliku, łącznie z liniami BEGIN i END.

-----BEGIN CERTIFICATE REQUEST-----
MIIBmzCCAQQCAQAwWzELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx
ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAxMLZXhh
bXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANWV0m8R5dHOL4UH
JDrIwYnLlIbrpcBoFXV+Bz1+zYKiGa3mExMAs4w08NrLMZTQ3gcGwhXZtR2x9Sgr
yTerGPNFq9I2j+oGkFk61L8aMr1sRX4pMaz9rWAf1sDLHUHgX55hfi/+NA2gwiPM
Kn/fu5cfFLmNoBZ4Mo+9vMhxvAghAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQBZ
dvqPBo/pJbFPkYOOXOOjmC1LhpqHux5qJGyhcP67eYWFNXbvKZGWwEpGCGVHzZPF
BJvyw4T1UUUnzztMQ1GuWuoicTKHpP4WgbU+lajMbMpBSUuYvMHWkEpFWY55bKua
DI9hXV/KQSHjIpYmY1hmvsSVeDNHzPqxLaODwDn6Xg==
-----END CERTIFICATE REQUEST-----

Po sfinalizowaniu transakcji, otrzymujemy zawartość certyfikatu. Instalujemy go samodzielnie korzystając z zakładki Konfiguracja / Ustawienia / Certyfikaty w programie WebAs.

Aby ułatwić proces generowania CSR, programiści Kei.pl udostępnili taką możliwość z panelu Webas. Klikając na zakładkę Konfiguracja / Ustawienia / Certyfikaty przechodzimy do formularza generowania CSR, który trzeba wypełnić odpowiednimi danymi. Jego pola odpowiadają tym, które były opisywane na przykładzie generowania CSR z poziomu shell'a.

kei.pl 

Poradę dla Czytelników Dziennika Internautów przygotowała firma Kei.pl dostawca usług hostingowych.


Aktualności | Porady | Gościnnie | Katalog
Bukmacherzy | Sprawdź auto | Praca


Artykuł może w treści zawierać linki partnerów biznesowych
i afiliacyjne, dzięki którym serwis dostarcza darmowe treści.

              *              



Ostatnie artykuły:

fot. DALL-E




fot. DALL-E



fot. DALL-E