Apache: vhosts zonder hostename, ip-adres of poorten?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Op ons kantoor draait een W2k8 R2 server waarop ons CRM systeem een een aantal tools draaien op Apache.

Om het eenvoudig bereikbaar en zo veilig mogelijk te houden heb ik het volgende gedaan:

- hq.bedrijfsnaam.com -> publiek IP-adres van ons kantoor
- port forward voor poort 80 en 443 naar privaat adres van de server
- de poorten open in de firewall
- Apache 2.2 op de server met:
- Overbodige modules uitgeschakeld
- Basedirs ingesteld zodat de pakketten en tools alleen daar bij kunnen waar ze moeten zijn
- Als documentroot een map waar niets in staat en waarvan de Directory op Deny All staat
- Één virtuele host op poort 80 die al het verkeer redirect naar poort 443.
- Een certificaat voor hq.bedrijfsnaam.com van een vertrouwde CA geïnstalleerd

Dan nu het probleem, zoals je boven kunt zien hebben we 1 IP-adres en 1 sub-domain (anders moeten we voor ieder sub-domain een certificaat kopen). Toch willen we 6 vhosts laten draaien. We willen niet aan extra poortnummers voor elke tool, mensen hier willen het graag zo eenvoudig mogelijk, het gaat om dagelijks gebruik door niet technische mensen.

Om het toch mogelijk te maken meerdere diensten te draaien gebruiken we nu:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
NameVirtualHost *:443
<VirtualHost hq.bedrijfsnaam.com:443>
  Servername hq.bedrijfsnaam.com
  ServerAlias  192.168.x.x, x.x.x.x
  ServerAdmin ik@bedrijfsnaam.com
  DocumentRoot "C:/www/apache/htdocs/dummy"

  <Directory "C:/www/apache/htdocs/dummy">
    AllowOverride None
    Order Allow, Deny
    Deny From All
  </Directory>

  Alias /dienst1_beta  "F:/www/htdocs/dienst1-beta"
  Alias /dienst1      "F:/www/htdocs/dienst1-prod"
  Alias /dienst[n]_beta "F:/www/htdocs/dienst[n]-beta"
  Alias /dienst[n]      "F:/www/htdocs/dienst[n]-prod"
  
  <Directory "F:/www/apache/htdocs/dienst1">
    AllowOverride All
    Order Allow, Deny
    Allow From All
    AuthType Basic
    AuthName "Niet publieke dienst"
    AuthUserFile "C:\www\apache\conf\.htpassword-intern"
    Require valid-user
    Allow from 192.168.x.0/24
    Satisfy Any
  </Directory>

  <Directory "F:/www/apache/htdocs/dienst[n]">
    AllowOverride All
    Order Allow, Deny
    Allow From All
  </Directory>

  ... etc

</VirtualHost>


Ok, dus voor zover mij bekend best strict en obscuur in de hoop dat aanvallers er ook geen zin in hebben. Maar nu lopen we tegen het probleem aan dat:
code:
1
2
3
<?php>
  echo $_SERVER["DOCUMENT_ROOT"] ;
?>


"C:/www/apache/htdocs/dummy" retourneert. En we willen bijv. graag: F:/www/htdocs/dienst[n]-prod zien.

Heeft iemand een idee om de vhosts bijvoorbeeld per directory/path aan te maken?

Als je tot hier gekomen bent dan dank ik je hartelijk! ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Overigens kunnen we dit praktisch onmogelijk in de PHP scripts oplossen omdat deze ook van derde partijen komen en bovendien met elke update kunnen veranderen...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Niemand? :/

Acties:
  • 0 Henk 'm!

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 29-07 18:24
Lijkt me dan toch het gemakkelijkste om een *.domainname.com certificaat aan te schaffen
Volgens mij kun je de documentroot niet zo aanpassen per directory.