Apache virtualhost ssl config

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
joriz
Premium Member
Premium Member
Berichten: 603
Lid geworden op: 13 mei 2006, 22:36
Uitgedeelde bedankjes: 57 keer
Bedankt: 48 keer

Ik ben bezig met het opzetten van een webserver en ben me het hoofd aan het breken over bepaalde errors in de logfiles.
De setup is als volgt:
- OS = CentOS
- Apache webserver + PHP
- SSL wildcard certificaat
- 2 websites via 2 virtualhosts

De error in /var/log/httpd/error_log die blijft terugkeren is: [ssl:warn] [pid 891] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366).
Deze error heeft vermoedelijk te maken met het feit dat ik 2 websites host via virtualhosts welke op hetzelfde Ip / domain zitten en dus ook hetzelfde SSL wildcard certificaat gebruiken.
Omdat men Apache kennis nog niet zo uitgebreid is ben ik https://httpd.apache.org/docs/2.4/vhost ... based.html gaan doorlezen en heb daarna de nodige aanpassingen gedaan maar toch blijft deze error terugkeren.

De websites werken opzich wel en de http naar https redirect werkt opzich ook.

De virtualhost files zien er als volgt uit (1 file per website):

Website1

Code: Selecteer alles

#Redirect HTTP to HTTPS
<VirtualHost website1.domain.com:80>
   ServerName domain.com
   Redirect / https://website1.domain.com
</VirtualHost>


<VirtualHost website1.domain.com:443>
#SSL CONFIG
    SSLEngine on
    SSLCertificateFile /opt/ssl/star_domain_com/star_domain_com.crt
    SSLCertificateKeyFile /opt/ssl/star_domain_com/private/star_domain_com.key
    SSLCertificateKeyFile /opt/ssl/star_domain_com/Intermediate.crt

    ServerName domain.com
    DocumentRoot /var/www/website1/public
    <Directory /var/www/website1/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>
Website2

Code: Selecteer alles

#Redirect HTTP to HTTPS
<VirtualHost website2.domain.com:80>
   ServerName domain.com
   Redirect / https://website2.domain.com
</VirtualHost>


<VirtualHost website2.domain.com:443>
#SSL CONFIG
    SSLEngine on
    SSLCertificateFile /opt/ssl/star_domain_com/star_domain_com.crt
    SSLCertificateKeyFile /opt/ssl/star_domain_com/private/star_domain_com.key
    SSLCertificateKeyFile /opt/ssl/star_domain_com/Intermediate.crt

    ServerName domain.com
    DocumentRoot /var/www/website2/public
    <Directory /var/www/website2/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>
Edpnet VDSL XL + Voip @ 100/35Mbit / Fritzbox 7490
blaatpraat
Elite Poster
Elite Poster
Berichten: 1300
Lid geworden op: 10 jan 2014, 12:09
Uitgedeelde bedankjes: 32 keer
Bedankt: 103 keer

En werkt het volledig?
Ik zie namelijk geen error, maar een waarschuwing die volkomen terecht is.
Oudere browsers (lees als: IE6 tijdperk) ondersteunen geen SNI SSL, wat je hier gebruikt (meerdere domeinen, elk met een certificaat, op 1 IP-adres).
Oplossing: 1 IP per certificaat voorzien; ofwel je er niets van aantrekken, want de doelgroep die nog geen SNI ondersteund, is tegenwoordig quasi irrelevant geworden (en ik ken geen enkele hoster die zich er nog iets van aantrekt, zelfs Amazon doet dit bijvoorbeeld niet meer met hun AWS).

Edit: wat mogelijks wel deze warning kan laten verdwijnen (maar de achterliggende oorzaak blijft dezelfde) is je Virtualhost vervangen door de volgende:

Code: Selecteer alles

<VirtualHost *:80>
Ook voor de 443.
Het is op basis van de ServerName en ServerAlias dat Apache de juiste vhost bepaalt.
joriz
Premium Member
Premium Member
Berichten: 603
Lid geworden op: 13 mei 2006, 22:36
Uitgedeelde bedankjes: 57 keer
Bedankt: 48 keer

Dus deze melding is puur een warning voor oude clients.

Code: Selecteer alles

<VirtualHost *:80>
De virtualhosts waren eerst met *:80 en *:443 geconfigged maar daardoor gebeurde er toch rare dingen. Zo werkte website1 zonder problemen maar gaf website2 problemen met https. (Deze verbinding is niet Privé/ongeldig certificaat). Wanneer ik dan toch doorklikte kwam ik bij de default apache landing page uit.
Edpnet VDSL XL + Voip @ 100/35Mbit / Fritzbox 7490
Gebruikersavatar
Geert-Jan
Pro Member
Pro Member
Berichten: 326
Lid geworden op: 14 okt 2016, 17:31
Uitgedeelde bedankjes: 40 keer
Bedankt: 27 keer

