sábado, 3 de mayo de 2008

Permisos de Archivos Y Directorios--->servidor apache(CGI)

seguimos con esto de nuestro server como es usual mucho de los defaces,intrusiones y juanketos xD ocurren por mal manejo del CHMOD. Por ejemplo creamos un archivo index.cgi y lo ponemos en el directorio de Apache R00t y recibimos el clasico aviso de "forbiden" que no tienes permisos para ver archivos en este servidor xD...y para poder verlo correctamente o trabaje le damos CHMOD 777 index.cgi...

Antes que hagas esto nuevamente detente a pensar,,,es esto seguro? esta blood tripeando en pali nuevamente xD?

la respuesta es facil NO!!!pero como damos permisos ?para que nuestro index.cgi funcione correctamente...Emepzemos:

CHMOD:
Apache nesesita Permisos para ejecutar correctamente el archivo Index.cgi pero no queremos que todo el mundo tenga permisos de lectura y escritura sobre el archivo (index.cgi) el propietario de este archivo se supone que es el que sea que tenga permisos de lectura y de escritura...
Como Lo Hacemos?
Código:
# chmod 755 index.cgi
los archivos fuera de nuestro root del servidor no deben ser vistos....
Recalquemos y agregamos esta linea a nuestro archivo apache.conf:
Código:
Options FollowSymLinks AllowOverride None
Importante

1-La Linea que agregamos que mencionamos arriba previene a Apache a acceder a archivos y directorios fuera de nuestro root del servidor o sea de nuestro server...

2-Recordemos que otras distribuciones contienen por defecto mejor configuracion de seguridad que otras...

No queremos a usuarios corriendo cgi's donde sea en el directorio de archivos y menos aun no queremos que corran como r00t,la solucion de este problema es "El Directorio Options ExecCGI
ejemplo:agrega esta linea al /etc/apache2/apache2.conf:
Código:
AllowOverride None Options ExecCGI Order allow,deny Allow from all
Recargamos Apache:
Código:
# /etc/init.d/apache2 reload
========================================================
Entonces si tu tienes recursos o servicios que solamente entran por medio de una red o un Ip especifico..
La solucion a este problema seria la siguiente configuracion para que apache funcione:
Ejemplo:only allow access to network 192.168.0.0.
Cambiariamos las siguientes lineas en el /etc/apache2/apache2.conf:
Código:
AllowOverride None Options ExecCGI Order allow,deny Allow from all
Por
Código:
AllowOverride None Options ExecCGI Order Deny,Allow Deny from all Allow from 192.168.0.0/16.
Recargamos Apache Nuevamente Para ver si surgieron efectos
Código:
# /etc/init.d/apache2 reload
Ahora solamente usuarios de tu red interna,Podran correr scripts Cgi's en "/home/username/public_html/cgi-bin"

No hay comentarios: