Accueil du site > Système > Apache et SuExec, execution de php en tant que script CGI
Aller à ...
OMFG
Informations
Dans la rubrique Système , cet article a été écrit par b3nj et publié le 29 décembre 2007.
1990 personnes ont affiché cette page et sa popularité est de 36.
Pebkac
Mots clefs
I see dead pixels.
Outils
SYN
Apache et SuExec, execution de php en tant que script CGI
Ou comment securiser quelque peu apache et les scripts qu’il fait fonctionner.

Execution de scripts CGI avec SuEXEC

Qu’est-ce que SuExec ?

SuExec est la fonctionnalité apache permettant d’executer les processus fils avec d’autres droits d’utilisateur/de groupe.

Comment savoir si mon installation apache dispose du mécanisme SuExec ?

Par défaut, sous gentoo, du tant que vous n’avez pas compilé apache avec le use flag no-suexec, cette fonctionnalité est disponible. Il est important de spécifier dans le fichier de configuration de démarrage d’apache /etc/conf.d/apache2 l’option -D SUEXEC ce qui peut être par exemple : APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D MANUAL -D SUEXEC -D PHP5".

Pour vérifier si le mécanisme est actif lors du démarrage d’apache, vous trouverez dans le fichier /var/log/apache2/error.log quelque chose de similaire à suEXEC mechanism enabled (wrapper: /usr/sbin/suexec).

Spécifier les droits corrects sur le logiciel établissant le mécanisme

Il est important de changer les droits sur le wrapper suexec :


chown root:apache /usr/bin/suexec
chmod 4750 /usr/bin/suexec

Mise en place du mécanisme SuExec pour un vhost

Commençons par créer un groupe auxquels appartiendront tous les utilisateurs suexec et également un utilisateur avec les droits restreints :


groupadd webusers
useradd -c "Suexec user 1" -g webusers -s /sbin/nologin webuser1

Pour changer l’utilisateur utilisé pour faire fonctionner les scripts cgi, il faut spécifier dans la configuration du vhost la directive SuexecUserGroup [1] suivie du nom d’utilisateur et du nom du groupe à utiliser.

Vous obtiendrez une configuration pour votre vhost similaire à ceci :


<VirtualHost *:80>
       ServerName domain.tld
       ServerAlias *.domain.tld
       DocumentRoot /var/www/geekz.fr/htdocs/
       ErrorLog /var/www/domain.tld/logs/error.log
       CustomLog /var/www/domain.tld/logs/access.log combined
       SuexecUserGroup webuser1 webusers
       <Directory "/var/www/domain.tld/htdocs">
               AllowOverride All
               Order deny,allow
               Allow from all
               Options FollowSymLinks
       </Directory>
       <IfModule alias_module>
       ScriptAlias /cgi-bin/   /var/www/domain.tld/cgi-bin/
       </IfModule>
       <Directory "/var/www/domain.tld/cgi-bin">
               AllowOverride None
               Order deny,allow
               Allow from all
               Options +ExecCGI
       </Directory>
</VirtualHost>

Il est bien sur nécessaire de modifier les droits des propriétaires des fichiers dans le répertoire cgi-bin :

chown -R webuser1:webusers /var/www/domain.tld/cgi-bin

Relancez apache (après avoir validé la configuration ;)) et hop, vos scripts cgi fonctionnent avec des droits différents.

Voici un exemple de ce que l’on peut voir niveau processus lors de l’execution d’un script cgi :

