Üdv (és elnézést, ha nem jó a kérdésem :)..
Az a krérdésem, hogy lehet az, hogy egy virtualhost -ban beállított SSL kulcsot és tanúsítványt nem hajlandó használni az apache, hanem helyette mindig az /etc/httpd/conf /ssl.conf -ban szerver fő domainhez beállítottakat veszi elő? Mit tudnék tenni, hogy a virtualhostokban beállítottakat használja a megfelelő domainekhez?
Köszönöm a lehetséges válaszokat:
A.
- 5844 megtekintés
Hozzászólások
Támogat az Apache több ssl tanusítványt? Mikortól? Hol írnak erről?
Ha nem akkor a válasz az ami.
covek@covek.hu
- A hozzászóláshoz be kell jelentkezni
Akkor nem is lehet megcsinálni, hogy az egy vason futó józsika.hu meg a ferike.hu különböző tanúsítványokat használjanak? :(
- A hozzászóláshoz be kell jelentkezni
De meglehet, masik porton vagy tobb IP cimmel.
Yndy
- A hozzászóláshoz be kell jelentkezni
kicsit gondold at a folyamatot:
kliens 443-as porton felveszi a kapcsolatot a szerverrel, megbeszelik a titkositast, ha megvan akkor a kliens elkuldi (a mar titkos csatornan) a http headeret (amiben a vhost neve van). na most akkor szerinted lehet?
illetve lehet, joszi.hu es feri.hu mas-mas ipn van. akkor iphez kotod a ssl kulcsokat.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Korlatokkal meg lehet csinalni:
2 megoldas jelenleg
- egy domain eseteben:
subjozsika.maindom.ain, subferike.maindom.ain felallasban,
azaz ha azonos domain szervereirol van szo, akkor lehet
wildcard tanusitvanyt hasznalni: CN=*.maindom.ain
- kulonbozo domainok eseteben:
hasznalhato subjectAltName kiterjesztes,
ekkor dNSName ertekben fel kell sorolni az osszes virtualhost
CN=www.jozsika.hu, CN=www.ferike.hu FQDN-eket.
DE ez esetben ujabb virtualhost, ujabb tanusitvany igennyel jar (draga lehet)
+1 bonusz megoldas uj szoftverekkel
- kulonbozo domainek eseteben:
- Apache2.2 es OpenSSL0.9.9 DEV! hasznalataval megoldhato,
DE a bongeszok jelentos resze nem tamogatja.
Opera, IE7+ (vista verzio :o), FF2+ tamogatas van.
(TLS kiterjesztes, ekkor a virtualhost FQDN-t meg SSL nelkul elore kuldi a bongeszo)
- A hozzászóláshoz be kell jelentkezni
köszönöm a válaszokat, inkább maradok az egyetlen (általam aláírt :) tanúsítványnál, végülis a titkosítás a lényeg, még ha szépséghibával megy is.
- A hozzászóláshoz be kell jelentkezni
www.cacert.org esetleg.
covek@covek.hu
- A hozzászóláshoz be kell jelentkezni
"- Apache2.2 es OpenSSL0.9.9 DEV! hasznalataval megoldhato,"
hogyan?
- A hozzászóláshoz be kell jelentkezni
Ha name based vhostokat használsz, csak egy certed lehet.
ip based esetén lehet több, minden domainhoz egy.
--
Ami elől menekülnek, az után szaladnak.
- A hozzászóláshoz be kell jelentkezni
Mint feljebb irtam megoldhato.
Itt egy pelda Apache2.2 es mod_gnutls hasznalataval.
A mod_gnutls kb. 2005-ota nyujtja ezt ;)
Latszik, hogy apache es apache2 szerver azonos porton es cimen
(172.16.1.11:443) erheto el.
Nem latszik, de azonos szerver virtualhostjai.
Barmelyik virtualhostot megszolitva a sajat certjet kuldi.
A peldaban ugyan azonos domain szerverei, de erre nem epitek,
mivel a fennt vazolt megoldasok kozul az utolsot hasznalom.
Lasd: Server Name Indication http://www.ietf.org/rfc/rfc3546.txt
Egyik VHost:
rka@rkanote:~$ gnutls-cli --x509cafile work/CA/ca-cert.pem apache.rka.local
Processed 1 CA certificate(s).
Resolving 'apache.rka.local'...
Connecting to '172.16.1.11:443'...
- Certificate type: X.509
- Got a certificate list of 1 certificates.
- Certificate[0] info:
# The hostname in the certificate matches 'apache.rka.local'.
# valid since: Wed Sep 12 18:20:47 CEST 2007
# expires at: Thu Sep 11 18:20:47 CEST 2008
# fingerprint: 36:42:7A:43:E6:18:07:7A:5B:B2:24:1B:55:3B:59:75
# Subject's DN: C=HU,ST=Pest,O=rka.hu,OU=Local Servers,CN=apache.rka.local
# Issuer's DN: CN=RKA CA,C=HU,ST=Pest,L=Budapest,O=rka.hu,EMAIL=cacert@rka.hu
- Peer's certificate is trusted
- Version: TLS 1.1
- Key Exchange: DHE RSA
- Cipher: AES 256 CBC
- MAC: SHA
- Compression: DEFLATE
- Handshake was completed
- Simple Client Mode:
Masik VHost:
rka@rkanote:~$ gnutls-cli --x509cafile work/CA/ca-cert.pem apache2.rka.local
Processed 1 CA certificate(s).
Resolving 'apache2.rka.local'...
Connecting to '172.16.1.11:443'...
- Certificate type: X.509
- Got a certificate list of 1 certificates.
- Certificate[0] info:
# The hostname in the certificate matches 'apache2.rka.local'.
# valid since: Wed Sep 12 17:36:58 CEST 2007
# expires at: Thu Sep 11 17:36:58 CEST 2008
# fingerprint: C5:0D:87:64:E0:05:F4:A3:11:29:16:50:4A:1B:30:01
# Subject's DN: C=HU,ST=Pest,O=rka.hu,OU=Local Servers,CN=apache2.rka.local
# Issuer's DN: CN=RKA CA,C=HU,ST=Pest,L=Budapest,O=rka.hu,EMAIL=cacert@rka.hu
- Peer's certificate is trusted
- Version: TLS 1.1
- Key Exchange: DHE RSA
- Cipher: AES 256 CBC
- MAC: SHA
- Compression: DEFLATE
- Handshake was completed
- Simple Client Mode:
- A hozzászóláshoz be kell jelentkezni
Köszi a tippet, ezt végképp nem tudtam. Ezek szerint mégsem volt akkora hülyeség a kérdésem.
Én is találtam a fedorához egy jó tesztet és leírást erről:
http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual…
A.
- A hozzászóláshoz be kell jelentkezni
okeoke, lassits... ;) Honnan a busbol fogja tudni a browser hogy nem SSL hanem TLS a kovetendo protokoll? Es egyaltalan milyen browserek tudnak TLS-t HTTP-n?
- A hozzászóláshoz be kell jelentkezni
Opera 7.60+, IE7.0b2+ (vista), FF2.0+,
( Konqueror4.0+ :o)
Onnan tudja, hogy beallitod kis checkboxban a TLS1-et es SSL3.0-t,
ha jot akarsz magadnak tiltod az SSL2.0-t es SSL1.0-t.
Ha pedig egy browser megsem TLS-sel jon, hanem mondjuk SSL3.0-val,
akkor az elso _default_ tanusitvanyt fogja kapni, mint eddig is:
# The hostname in the certificate does NOT match 'apache.rka.local'.
# Subject's DN: C=HU,ST=Pest,O=rka.hu,OU=Local Servers,CN=apache2.rka.local
- Peer's certificate is trusted
rka@rkanote:~$ gnutls-cli --protocols SSL3.0 --x509cafile work/CA/ca-cert.pem apache.rka.local
Processed 1 CA certificate(s).
Resolving 'apache.rka.local'...
Connecting to '172.16.1.11:443'...
- Certificate type: X.509
- Got a certificate list of 1 certificates.
- Certificate[0] info:
# The hostname in the certificate does NOT match 'apache.rka.local'.
# valid since: Wed Sep 12 17:36:58 CEST 2007
# expires at: Thu Sep 11 17:36:58 CEST 2008
# fingerprint: C5:0D:87:64:E0:05:F4:A3:11:29:16:50:4A:1B:30:01
# Subject's DN: C=HU,ST=Pest,O=rka.hu,OU=Local Servers,CN=apache2.rka.local
# Issuer's DN: CN=RKA CA,C=HU,ST=Pest,L=Budapest,O=rka.hu,EMAIL=cacert@rka.hu
- Peer's certificate is trusted
- Version: SSL 3.0
- Key Exchange: DHE RSA
- Cipher: AES 256 CBC
- MAC: SHA
- Compression: DEFLATE
- Handshake was completed
- Simple Client Mode:
- A hozzászóláshoz be kell jelentkezni
en is korbejartam ezt a kerdest par honapja. kurvara nem vagjak a bongeszok meg a tls-t sajnos. vagyis az sni-t konkretan.
en nem eroltetnem meg nagyon a dolgot, bar van keznel konfigfileom, h szukseg eseten atallhassak tls-re.
ha a site celkozonsege a haveri kor, akkor pl biztos lehetek benne, h modern bongeszoik vannak es ekkor nem altallok tls-t csinalni.
amugy mintha stabilitasi gondjaim azert lettek volna a cuccal, de lehet h csak apache eseten, lighttpd-vel ment rendesen? mar nemtom.
amugy google: sni "browser support"
feed://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-…
Unfortunately SNI support in browsers is limited to these:
Firefox 2, IE 7 on Vista, Opera 7.6+ and other modern browsers.
(http://weblogs.mozillazine.org/gerv/archives/2007/08/virtual_hosting_ss…)
IE 6, lynx, safari and the like are not supported.
(http://wiki.cacert.org/wiki/VhostTaskForce#head-7236c4e2c9932ef42056b3f…)
- A hozzászóláshoz be kell jelentkezni
Ha "NameBased SSLVhost"-ot használsz, csak egy tanúsítványod lehet, ha "IPBased SSLVhost"-ot használsz lehet hosztonként egy, DE ha a vhostok beállításain kívül van megadva SSL beállítás, akkor az ott megadott tanúsítványt fogja használni (és csak azt) az apache. Ez egyébként az apache dokumentációban is le van írva.
Én abból egy ilyet csináltam:
##
# https://test.nemtom.hu/
##
NameVirtualHost 192.168.2.248:80
<VirtualHost 192.168.2.248:80>
ServerAdmin pita@test.nemtom.hu
ServerName test.nemtom.hu
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} test\.nemtom\.hu [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
ErrorLog /var/log/apache2/nemtom.error.log
LogLevel alert
CustomLog /var/log/apache2/nemtom.access.log combined
</VirtualHost>
NameVirtualHost 192.168.2.248:443
<VirtualHost 192.168.2.248:443>
ServerAdmin pita@test.nemtom.hu
ServerName test.nemtom.hu:443
SSLEngine on
SSLCertificateFile /etc/ssl/certs/test.nemtom.hu.cert.pem
SSLCertificateKeyFile /etc/ssl/private/test.nemtom.hu.key.pem
SSLCACertificateFile /etc/ssl/certs/cacert.pem
SSLVerifyClient none
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
#SuexecUserGroup crm crm
DocumentRoot /var/www/nemtom/pub/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/nemtom/pub/>
Options Indexes FollowSymLinks -MultiViews
#SetHandler fastcgi-script
AllowOverride None
Order allow,deny
allow from all
RedirectMatch ^/$ /info/
</Directory>
ScriptAlias /cgi-bin/ /var/www/nemtom/cgi-bin/
<Directory "/var/www/nemtom/cgi-bin/">
AllowOverride None
SetHandler fastcgi-script
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/nemtom.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
CustomLog /var/log/apache2/nemtom.access.log combined
ServerSignature On
Alias /stat/ "/var/www/nemtom/stat/"
<Directory "/var/www/nemtom/stat/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Próbáld ki, módosítsd, használd, gyújts gyertyát Szent Antalnak ;)
- A hozzászóláshoz be kell jelentkezni
Köszönöm, az ötletet, name based -vhostokat használok ugyan, de majd megpróbálom.
Ha sikerül, hálát adok az Úrnak...
- A hozzászóláshoz be kell jelentkezni
de most akkor ne lépjünk vissza... gnutls működik?
- A hozzászóláshoz be kell jelentkezni
a becsatolt peldabol latszik, hogy igen.
azert gnutls es nem openssl-dev,
mert az openssl eleg alapveto csomag, sok dependenciaval, amit nem kivantam bealdozni.
a gnutls jo 2 eve tudja, az opensslbe meg csak most epul bele.
tls ne'mi performancia veszteseggel jar.
mukodo konfig:
(chr-apache2)root@rkanote:/etc/apache2# cat ./mods-enabled/gnutls.conf
<IfModule mod_gnutls.c>
GnuTLSCache memcache "apache.rka.local apache2.rka.local"
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
GnuTLSCacheTimeout 300
</IfModule>
(chr-apache2)root@rkanote:/etc/apache2# cat ./sites-enabled/001-ssl_default
<VirtualHost 172.16.1.11:443>
GnuTLSEnable On
GnuTLSKeyFile /etc/apache2/ssl/key/apache2_rka_local.key
GnuTLSCertificateFile /etc/apache2/ssl/crt/apache2_rka_local.crt
GnuTLSClientCAFile /etc/apache2/ssl/crt/cacert.crt
ServerAdmin webmaster@localhost
DocumentRoot /var/www/vhost/apache2.rka.local/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
(chr-apache2)root@rkanote:/etc/apache2# cat ./sites-enabled/002-ssl_apache
<VirtualHost 172.16.1.11:443>
GnuTLSEnable On
GnuTLSKeyFile /etc/apache2/ssl/key/apache_rka_local.key
GnuTLSCertificateFile /etc/apache2/ssl/crt/apache_rka_local.crt
GnuTLSClientCAFile /etc/apache2/ssl/crt/cacert.crt
ServerAdmin webmaster@localhost
DocumentRoot /var/www/vhost/apache.rka.local/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
- A hozzászóláshoz be kell jelentkezni
IE7-sem támogatja még...
- A hozzászóláshoz be kell jelentkezni
Újra feldobom a témát.
Pár napja jelent meg az openssl 1.0.0 beta1, ez az első változat, amiben alapértelmezésben be vannak kapcsolva a TLS kiterjesztések, köztük a 'server name indication' is. Tippem szerint kb. két hónap múlva jön ki a végleges, és akkor az apache-esek is elkezdhetnek foglalkozni a 34607-es buggal.
- A hozzászóláshoz be kell jelentkezni