Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Zabezpečení Domino HTTP

Podobné prezentace


Prezentace na téma: "Zabezpečení Domino HTTP"— Transkript prezentace:

1 Zabezpečení Domino HTTP
Josef Honc, M-COM

2 Hlavní partneři a prezentátoři

3 Zabezpečení domino HTTP serveru
Základní typy útoků a ochrana proti nim Přístup k serveru Komunikační protokoly

4 Základní typy útoků Znemožnění poskytování služby (DoS)
Přetížení pomocí DDoS, případně zneužití zranitelnosti služby nebo protokolu Získání neoprávněného přístupu k serveru resp. datům Uživatelské přístupové údaje – jméno, heslo, session cookie Zachycení a následné dešifrování přenášených dat Cookie: Zneužití zranitelností služeb, starších šifrovacích protokolů a algoritmů (CRIME, BEAST/Lucky13, BREACH, Heartbleed, Poodle) Heslo: Social engineering, Phishing, brute force

5 Jak se proti útokům chránit
Aktualizace Nastavení „Best Practices“ Testování

6 Zabezpečení přístupu k serveru
Enforce server access settings Use more secure Internet Passwords Internet password lockout Ochrana internetových hesel pomocí xACL Vynucení složitosti internetových hesel Nastavení cache pro změnu HTTP hesla

7 Enforce Server Access Settings

8 Use more secure Internet Passwords

9 Use more secure Internet Passwords

10 Use more secure Internet Passwords

11 Internet password lockout

12 Ochrana internetových hesel pomocí xACL
Configuring xACLs to protect Internet Password fields in the Domino Directory

13 Vynucení složitosti internetových hesel
Od verze za podmínek: ID Vault – včetně povolení pro iNotes UserID uloženo v poštovní databázi Heslo je změněno pomocí uživatelských předvoleb v iNotes How to implement a Custom Password Policy for iNotes users

14 Nastavení cache pro změnu HTTP hesla
HTTP server udržuje v platnosti staré heslo 48 hod Cache nastavena z důvodu konsistence při replikaci Notes.ini: HTTP_Pwd_Change_Cache_Hours=0 Can the time in which a changed Internet password is cached ever be modified

15 Zabezpečení přenosové vrstvy
Kryptografické protokoly Šifrovací algoritmy Optimalizace nastavení HTTP serveru

16 Kryptografické protokoly
Domino podporuje nativně pouze SSL 3.0 (SSL2.0 standardně deaktivován) Podpora pro TLS1.0 v 9.0.1FP2HF384 (vydán ) IBM HTTP Server podporuje TLS 1.2 (Domino 9.0.x Windows) Defined Protocol Year SSL 1.0 n/a SSL 2.0 1995 SSL 3.0 1996 TLS 1.0 1999 TLS 1.1 2006 TLS 1.2 2008 TLS 1.3 TBD https://www.trustworthyinternet.org/ssl-pulse/ https://en.wikipedia.org/wiki/Transport_Layer_Security

17 Šifrovací algoritmy

18 Výchozí konfigurace Domino
SSL 3.0 Selfsigned certifikát pomocí certsrv.nsf (512b public key, MD5 hash) Výchozí šifrovací algoritmy

19 Test konfigurace SSL

20 Platný certifikát 2048 bit SHA1

21 Povolení silnějších šifer

22 Povolení silnějších šifer

23 SSL_DISABLE_RENEGOTIATE=1
Zakázání insecure renegotiation pomocí parametru SSL_DISABLE_RENEGOTIATE=1 v notes.ini na domino serveru

24 9.0.1 FP2IF1 Výchozí konfigurace domino (bez úprave) jen s důvěryhodným certifikátem a výchozími středními šiframi (slabé šifry jsou po instalaci fixu implicitně zakázány)

25 9.0.1 FP2IF1 – silnější šifry Po povolení silnějších šifer (AES) – slabé šifry jsou po instalaci fixu implicitně zakázány Lepší nastavení není možné, nelze kompletně vypnout SSLv3, aktivovat Forward Secrecy nebo Strict Transport Security

26 Podpora SHA-2 v Notes/Domino 9.x
Domino FP2 IF1 / Domino 9.0 IF6 Notes FP2 IF2 Kyrtool (KYRTool_9x_ClientServer) – import klíču a certifikátů z PEM do KYR Planned SHA-2 deliveries for IBM Domino 9.x

27 IBM HTTP server + Podpora TLS1.2 Založen na Apache 2.2.8
Součástí Domino 9.0.x na OS Windows Nepodporuje Perfect Forward Secrecy Is it possible to run IBM HTTP Server (IHS) on the same computer as a Domino server?

28 IBM HTTP Server

29 IBM HTTP server

30 Konfigurační úpravy v domino.conf
LoadModule rewrite_module modules/mod_rewrite.so RewriteEngine on #presmerovani HTTP na HTTPS RewriteCond %{SERVER_PORT}=80 RewriteRule ^(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R,L] #zakazani metod TRACK a TRACE RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] RewriteCond %{REQUEST_METHOD} ^TRACK <VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2 SSLProtocolDisable SSLv3 #nastaveni HSTS Header always set Strict-Transport-Security "max-age= ; includeSubDomains„ # preferovane sifrovaci alogoritmy SSLCipherSpec ALL NONE SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_GCM_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_256_GCM_SHA384 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_CBC_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_256_CBC_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_CBC_SHA SSLCipherSpec ALL TLS_RSA_WITH_AES_256_CBC_SHA SSLCipherSpec ALL SSL_RSA_WITH_3DES_EDE_CBC_SHA </VirtualHost> KeyFile c:\IBM\Domino\ihs\sutol2.kdb SSLDisable Kompletní vypnutí SSLv3, komunikace je výhradně protokoly TLSv1.0 a vyšší

31 IBM HTTP server

32 Alternativní řešení reverzní proxy
Apache HTTP server Nginx Pound Reverse proxy

33 Nginx - default

34 Nginx – po ladění Po zapnutí Strict Transport Security.
Kompletní konfigurace nginx, pozor tato je z windows, což produkčně nedoporučuju. #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen :80; server_name sutol2.m-com.cz; server_tokens off; access_log logs/sutol2_http.log main; location / { return 301 https://$host$request_uri; proxy_set_header Host $http_host; error_page /err/50x.html; location /err { root c:/nginx/html; # HTTPS server # listen :443; server_name sutol2.m-com.cz.cz; access_log logs/sutol2.log main; ssl on; ssl_certificate sutol2.crt; ssl_certificate_key sutol2.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; # podpora RC4 pro starší klienty, kteří nic lepšího neumí (XP, IE6) # ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4"; ssl_prefer_server_ciphers on; # silnejsi DH parametry – nutno vygenerovat pomoci OpenSSL ssl_dhparam dhparam.pem; # Enable HSTS (HTTP Strict Transport Security) add_header Strict-Transport-Security "max-age= ;includeSubDomains"; proxy_next_upstream off; proxy_redirect off; proxy_buffering off; client_max_body_size 20M; client_body_buffer_size 128k; #proxy_set_header X-Forwarded-Host $host; #proxy_set_header X-Forwarded-Server $host; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass # redirect server error pages to the static page /50x.html location /err {

35 Vyšší zabezpečení Domino HTTP
Zakázání metod TRACE: HTTPDisableMethods=TRACE Skrytí identifikace HTTP serveru: DominoNoBanner=1

36 Zabezpečení Session Cookie

37 Děkujeme za pozornost M-COM s.r.o. Josef Honc
Web:


Stáhnout ppt "Zabezpečení Domino HTTP"

Podobné prezentace


Reklamy Google