Ik mis dit ook hoor, al sinds het apache project is gestart is public_html alias een standaard feature geweest, kan me niet voorstellen dat dat ineens een security issue is.
Afdrukvoorbeeld
Welke error staat er in de Apache logs? Helaas kan ik het hier zo niet testen (anders had ik het even gedaan). Eventueel kan ik het ook even op je server aanpassen (of geef de logs en aan de hand daarvan bepaal ik de oplossing).
Hier nu onderstaande ingebruikt en werkt correct (mod_ruid + vhosts zijn aangepast):
De sterretjes zou je door IP's kunnen vervangen natuurlijk. De regels met ScriptAliasMatch en AliasMatch doen natuurlijk niks (hekje ervoor). Geef anders even de huidige config van /etc/httpd/conf/ips.conf (vervang eventueel echte ips door fake ips en hetzelfde geld voor de gebruikersnamen) en ik geef je een nieuwe die zou moeten werken. Vergeet niet dat met mod_ruid iets andere virtualhost configs van toepassing zijn als met mod_suid.Code:LogFormat "%O \"%r\"" homedir
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/admin/domains/sharedip/
RMode config
RUidGid admin admin
RGroups apache
</VirtualHost>
ik denk dat de enige reden is, dat wanneer mensen via die manier hun scripts draaien dat de serveradmin niet meer kan zien van welke user deze zijn.
Dus wanneer er malafide scripts gedraaid worden is niet meer te zien van wie die zijn??
Niet zozeer onveilig dus, maar meer lastig voor de hoster.
Let op ik draai geen mod_ruid nu.Code:# Auto generated apache config file by DirectAdmin version 1.34.4
# Modifying this file is not recommended as any changes you make will be
# overwritten when you add/remove ip's through DirectAdmin.
LogFormat "%O \"%r\"" homedir
NameVirtualHost ip:80
NameVirtualHost ip:443
NameVirtualHost ip:80
NameVirtualHost ip:443
<VirtualHost ip:80>
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/admin/domains/sharedip
SuexecUserGroup admin admin
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost ip:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/admin/domains/sharedip
SuexecUserGroup admin admin
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
NameVirtualHost ip:80
NameVirtualHost ip:443
<VirtualHost ip:80>
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost ip:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
NameVirtualHost ip:80
NameVirtualHost ip:443
<VirtualHost ip:80>
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost ip:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
Gewoon standaard DirectAdmin met php CLI
Met vriendelijke groeten,
Angiligo
Een hekje voor AliasMatch en ScriptAliasMatch zou voldoende moeten zijn.
Ben ik nu gek, of is er een makkelijkere manier om dit te realiseren. Ik kan me namelijk herinneren dat dit eerder ter sprake is gekomen op dit forum.
Dat klopt, maar het is gelijk ook een manier om te kijken of die user aanwezig is op je systeem. Zoals die security lek in proftpd waar dat ook mogelijk mee is :-)
Niet altijd leuk dat anderen te weten komen welke users er op het systeem aangemaakt zijn...
Psst: vergeet je apache2 / httpd process niet te herstarten of beter te reloaden !
Zoals ze hierboven al melden is het gewoon die #'s plaatsen
Dan heb je de verkeerde config file te pakken. Ik zou zeggen, laat er eens iemand naar kijken.
Dit zou toch de goede moeten zijn.Code:# Auto generated apache config file by DirectAdmin version 1.34.4
# Modifying this file is not recommended as any changes you make will be
# overwritten when you add/remove ip's through DirectAdmin.
LogFormat "%O \"%r\"" homedir
NameVirtualHost :80
NameVirtualHost :443
NameVirtualHost :80
NameVirtualHost :443
<VirtualHost :80>
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/admin/domains/sharedip
SuexecUserGroup admin admin
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost :443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/admin/domains/sharedip
SuexecUserGroup admin admin
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
NameVirtualHost :80
NameVirtualHost 443
<VirtualHost :80>
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost :443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
NameVirtualHost :80
NameVirtualHost :443
<VirtualHost :80>
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
<VirtualHost :443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
# ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
# AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/flor/domains/sharedip
SuexecUserGroup flor flor
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>
/ect/httpd/conf
ips.conf
/etc/httpd/conf/extra/httpd-vhosts.conf ook even doen