Konfiguracja 

HTTPS

Zasada

HTTPS (S z ang. „Secured” - zabezpieczony) jest połączeniem protokołów HTTP i SSL.

Umożliwia on, poprzez certyfikat uwierzytelniający, sprawdzenie identyfikacji witryny, z którą nawiązywane jest połączenie.

Jest on gwarancją poufności i integralności danych przesyłanych przez użytkownika (takich jak, np. informacje wpisywane w formularzach) i otrzymywanych przez serwer.

Uwierzytelnianie następuje poprzez wykorzystanie certyfikatu numerycznego X.509, dostarczanego przez organ certyfikujący.

Dane są szyfrowane metodą szyfrowania asymetrycznego, taką jak algorytm RSA.

Organ certyfikujący (ang. certificate authority, CA)

W kryptografii, misją organów certyfikujących (AC lub CA) jest podpisywanie, wydawanie i utrzymywanie certyfikatów - co następuje po zweryfikowaniu tożsamości użytkownika żądającego dostępu certyfikatu przez dany organ sprawdzający autentyczność tego użytkownika.

  • Verisign
  • Thawte
  • Global Sign
  • ...
Klucz prywatny RSA (server.key)

Plik klucza prywatnego RSA jest plikiem numerycznym, który może być wykorzystany przez użytkownika do odkodowywania komunikatów, jakie zostały przesłane do użytkownika.

Istnieje podobny do niego plik publiczny, który może być rozprowadzany (poprzez certyfikat), dzięki czemu użytkownicy mogą odkodowywać wysłane do nich wiadomości.

Żądanie podpisu certyfikatu (CSR)

Żądanie Podpisu Certyfikatu (CSR) jest plikiem numerycznym zawierającym klucz publiczny użytkownika oraz nazwę (imię) użytkownika.

Konieczne jest przesłanie CSR do Organu Certyfikującego (CA), który, poprzez swój podpis, przetwarza go we właściwy certyfikat.

Certyfikat (server.crt)

Certyfikat zawiera klucz publiczny RSA użytkownika, nazwę użytkownika i nazwę Organu Certyfikującego. Organ Certyfikujący podpisuje go w sposób automatyczny.

Przeglądarki, które rozpoznają dany Organ Certyfikujący, sprawdzają podpis certyfikatu i wyodrębniają klucz publiczny RSA użytkownika.

W ten sposób, mogą one wysyłać komunikaty, które mogą być odkodowane wyłącznie przez użytkownika.

Otrzymanie certyfikaty

Organ Certyfikujący, działający na zasadach komercyjnych, zazwyczaj prosi użytkownika o przesłanie CSR przez formularz sieciowy i uiszczenie opłaty za podpis, po czym przesyła podpisany certyfikat, który może zostać zapisany w pliku server.crt.

Konfiguracja serwera Apache

Plik konfiguracji protokołu SSL generowany jest na serwerze Apache podczas instalacji serwera X3WEB.

  • Ścieżka: WebTools\SOFTS\HTTPD\conf\extra\httpd-ssl.conf
  • Katalog WebTools jest definiowany podczas instalacji serwera X3WEB

# Certyfikat Serwera:
SSLCertificateFile 'C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.crt'

# Klucz Prywatny Serwera:
SSLCertificateKeyFile 'C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.key'

Pliki certyfikatu (.crt) i klucza prywatnego (.key) są zlokalizowane w:

  • WebTools\SOFTS\HTTPD\conf\server.crt
  • WebTools\SOFTS\HTTPD\conf\server.key

Dostępne domyślnie pliki server.crt i .key są plikami testowymi są dostarczane przez fundację Apache.

Plik server.crt nie jest certyfikowany przez Organ Certyfikujący, przez co nie jest rozpoznawany (zatwierdzany) przez przeglądarki.

Chcąc prawidłowo skonfigurować protokół SSL, użytkownik musi wygenerować plik klucza prywatnego (server.key), przesłać żądanie otrzymania certyfikatu (server.crt) do Organu Certyfikującego, a następnie zastąpić istniejące pliki zachowując te same nazwy.

W przypadku instalacji poprawek na serwerze X3WEB, pliki server.crt i server.key powinny być zapisane i skopiowane po zainstalowaniu poprawki.

Tworzenie testowego certyfikatu Verisign

