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.