PDA

Bekijk Volledige Versie : adres/~username



Angiligo
05/12/09, 12:28
Beste WHT gebruikers,

Weet iemand hoe ik ip adres/~username kan uitschakelen.






Met vriendelijke groet,
Angiligo

ichosting
05/12/09, 12:38
En over welk OS + controlepaneel hebben we het dan?

Angiligo
05/12/09, 12:40
En over welk OS + controlepaneel hebben we het dan?

Centos en DirectAdmin.






Met vriendelijke groeten,
Angiligo

marsipulami
05/12/09, 12:43
je zou SuPHP kunnen installeren....

Angiligo
05/12/09, 12:47
je zou SuPHP kunnen installeren....

Dat zou kunnen.
Maar is dat de enige oplossing?
Er zijn nogal veel verschillende discussies over SuPHP PHP CGI.



Met vriendelijke groeten,
Angiligo

marsipulami
05/12/09, 12:55
ik weet niet zeker of het gaat werken maar je kan natuurlijk ook zorgen dat op die map geen rechten zitten voor "all" door middel van chmod

Angiligo
05/12/09, 12:59
ik weet niet zeker of het gaat werken maar je kan natuurlijk ook zorgen dat op die map geen rechten zitten voor "all" door middel van chmod

Oke ik zal dat eens gaan uitproberen.
Anders zat ik te denken aan mod_ruid in plek van SuPHP.



Met vriendelijke groeten,
Angiligo

Mark17
05/12/09, 14:29
Angiligo:
Pas /etc/httpd/conf/ips.conf aan.

Voorbeeld:
Van:


NameVirtualHost 1.2.3.4:80
NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:80>
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/user/domains/sharedip

SuexecUserGroup user user

CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>

<VirtualHost 1.2.3.4: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/user/domains/sharedip

SuexecUserGroup user user

CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>


Naar:


NameVirtualHost 1.2.3.4:80
NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:80>
ServerName shared.domain
DocumentRoot /home/user/domains/sharedip
SuexecUserGroup user user
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>

<VirtualHost 1.2.3.4:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
DocumentRoot /home/user/domains/sharedip
SuexecUserGroup user user
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>

Keizer
05/12/09, 14:29
Als je het per user zou willen kan je de public_html snelkoppeling uit de root halen

cfmweb
05/12/09, 19:31
Wil iemand aanvullen waarom domain/~user als onveilig wordt beschouwd ?

Angiligo
05/12/09, 20:11
Wil iemand aanvullen waarom domain/~user als onveilig wordt beschouwd ?


Je klanten zouden dan bij een ander op de zelfde server kunnen zien welke scripts ze draaien.

Correct me if am wrong.

Angiligo
05/12/09, 20:13
Angiligo:
Pas /etc/httpd/conf/ips.conf aan.

Voorbeeld:
Van:


NameVirtualHost 1.2.3.4:80
NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:80>
ServerName shared.domain
ScriptAliasMatch ^/~([^/]+)/+cgi-bin/+(.*) /home/$1/public_html/cgi-bin/$2
AliasMatch ^/~([^/]+)(/.*)* /home/$1/public_html$2
DocumentRoot /home/user/domains/sharedip

SuexecUserGroup user user

CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>

<VirtualHost 1.2.3.4: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/user/domains/sharedip

SuexecUserGroup user user

CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>


Naar:


NameVirtualHost 1.2.3.4:80
NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:80>
ServerName shared.domain
DocumentRoot /home/user/domains/sharedip
SuexecUserGroup user user
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>

<VirtualHost 1.2.3.4:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
ServerName shared.domain
DocumentRoot /home/user/domains/sharedip
SuexecUserGroup user user
CustomLog /var/log/httpd/homedir.log homedir
</VirtualHost>



Als ik dit doe start httpd niet meer op. ( An error has occurred sbin/service httpd restart 2>&1 )

Angiligo
05/12/09, 20:15
Als je het per user zou willen kan je de public_html snelkoppeling uit de root halen