Organ certyfikujący Verisign (http://www.verisign.fr) oferuje darmowy certyfikat SSL dostępny przez ograniczony zakres czasu.

Poniższy akapit przybliża procedurę mającą na celu:

  • utworzenie klucza prywatnego i Żądania Podpisu Certyfikatu (CSR) przy użyciu narzędzi OpenSSL
  • otrzymanie certyfikatu testowego od Verisign.

Więcej informacji dostępnych jest w instrukcji opracowanej przez Verisign.
http://www.verisign.fr/support/ssl-certificate-support/page_fr_fr_dev019500.html

1 - Instalacja OpenSSL

Narzędzie « openssl » (http://www.openssl.org) może służyć do wygenerowania klucza i Żądania Podpisu Certyfikatu (CSR).

Pobierz OpenSSL (dla Windows).
http://www.openssl.org/related/binaries.html

1. Zainstaluj „Visual C++ 2008 Redistributables”

2. Zainstaluj „Win32 OpenSSL v0.9.8j Light' oo 'Win64 OpenSSL v0.9.8j Light”

3. Wprowadź polecenie \OpenSSL\Bin\openssl.exe

2- Generowanie klucza prywatnego

openssl genrsa -des3 1024 > verisign.key

Patrz dokumentacja genrsa
http://www.openssl.org//docs/apps/genrsa.html

3- Generowanie Żądania Podpisu Certyfikatu

openssl req -new -key verisign.key verisign.csr

Patrz dokumentacja genrsa
http://www.openssl.org//docs/apps/genrsa.html

1. Wprowadź hasło klucza prywatnego

2. Wprowadź informacje na temat certyfikatu

Wprowadź nazwę W Pełni Kwalifikowanej Nazwy Domeny (FQDN) serwera w sytuacji gdy OpenSSL zapyta o Nazwę Wspólną (np. nazwa UŻYTKOWNIKA).

Jeżeli użytkownik generuje CSR dla witryny o następującym adresie URL: https://www.mysite.com/, w takiej sytuacji FQDN będzie www.mysite.com

Aby móc korzystać z certyfikatu dla W Pełni Kwalifikowanej Nazwy Domeny, należy go, zazwyczaj, zakupić.

Generowanie certyfikatu podpisywanego automatycznie

Certyfikat taki nie musi zostać podpisany przez organ certyfikujący, nie jest on jednak rozpoznawany przez przeglądarkę. Użyj następującego polecenia:

openssl req -x509 -key verisign.key -in verisign.csr > verisign.crt

4- Żądanie certyfikatu

Otwórz następujący adres URL: http://www.verisign.fr/ssl/index.html i kliknij „Free trial” („Darmowa wersja próbna”)

1. Wypełnij formularz wniosku o certyfikat

2. Wypełnij formularz kontaktu Technicznego

3. Wypełnik formularz certyfikatu

      • Wybierz „Apache server” („Serwer Apache”)
      • Otwórz plik CSR (verisign.csr) za pomocą edytora tekstu i skopiuj jego zawartość
      • Wklej tę zawartość w okienko tekstowe
      • Zaznacz użycie Serwera WEB i zatwierdź wybór
      • Wprowadź i zatwierdź hasło certyfikatu

5. Certyfikat musi być wysłane przez email

6. Po otrzymaniu certyfikatu

      • Skopiuj tekst certyfikatu znajdujący się
        pomiędzy wierszami -----BEGIN CERTIFICATE---- a -----END CERTIFICATE-----
      • Otwórz Notepad(++) i wklej certyfikat
      • Zapisz plik z rozszerzeniem .crt (verisign.crt)

Skopiuj pliki verisign.key i verisign.crt i zachowaj hasła.

5- Instalacja certyfikatu

Skopiuj/zastąp pliki verisign.key i verisign.crt pod server.key i server.crt w katalogu WebTools\SOFTS\HTTPD\conf\ .

Parametry konfiguracji

X3Web

Aplikacje XTEND korzystają z portu HTTPS.

Upewnij się, że parametry konsoli ALL.Apache.APACHESSL aktywujące tryb SSL serwera Apache mają wartość yes (tak)

Porty HTTP i HTTPS umożliwiające dostęp do aplikacji XTEND podane są przez parametry xtend.server.gensetup.http.defhttpport i xtend.server.gensetup.http.defhttpsport.

Konieczne jest wprowadzenie tych parametrów.

XTEND

Tabela ta wyświetla te parametry konfiguracji serwera XTEND, które są dostępne z poziomu konsoli (ustawienia zaawansowane).

Parametr

Wartość domyślna

Opis

xtend.session.trace.xtend

off

Log sesji XTEND

xtend.session.trace.httpreq

off

Log zapytań HTTP

xtend.session.trace.wsvc

off

Log usług sieciowych

xtend.session.wait.timeout

1500

Limit czasu oczekiwania, w ms, na zapytanie XTEND jeżeli sesja jest zajęta (na przykład, przetwarzaniem innego zapytania).

xtend.server.data.localpath

/data/local

Alias http dla dostępu do zasobów lokalnych serwera X3WEB (patrz: httpd.conf)

xtend.server.data.protectdir

x_protect

Identyfikacja chronionych folderów XTEND

xtend.server.reposit.local

off

Lokalizacja słownika XTEND i innych danych xml publikowanych przez XTEND
Włączone: Serwer lokalny X3WEB
Wyłączone: w sposób zdalny na serwerze X3

xtend.server.menux3.local

off

Lokalizacja menu X3 (patrz: xtend.server.reposit.local)

xtend.server.x3httpsrv.secured

off

Protokół http/https dla serwera Http rozwiązań
Włączone: wymaga ręcznego aktywowania trybu ssl na serwerze Http rozwiązania

xtend.server.x3httpsrv.readtimeout

30000

Limit czasu oczekiwania (w ms) na odczyt zasobów z serwera Http rozwiązania

xtend.server.x3httpsrv.cnxtimeout

30000

Limit czasu oczekiwania (w ms) na połączenie z serwerem Http rozwiązania

xtend.server.activitylog.level

1

Raportowanie aktywności - Poziom logu - 0: wyłączone -1: Normalne - 2: Tryb opisowy

xtend.server.activitylog.filenumber

10

Raportowanie aktywności - Liczba logów

xtend.server.activitylog.filesize

10000000

Raportowanie aktywności - Rozmiar logu w oktetach

xtend.server.virtualpath.context

/xtend

Ścieżka aplikacji sieciowej XTEND

xtend.cxtdtracesvc.trace.server.host

Nazwa hosta serwera logu

xtend.cxtdtracesvc.trace.server.port

1515

Port TCP serwera logu

xtend.cxtdtracesvc.tracesvc.canal.level

9

Poziom serwera logu

xtend.cxtdtracesvc.tracesvc.canal.name

SXTD

Gotowość serwera logu

xtend.cxtdtracesvc.tracesvc.canal.on

off

Aktywny log

xtend.cxtdtracesvc.tracesvc.on

off

Aktywny log

xtend.server.gensetup.defsite.x3sol

Domyślny kod rozwiązań X3, jeżeli nie został podany w adresie URL

xtend.server.gensetup.defsite.x3fldr

Domyślny kod folderu X3, jeżeli nie został podany w adresie URL

xtend.server.gensetup.defsite.xtdsite

Domyślny kod witryny XTEND, jeżeli nie został podany w adresie URL

xtend.server.gensetup.defcharset

Domyślny kod języka XTEND, jeżeli nie został podany w adresie URL

xtend.server.gensetup.http.defhttpport

28880

Port HTTP serwera XTEND

xtend.server.gensetup.http.defhttpsport

28443

Port HTTPS serwera XTEND

xtend.server.gensetup.http.cookie.sess.persist

on

Trwałość plików cookie na stacji roboczej użytkownika (włączone/wyłączone)

xtend.server.gensetup.http.cookie.disabled

off

Wskazuje, czy XTEND ma pracować bez plików cookie
W takim przypadku, ID sesji jest udostępniane we wszystkich adresach URL
Pliki ASESSSWITCHCOOKIES dla czynności użytkownika wykorzystywane są do przeładowywania parametru

xtend.server.gensetup.http.session.timeout


60


Maksymalny czas bezczynności sesji TOMCAT
Jeżeli nastąpi opóźnienie, sesja jest niszczona a wszystkie dane zostają utracone
Nie należy mylić tego parametru z parametrem TimeOut (limitem czasu oczekiwania) sesji XTEND wprowadzonego w rekordzie „web site” („witryna”), który rozłącza użytkownika w celu wymuszenia zalogowania przy następnym połączeniu.

xtend.server.gensetup.http.askreferer

on

Zapytanie o określony http, jeżeli nie jest ono wyświetlone w nagłówkach http
Wykorzystywane do zarządzania dostępem do XTEND przez „odwrócone proxy”

xtend.server.gensetup.proxies.hosts

Nazwy hostów dla odwróconych proxy mających dostęp do XTEND - nazy oddzielone „pustymi polami”

xtend.server.gensetup.proxies.portshttp

Porty HTTP dla odwróconych proxy mających dostęp do XTEND - nazy oddzielone „pustymi polami”

xtend.server.gensetup.proxies.portshttps

Porty HTTPS dla odwróconych proxy mających dostęp do XTEND - nazy oddzielone „pustymi polami”

xtend.server.gensetup.html.req.charset



utf-8



Odkodowanie odpowiedzi http (wykorzystywane do kodowania pól wprowadzania danych)
If !=null
-> Wymusza kodowanie request.setCharacterEncoding('CharSet')
-> Wymusza atrybut 'Accept-Charset'='CharSet' formularza znacznika
-> Wymusza obecność znacznika <meta http-equiv='Content-Type' content='text/html; charset=CharSet'>

xtend.server.gensetup.html.resp.charset

utf-8

Kodowanie odpowiedzi HTTP

xtend.server.gensetup.html.chunked

off

włączone: w celu aktywowania trybu „chunked” (w porcjach)
Uwaga: tryb chunk nie może wyć wykorzystywany do wyświetlania stron z komunikatem o błędzie

xtend.server.gensetup.html.buffersize

0

Rozmiar buforu dla odpowiedzi http

xtend.server.gensetup.misc.rtnstacksize

20

Maksymalna liczba elementów w kolejce stron w celu zarządzania czynnością powrotu (ADLKRETURN)

xtend.server.gensetup.defcharset


CP1252


Domyślny zestaw znaków dla odczytu zasobów tekstowych (domyślny zestaw znaków platformy)
Projekt HTML jest często tworzony w systemie Windows i przesyłany do X3
Jeżeli pliki HTML nie posiadają znaku BOM (Byte Order Mark), nie powinno być możliwe wymuszenie zestawu znaków w celu odkodowania zawartości tych plików
niezależnie od systemu operacyjnego, na jakim działa X3WEB.