Waarom zet er er geen ISP paneel op? Zoals iMSCP, dan hoef je er niet mee te knoeien en kan je het zo aanmaken met een paar klikjes.
Zo kan je ook tegelijk mail opzetten, zit er allemaal standaard in alsook backup van je websites etc.
Ik doe het zo al jaren.

Draait wel enkel onder Debian (of Ubuntu), maar maakt je leven zoveel makkelijker en het kost niks.

https://i-mscp.net/

Ze hebben er een demo lopen, kan je zien wat het is.
Afbeelding

Groeten,

Geert-Jan.
CCatalyst
Elite Poster
Elite Poster
Berichten: 8248
Lid geworden op: 20 jun 2016, 18:36
Uitgedeelde bedankjes: 19 keer
Bedankt: 522 keer
Recent bedankt: 12 keer

Geert-Jan schreef:maakt je leven zoveel makkelijker en het kost niks
... totdat er voor dat pakket een vulnerability gepubliceerd wordt die root access tot het systeem of remote code execution toelaat.

@OP, 99.9% van de clients die geen bots zijn ondersteunen SNI vandaag de dag, dus je hoeft daar niet mee in te zitten. Je moet echt al een stokoude browser hebben om dat niet te ondersteunen. Check uw SSL config op SSLLabs, als je daar een A score krijgt is alles in orde. Het is trouwens een warning en geen error.

Ook daar krijg je nog een "This site works only in browsers with SNI support" bericht maar dat tast uw score niet aan.
joriz schreef:Dus deze melding is puur een warning voor oude clients.

Code: Selecteer alles

Wanneer ik dan toch doorklikte kwam ik bij de default apache landing page uit.[/quote]

Virtual host is dan niet juist geconfigureerd want de directive daarvan wordt niet gevolgd, maar dat heeft zeker niets met SNI te maken.
Laatst gewijzigd door CCatalyst 28 nov 2018, 18:48, in totaal 1 gewijzigd.
joriz
Premium Member
Premium Member
Berichten: 603
Lid geworden op: 13 mei 2006, 22:36
Uitgedeelde bedankjes: 57 keer
Bedankt: 48 keer

Geert-Jan bedankt maar dat is niet wat ik zoek. Het is een interne webserver met wat webapps op, niet om als hosting provider te functioneren.
Daarnaast hou ik ook graag alles zo clean mogelijk via CLI.

Het feit dat het met *:80 / *:443 niet werkt zoals het moet wil misschien zeggen dat ergens anders misschien ook wat config fouten zitten.
In httpd.conf werd niets aangepast. De 2 virtualhost files zitten in conf.d welke ingeladen worden wanneer apache start.

Edit: alles nog eens goed herbekijken danmaar...
Edpnet VDSL XL + Voip @ 100/35Mbit / Fritzbox 7490
Gebruikersavatar
Geert-Jan
Pro Member
Pro Member
Berichten: 326
Lid geworden op: 14 okt 2016, 17:31
Uitgedeelde bedankjes: 40 keer
Bedankt: 27 keer

Ik wou enkel een hint geven, ik werk al jaren met iMSCP en het is nog nooit gehacked, noch is het lastig te gebruiken.
Zelf ben ik ook een CLI gebruiker, maar soms zijn er betere tools, vooral omdat iMSCP alles installeert om je server te beveiligen en veilig te houden.
Ook de zaken waar je zelf niet aan denkt.
Afbeelding

Groeten,

Geert-Jan.
ubremoved_2964
Elite Poster
Elite Poster
Berichten: 5295
Lid geworden op: 12 jan 2006, 14:25
Uitgedeelde bedankjes: 65 keer
Bedankt: 387 keer

één van mijn taken is het opvolgen van scans van o.a. Qualys en diverse security audits, en dan de configs bijsturen bij een wereldspeler in de fin. sector

recent zijn we voor deze config gegaan, na het testen van meerdere cyphersuites:

ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

Zie:

https://hynek.me/articles/hardening-you ... l-ciphers/

Geeft direct ook de beste rating op de SSL labs test (die hetzelfde grotendeels doet als wat qualys qua SSL test - zelfde bedrijf) ;)
In het artikel staat de volledige apache config, maar deze cyphersuite is ook bruikbaar voor andere tools die het ondersteunen.
Plaats reactie

Terug naar “Development”