root      2082  0.0  4.5 185748 11564 ?        Ss   20:49   0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D INFO -D LANGUAGE -D MANUAL -D SUEX
apache    2945  0.0  2.5 185748  6436 ?        S    21:01   0:00  \_ /usr/sbin/apache2 -D DEFAULT_VHOST -D INFO -D LANGUAGE -D MANUAL -D
1003      4048  4.0  0.5  17580  1416 ?        S    21:39   0:00  |   \_ bash dig-short.cgi google.com,TXT,80.92.65.30
1003      4061  0.0  0.2  17580   536 ?        S    21:39   0:00  |       \_ bash dig-short.cgi google.com,TXT,80.92.65.30
1003      4062  0.0  0.7  13108  1888 ?        S    21:39   0:00  |           \_ /usr/bin/dig +time=2 +short TXT google.com @80.92.65.30
1003      4063  0.0  0.2   3828   552 ?        S    21:39   0:00  |           \_ /bin/sed s/$/<br \/>/g

Nous voyons bien que le script cgi fonctionne avec l’uid 1003.

pages : 1 2 >>

[1] http://httpd.apache.org/docs/2.2/mod/mod_suexec.html#suexecusergroup

Post Scriptum Cette configuration vous permet de securiser quelque peu votre serveur web. C’est un bon complement de mon article sur les vhosts.
Commentaires :
Apache et SuExec, execution de php en tant que script CGI 池袋 風俗 渋谷 風俗 新宿 風俗 コンドーム 激安 不倫調査 尾行調査 企業調査 身元調査 身辺調査 結婚調査 夫の浮気 妻の浮気 尾行調査 企業調査 所在調査 身辺調査 追跡調査 尾行調査 ストーカー調査 浮気調査 身元調査 信用調査 浮気調査 身辺調査 信用調査 特殊調査 所在調査 素行調査 追跡調査 信用調査 身上調査 所在調査 ストーカー調査 妻の浮気 ストーカー調査 素行調査 盗聴調査 身元調査 不倫調査 探偵 不倫調査 妻浮気 結婚調査 信用調査 データ調査 不倫調査 夫婦浮気 身元調査 盗聴調査 大人のおもちゃ アダルトDVD av 写真 大人のおもちゃ アダルトグッズ アダルトグッズ アダルトDVD アダルトショップ ペニス増大 電マ TENGA SM 通販 セクシー下着 男性下着 Tバック下着 大規模修繕 決済代行 SEO SEO fether felt flat 決済代行
Posté par khidot95 Site :
Répondre à ce commentaire
Apache et SuExec, execution de php en tant que script CGI お探しの情報までヒトッ飛びワ――゚.+ :。ヾ(o・ω・)ノ゚.+ :。――イ
Posté par khehvhiuy Site : 出会い系サイト
Répondre à ce commentaire
Apache et SuExec, execution de php en tant que script CGI

メル友を大切にするとどうなるか ?

メル友を大切にする事でメル友との出会いが近くなります。管理人自信メル友と会った事が何回もあります。女性は悩んでいる時に友達にも話せない事をネット上で相談する傾向があります。その相談に乗って親密になればメル友との出会いは近くなるのです。勿論100発100中ではありません。メル友と会えない時もあります。だからと言ってさよならって言うのは寂しいじゃないですか。確か3年掛けて会った事もあります。メル友を大切にする事で本当に出会いは近くなるので大切にしましょう。

メル友探しでAnglers


Posté par khehvhiuy Site : 恋人探し
Répondre à ce commentaire
Apache et SuExec, execution de php en tant que script CGI 出会い無料サイト-以心伝心-でトキメク出会いを応援します !
Posté par wanasite Site : 出会い
Répondre à ce commentaire
Apache et SuExec, execution de php en tant que script CGI 家出サイト掲示板【援助交際】で違法な援助交際に手を染める前に助けて下さい
セフレ
無料出会い系サイト-Google版-では安心の出会い系を無料でご紹介♪
「公式メル友探し無料サイト」では優良メル友サイトを最新版でご紹介しております♪
Posté par wanasite Site : メル友
Répondre à ce commentaire
maimit_0910 徳島 自動車学校Trong cuoc song kho khan van con day 徳島 教習所Hay cho toi niem tin de chien thang 免許 徳島Mot uoc mo de vuot qua tat ca !
Posté par maianh Site :
Répondre à ce commentaire
Poster un message