Dat werkt.
Maar dan maakt hij je andere public_html map helemaal leeg.
Kan bij nieuwe accounts maar niet bij bestaande natuurlijk.

Wynand
05/12/09, 21:20
Define kunnen zien? Kijken welke andere websites er op draaien is sneller gebeurt dan gaan lopen gokken naar de gebruikersnaam van andere gebruikers.

t.bloo
06/12/09, 00:32
Wil iemand aanvullen waarom domain/~user als onveilig wordt beschouwd ?

mod_rewrite kan hier moeilijkheden mee hebben, suphp kan hier moeilijkheden mee hebben, zo zijn er nog een aantal andere mods die onvoorspelbaar kunnen reageren, en de php server variables zijn anders bij deze aanroep

niet allemaal heel schokkend, maar ik kan me voorstellen dat je dat liever niet hebt



Als ik dit doe start httpd niet meer op. ( An error has occurred sbin/service httpd restart 2>&1 )

post je config file eens, met zo veel mogelijk details intakt, dit zou wel moeten werken namelijk

en kijk ook even in /var/log/httpd/error.log

vDong
06/12/09, 00:42
Wil iemand aanvullen waarom domain/~user als onveilig wordt beschouwd ?

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.

Mark17
06/12/09, 02:55
Als ik dit doe start httpd niet meer op. ( An error has occurred sbin/service httpd restart 2>&1 )

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):


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>


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.

marsipulami
06/12/09, 09:04
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.

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.

Randy
06/12/09, 09:19
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.

Andere user, XSS, etc.

Angiligo
06/12/09, 10:33
# 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>


Let op ik draai geen mod_ruid nu.
Gewoon standaard DirectAdmin met php CLI


Met vriendelijke groeten,
Angiligo

Mark17
06/12/09, 11:48
Een hekje voor AliasMatch en ScriptAliasMatch zou voldoende moeten zijn.

vDong
06/12/09, 12:30
Andere user, XSS, etc.

Ik zie nu pas dat DA dat in elke virtual host directive toestaat, dan loop je inderdaad in dit soort valkuilen.

Angiligo
06/12/09, 15:15
Een hekje voor AliasMatch en ScriptAliasMatch zou voldoende moeten zijn.



Helaas werkt het met het hekje ook niet.



Met vriendelijke groeten,
Angiligo

Piwi-Web
06/12/09, 16:07
Helaas werkt het met het hekje ook niet.



Met vriendelijke groeten,
Angiligo

PM Lite-On eens, die heeft dat ook uitgeschakeld =)

Serveo
07/12/09, 14:33
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.

Tim.Bracquez
07/12/09, 14:40
Andere user, XSS, etc.
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

Angiligo
07/12/09, 14:57
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


Hekje er voor + apache2 / httpd restarten reloaden heb ik gedaan en lost het probleem niet op.

t.bloo
07/12/09, 15:05
Dan heb je de verkeerde config file te pakken. Ik zou zeggen, laat er eens iemand naar kijken.

Angiligo
07/12/09, 15:08
# 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>



Dit zou toch de goede moeten zijn.

/ect/httpd/conf
ips.conf

t.bloo
07/12/09, 15:19
/etc/httpd/conf/extra/httpd-vhosts.conf ook even doen

t.bloo
07/12/09, 15:21
daarna kun je het controleren door:


cd /etc/httpd/conf
grep AliasMatch * -R


Er moet dan overal een hekje voor staan. Of je knikkert de hele regels uit de files. Of je verwijdert uberhaupt de virtual hosts, als je er verder toch geen toepassing voor hebt (via ip adres shared ips bezoeken ?).

Angiligo
07/12/09, 15:31
/etc/httpd/conf/extra/httpd-vhosts.conf ook even doen

Deze was het :thumbup:

Het werkt nu dus zonder problemen.

Hartstikke bedankt iedereen.
Bedankt t.bloo



Met vriendelijke groet,

Angiligo