Nastavení SSL komunikace pro Apache2

Karolína

Nastavení SSL komunikace pro Apache2
« kdy: 27. 02. 2018, 13:24:23 »
Dobrý den,
hledám radu ohledně nastavení SSL. Jedná se o použití více domén na jedné IP adrese (name-based virtual hosting).
Mám 2 domény, obě jsou trvale v konfiguraci přesměrovány na protokol HTTPS a každá z nich má vlastní SSL certifikát.
Problém je, že nevím jak nastavit společnou IP adresu na kterou jsou obě domény v DNS nasměrovány. Pokud zadám http://my-ip, načte se DocumentRoot s default konfiguračního souboru, OK, ale když zadám https://my-ip, vyskočí neplatný certifikát který oznamuje, že si vystavil a podepsal certifikát sám server (neberte mě za slovo, něco v tom smyslu). Já tam ale žádnou default konfiguraci pro SSL vytvořenou nemám. Zkoušela jsem ji i vytvořit s tím, že tam dám přesměrování na HTTP, to se ale nepřesměruje, nejdřív musím pokračovat s udělením vyjimky.
Můžete mi poradit jak se to děla? Můžu to hned přesměrovat na HTTP bez toho aby šel HTTPS požadavek až do prohlížeče?
Opravdu jsem hledala nějaké řešení na webu - nic jsem nenašla :(
Děkuji všem, Karolína.



Fantomas

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #1 kdy: 27. 02. 2018, 13:39:03 »
Hledej na netu neco takoveho (a ve sve konfiguraci taky):
<VirtualHost *:80>
    DocumentRoot /home/www/moje
    ServerName moje.cz
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/home/www/moje"
ServerName moje.cz:443
SSLEngine on
SSLCertificateFile "/etc/httpd/ssl.crt/muj-net.pem"
SSLCertificateKeyFile "/etc/httpd/ssl.key/muj-net.key"
SSLCertificateChainFile "/etc/httpd/ssl.crt/muj-ca.pem"
</VirtualHost>
Jestli chces neco presmerovat, pak jedine http ma https, naopak je to hloupost.

Karolína

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #2 kdy: 27. 02. 2018, 13:51:51 »
Nějak nechápu tvoji radu, ta konfigurace co jsi poslal už nebude hlásit neověřený certifikát?

Fantomas

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #3 kdy: 27. 02. 2018, 15:35:51 »
Nějak nechápu tvoji radu, ta konfigurace co jsi poslal už nebude hlásit neověřený certifikát?
Kdyz pouzijes na serveru certifikat podepsany autoritou, kterou bude znat tvuj prohlizec, pak zadna hlaska nebude. Dva ssl hostingy na jedne ip jsou jedna vec a problematika certifikatu vec druha. Hlavne cti manualy a hledej vyresene problemy ve forech.

Karolína

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #4 kdy: 27. 02. 2018, 16:32:02 »
Já jenom, že jsem se neptala na žádné nastavení certifikátů ale na to, jak nastavit aby se HTTPS požadavek do prohlížeče vůbec nedostal. Ale to by jsi si musel můj dotaz přečíst celý a ne jen první větu a pak sem cpát nějakou přiblblou konfiguraci. Ale chápu tom, zase pitomá ženská co se sere do čeho nemá.


Lol Phirae

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #5 kdy: 27. 02. 2018, 16:38:23 »
To je opravdu šokézní, že když tam lezeš přes IP adresu místo FQDN, že to řve. Kristova noho.

David1234

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #6 kdy: 27. 02. 2018, 16:43:24 »
jak nastavit aby se HTTPS požadavek do prohlížeče vůbec nedostal.

Ty tohle přece neovlivňuješ, to ovlivňuje ten kdo zadá do prohlížeče http:// nebo https://. Prohlížeč posílá pořadavek web serveru. Web server odpovídá prohlížeči.

Ty jako webserver prostě HTTPS buď podporuješ nebo ne. Pokud HTTPS nechceš vůbec podporovat tak vypni naslouchání Apache na portu 443 a je to.

Cek

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #7 kdy: 27. 02. 2018, 17:18:09 »
Ja mam takovy pocit, ze vlastne vubec nevime co po tom serveru chces.

Kazdopadne pokud kazda z tech domen ma svoji konfiguraci se svym certifikatem, a pritom Ti vyskakuje, ze certifikat je spatny, je potreba je zkontrolovat.

Chyba muze byt v:
- tom, ze jdes na https://myserver a certifikat je vydany na myserver.mojedomena.cz
- tom, ze jdes primo na IP adresu (https://xxx.xxx.xxx.xxx), kdezto certifikaty jsou samozrejme vydane na domenove jmeno a ne na IP. Navic Te myslim presmeruje na prvni nakonfigurovany web (tohle nevim uplne jiste u Apache)
- tom, ze certifikaty jsou vydane jenom nejakou lokalni cert. autoritou, kterou nemas v duverychodnych autoritach na pocitaci

Nejde obejit kontrolu certifikatu pro presmerovani, protoze prohlizec nemuze verit tomu co mu prislo (zvlast kdyz je to presmerovani), kdyz neduveruje certifikatu.

anonym (ten pravej)

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #8 kdy: 27. 02. 2018, 17:26:27 »
"a pak sem cpát nějakou přiblblou konfiguraci. Ale chápu tom, zase pitomá ženská co se sere do čeho nemá."

Jo jsi. Ne kvuli tomu, ze jsi zenska, ale kvuli tomu, ze se chovas jak samice skota domaciho.

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #9 kdy: 01. 03. 2018, 22:01:16 »
Snažíš se o něco, co dost možná nejde. HTTPS svazuje konkrétní identifikátor (typicky doménové jméno, vzácně IP adresu) s veřejným klíčem a různými metadaty jako je doba platnosti. Ty máš certifikáty na dvě doménová  jména (tj. na dva identifikátory). Když se na HTTPS pokusíš připojit přes IP adresu (tj. přes jiný identifikátor, ke kterému nemáš certifikát), server k němu nemá žádný certifikát. Teoreticky by mohl odmítnout spojení (a uživatel by dostal hlášku, že se nepodařilo připojit), prakticky spíše server vybere jeden z certifikátů, který se použije. Je zde asi jedno, který to bude, ani jeden nebude vyhovovat a uživatel dostane hlášku o neplatném certifikátu.

Co se s tím dá dělat:

a. Najít CA, která vydá certifikát pro IP adresu. (Pak ani není potřeba přesměrovávat na HTTP.) teoreticky možné (pokud je IP adresa veřejná), prakticky se to moc nedělá a nalezení takové CA může být náročné a cena za takto unikátní službu může být vysoká.
b. Jako předchozí bod, ale s vlastní CA. To ale znamená instalovat CA na každé zařízení, odkud chcete přistupovat. To by možná šlo, když přes IP adresu tam nebude přistupovat každý BFU, ale moc to nedoporučuju. CA se pak stane riskantním místem a unikne-li její privátní klíč, lze pak těmto zařízením odposlouchávat a modifikovat provoz na všech webových stránkách. (Zjednodušeně řečeno.)
c. Pokud to trápí pár lidí (asi přístup přes IP není pro širokou veřejnost), mohou si odklepnout nevalidní certifikátválit výjimku trvale. Pak by to ale chtělo pro tu IP adresu nějaký separátní certifikát (klidně self-signed), který se nebude měnit, jinak při nejbližší změně se zobrazí varování znovu.
d. Když to není pro širokou veřejnost (hádám), jaký je vlastně problém jim říct, aby na to nepřistupovali přes HTTPS, když na to jdou přes IP adresu?

Ještě bych poznamenal, že v tak 99.99999 % případů se to prostě neřeší, protože není moc use-case, aby na to někdo šel přes IP, když má doménové jméno. Neřeší to ani třeba Google: https://172.217.23.206

Karolína

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #10 kdy: 02. 03. 2018, 03:19:07 »
Jsem ráda, že aspoň jeden návštěvník ví na co jsem se ptala. Moc děkuji. ;-)

Teoreticky by mohl odmítnout spojení (a uživatel by dostal hlášku, že se nepodařilo připojit), prakticky spíše server vybere jeden z certifikátů, který se použije.
Ano, přesně tak to funguje, vybere certifikát, který byl nakonfigurovaný jako první.

Odmítnutí spojení umí Apache taky, ale nemůžu to najít, je to již dlouho co jsem to nastavovala. Třeba sem ještě někdo zabrousí a poradí.




Jenda

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #11 kdy: 02. 03. 2018, 06:39:21 »
Odmítnutí spojení umí Apache taky, ale nemůžu to najít, je to již dlouho co jsem to nastavovala. Třeba sem ještě někdo zabrousí a poradí.
Co je to za use-case, že je tak důležité spojení odmítnout než poslat špatný certifikát nebo selhat z nějakého jiného důvodu? Jinak to co chceš bych nazval reject on sni mismatch a nepřijde mi, že by Apache něco takového uměl (nebo že by obecně uměl zavřít spojení bez poslání odpovědi na základě konfigurace).

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #12 kdy: 02. 03. 2018, 07:11:29 »
Taky tomu nerozumím. Když to odmítne spojení, uživatel se na web taky nedostane. V čem je to lepší oproti špatnému certifikátu? A kdo dnes tak nutně potřebuje přistupovat na web přes IP, má takové nutkání na začátek adresy psát "https://" , ale přitom mu nevadí, že ho to následně přesměruje na plain HTTP?

tt

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #13 kdy: 02. 03. 2018, 13:05:06 »
Citace
Můžu to hned přesměrovat na HTTP bez toho aby šel HTTPS požadavek až do prohlížeče?


Podle toho tipuju, že chce provozovat HTTP a mít funkční přesměrování z HTTPS na HTTP. Což nejde, certifikát se ověřuje dřív, než dojde k přesměrování.

Karolína

Re:Nastavení SSL komunikace pro Apache2
« Odpověď #14 kdy: 02. 03. 2018, 13:16:38 »
Když to odmítne spojení, uživatel se na web taky nedostane.
A o to přeně jde.

V čem je to lepší oproti špatnému certifikátu?
O to, že se na ten web uživatel nedostane.