martes, 2 de septiembre de 2008

Respuesta a dos grandes preguntas!

Muchas gracias por responder a mi post. La verdad es que este blog parece un monólogo. Procedo a postear mi respuesta, esperando “resolver” alguna duda. Ante la primera pregunta :”¿el hecho de cachear tanta pagina para acelerar la navegación no puede proveer errores de seguridad?”, respondo.

Considero que esta mal formulada, ya que proveer es sinónimo de suministrar o facilitar. Un software de proxy-cacheo es un elemento más de seguridad en una LAN-WAN, en ningún caso lo contrario; salvo aquellos que estén mal administrados y/o configurados. Una de las características de un proxy es el anonimato, es decir, hacer creer a quién nos sirve el fichero(.htm,.jpeg,.iso...etc) que es una única máquina la que realiza las peticiones. El proxy, dedice, en base a parámetros de configuración o listas de control de acceso(ACLs), como por ejemplo ip_origen o tipo_fichero si ese fichero se debe entregar desde la caché de la maquina o actualizar el contenido de la misma con una versión posterior en el tiempo.

Históricamente, los proxies eran uno de los principales objetivos a la hora de ejecutar un ataque. Fundamentalmente por una mala configuración en sus listas de control de acceso, y permitir conexiones desde la WAN hacia la LAN. Squid es el software proxy que conozco, utilizo y administro, y hasta hoy, salvo errores garrafales que explicaré en otro post, su rendimiento y sus niveles de seguridad son excelentes.

Evidentemente pueden aparecer vulnerabilidades en el diseño del software en sí y en la configuración del sistema, sobre todo a la hora de definir el espacio de la caché en disco,permisos y demás[cache_dir, coredump_dir] pero considero que este tipo de software requiere de la figura de un Administrador de Sistemas con cierta experiencia.

En respuesta a la segunda pregunta,comienzo del mismo modo que la anterior; reformulo la pregunta : ¿qué herramientas y técnicas utilizas para blindar el proxy?.

Fundamentalmente las divido en tres.
Nivel de Sistema Operativo.

Kernel: Compilación siempre, entre otras cosas para agilizar el sistema y por ejemplo,evitar dar soporte a sistemas de ficheros innecesarios: FAT,NTFS,XFS...etc.

Software: Compilar siempre la última versión estable. Uso Debian GNU/Linux , y basta con configurar las preferencias de apt y apt-build, para optimizar y securizar a niveles aceptables tus paquetes de Software.

Nivel de Red:

Acceso Externos: Si hay que acceder a la máquina,siempre por SSH generando juegos de llaves que impidan a los más ilusos acceder al Sistema. Evidentemente acceso como root ni de broma. Jugar un poco con sudo nunca viene mal.

Firewall: En el 99% por ciento de la instalaciones, Squid va de la mano con Iptables, como mínimo con reglas DROP para INPUT y FORWARD, logeando acceso externos(-j LOG –log-prefix), para extraerlos con un simple script en bash o con, por ejemplo el fwanalog. Utilizo mucho portsentry que añade reglas DROP a iptables para proteger la maquina de nmappers principiantes y demás curiosos.

ACLs: Controles horarios,control de origenes y destinos por IP,fichero...existen tantas combinaciones!

Autenticación :OpenLDAP y Squid se entienden muy bien.Con NCSA lo mismo, pero digamos que al tratarse de auth local, no se recomienda. Nunca lo he probado con Active Directory.

1 comentario:

Unknown dijo...

Muchas gracias por las respuestas, por lo visto oon el software ocurre como con las ideas, no son peligrosas las ideas si no quien las usa, un buen software en manos de alguien inexperto puede resultar peligroso. Yo personalmente reconozco mi desconocimiento del funcionamiento de squid, se lo que es pero nunca he configurado uno y si lo hago seguramente deje abiertos mas de un agujero pero mi idea es hacerlo en casa no ya por seguridad pero si por aprendizaje.

Gracias e taloguiño...