Capítulo VII ANEXOS Anexo A: Ley 19233 A.1 Ley 19233 relativa a delitos informáticos Articulo 1°.- El que maliciosamente destruya o inutilice un sistema de tratamiento de información o sus partes o componentes, o impida, obstaculice o modifique su funcionamiento, sufrirá la pena de presidio menor en su grado medio a máximo. Si como consecuencia de estas conductas se afectaren los datos contenidos en el sistema, se aplicará la pena señalada en el inciso anterior, en su grado máximo. Articulo 2°.- El que con el ánimo de apoderarse, usar o conocer indebidamente la información contenida en un sistema de tratamiento de la misma, lo intercepte, interfiera o acceda a él, será castigado con presidio menor en su grado mínimo a medio. Articulo 3°.- El que maliciosamente altere, dañe o destruya los datos contenidos en un sistema de tratamiento de información, será castigado con presidio menor en su grado medio. Articulo 4°.- El que maliciosamente revele o difunda los datos contenidos en un sistema de información, sufrirá la pena de presidio menor en su grado medio. Si quien incurre en estas conductas es el responsable del sistema de información, la pena se aumentará en un grado. Identificación de la Norma: Ley-19.223 Fecha de publicación: 07.06.1993 Fecha de Promulgación: 28.05.1993 103 A.2 Biblioteca del Congreso Nacional Identificación de la Norma: LEY-19223 Fecha de Publicación: 07.06.1993 Fecha de Promulgación: 28.05.1993 Organismo: MINISTERIO DE JUSTICIA TIPIFICA FIGURAS PENALES RELATIVAS A LA INFORMATICA Teniendo presente que el H. Congreso Nacional ha dado su aprobación al siguiente Proyecto de Ley: "Artículo 1°.- El que maliciosamente destruya o inutilice un sistema de tratamiento de información o sus partes o componentes, o impida, obstaculice o modifique su funcionamiento, sufrirá la pena de presidio menor en su grado medio a máximo. Si como consecuencia de estas conductas se afectaren los datos contenidos en el sistema, se aplicará la pena señalada en el inciso anterior, en su grado máximo. Artículo 2°.- El que con el ánimo de apoderarse, usar o conocer indebidamente de la información contenida en un sistema de tratamiento de la misma, lo intercepte, interfiera o acceda a él, será castigado con presidio menor en su grado mínimo a medio. Artículo 3°.- El que maliciosamente altere, dañe o destruya los datos contenidos en un sistema de tratamiento de información, será castigado con presidio menor en su grado medio. Artículo 4°.- El que maliciosamente revele o difunda los datos contenidos en un sistema de información, sufrirá la pena de presidio menor en su grado medio. Si quien incurre en estas conductas es el responsable del sistema de información, la pena se aumentará en un grado". Y por cuanto he tenido a bien aprobarlo y sancionarlo; por tanto promúlguese y llévese a efecto como Ley de la República. Santiago, 28 de Mayo de 1993.- ENRIQUE KRAUSS RUSQUE, Vicepresidente de la República.- Francisco Cumplido Cereceda, Ministro de Justicia. Lo que transcribo a Ud. para su conocimiento.Saluda atentamente a Ud., Martita Worner Tapia, Subsecretario de Justicia. 104 A.3 Delincuencia Informática en Chile - Proyecto de Ley Claudio Paul Magliona Markovicth - Chile Cmagliona@carey.cl Director- Secretario Ejecutivo de la Asociación de Derecho e Informática de Chile - ADI; Director de Eventos y Miembro de Task Force comunidad jurídica Alfa-Redi (www.alfa-redi.org); coautor con Macarena López Medel del libro intitulado “Delincuencia y Fraude Informático, Derecho Comparado y Ley N°19.233”, Editorial Jurídica de Chile, Santiago, Chile, 1999; Licenciado en Ciencias Jurídicas y Sociales, Candidato a Magister en Derecho Universidad de Chile; abogado Carey y Cía. Ltda. 1. Consideraciones Generales. La delincuencia informática hoy en día no reconoce fronteras, por lo que se hace necesaria una revisión urgente de la legislación nacional, para ver si es suficiente para reprimir la delincuencia informática, cometida tanto por personas vinculadas a las empresas e instituciones (insiders) como por individuos a través de Internet y otras redes. La legislación debe ser lo suficientemente completa para lograr disuadir al delincuente de la comisión de sus actividades. La delincuencia informática afecta al mercado financiero, a los clientes y a la seguridad misma de las naciones. Cada día son más comunes los titulares de diarios y revistas sobre la comisión de delitos informáticos. Innumerables accesos no autorizados, fraudes informáticos, alteraciones de datos o sabotajes informáticos no son denunciados por temor a la pérdida de la imagen corporativa. La efectiva aplicación de las leyes se complica debido al carácter de Internet, que permite realizar la conducta ilícita en un territorio distinto de aquel en que se produce el daño. Los mecanismos de cooperación internacional para enfrentar la delincuencia informática se presentan como la gran solución frente al delincuente informático. El presente estudio tiene por objeto el análisis de la insuficiencia de la normativa nacional para enfrentar la constante evolución de la delincuencia informática. En este sentido, junto con efectuarse una breve referencia a la Ley N° 19.223, se acompaña una propuesta de medidas para actualizar nuestra legislación a las exigencias de hoy. 2. Delincuencia Informática. Con el objeto de conceptualizar la delincuencia informática, a continuación se revisarán sus características, partes intervinientes y defensas respecto a la misma. A. Características. Las principales características de los hechos delictivos que conforman la delincuencia informática son los siguientes: - Por regla general, estas conductas no se realizan en un solo acto, sino en una serie continuada de ellos. - Los daños pueden ser experimentados en un lugar o país distinto a aquel en donde se encuentra el delincuente físicamente. - Una vez llevados a cabo, es posible eliminar toda evidencia de su comisión, lo que produce la dificultad del descubrimiento y prueba. - Con frecuencia su ilegalidad no es clara. Dependiendo de la legislación de cada país unas u otras conductas serán penadas. 105 B. El delincuente. Se ha venido realizando una caracterización casi mítica respecto del perfil del delincuente informático, basándose en los primeros casos de estudiantes americanos que fueron dados a conocer, en que se trataba de adolescentes con un coeficiente intelectual alto, y ausentes de toda conciencia de estar obrando mal. El prototipo de delincuentes informáticos descrito por la mayoría de los autores, caracterizaba al sujeto activo de estos delitos como jóvenes cuyas edades fluctuaban entre los 18 y 30 años de edad, en su mayoría varones, solteros, sin antecedentes penales, inteligentes, motivados por su profesión y por el desafío técnico. Esto no constituye más que un mito, por cuanto una gran cantidad de casos de gran gravedad, son cometidos por sujetos que trabajan en el mundo de la informática, de edad superior, y ni la mitad de inteligentes. En la actualidad, una buena parte de las conductas informáticas delictivas se lleva a cabo por personas vinculadas de algún modo a las empresas, como empleados de confianza, técnicos, especialistas en programación, y, en general, todo tipo de personas con acceso material a las instalaciones de procesamiento de datos. Estos sujetos suelen denominarse insiders. Estos suelen ser empleados de confianza por el tiempo que llevan en la empresa o por el tipo de trabajo que desempeñan en ella, y conocen las debilidades del sistema. Sin perjuicio de lo anterior, Internet permite que hoy concurran como sujetos activos de los delitos informáticos los “delincuentes a distancia”, quienes desde cualquier país del mundo pueden atentar contra un sistema de tratamiento de información. C. La víctima. Las víctimas de estos delitos son generalmente personas jurídicas. Se trata, usualmente, de bancos, compañías de seguros, empresas públicas y privadas, sin importar si cuentan o no con medidas técnicas de protección. Una vez que estas asociaciones detectan las conductas ilícitas de las cuales han sido objeto, suelen no denunciar los delitos por temor a sufrir una pérdida en su imagen corporativa. No están dispuestas a perder la imagen de seriedad, solvencia y seguridad, y antes de ver sus debilidades expuestas, prefieren solucionar el problema mediante la aplicación de medidas internas, como despidos o aumento de medidas de seguridad. Por supuesto, esta actitud no hace sino favorecer a los delincuentes, quienes continuarán con sus conductas con la mayor impunidad. D. Defensas. La delincuencia informática es una realidad, y como tal, el desconocerla solo hará más fácil la labor de los delincuentes. La defensa contra este tipo de delincuencia puede provenir desde dos ámbitos, el legislativo y el técnico. a) Defensas técnicas. La defensa técnica consiste en los medios de prevención, descubrimiento y prueba del ilícito informático, desplegados no sólo al interior de las grandes organizaciones, sino que en cualquier medio que exista la presencia de computadores, cuya información desee ser protegida. Esta defensa va desde unas simples recomendaciones de medidas a adoptar al interior de los lugares de trabajo hasta la utilización de los más modernos sistemas de protección, como muros anti fuego, software anti -virus, herramientas detectoras de intrusiones y servicios de autentificación. 106 Los estudios prácticos demuestran que los hechos constitutivos de la delincuencia informática pueden, generalmente, prevenirse por el sujeto pasivo20. Muchos de esto delitos se producen por la falta de medidas de seguridad dispuestas por la víctima. Se adquieren por las instituciones grandes y modernos sistemas computacionales de gran valor, en los cuales se maneja toda la información necesaria para la funcionalidad de la empresa. Lo increíble, es que sabiendo que al interior de esa caja se contiene información vital para el funcionamiento de la institución, no se destinan los recursos necesarios para prevenir la comisión de figuras delictivas. Se cree que el computador se protege a sí mismo. En este sentido, pueden señalarse como principios fundamentales sobre las defensas técnicas, los siguientes: i) Ninguna empresa ha sido víctima de un delito informático hasta que los que lo imputan lo pueden probar (sólo 1 de cada 10 delitos es denunciado); ii) Las medidas de seguridad no son eficaces si no se mantienen las 24 horas del día; iii) El problema de la delincuencia informática no es técnico sino humano; y iv) en materia de delincuencia informática, cualquier tiempo pasado fue mejor. Por su parte, toda estrategia de seguridad debe tener por objetivos los siguientes: i) Disuasión. Disuadir a los delincuentes de intentar cometer acciones ilícitas; ii) Prevención y detección. Si la conducta ilícita es cometida, debe ser detectada y deben existir las medidas de seguridad para prevenir su exitosa realización; iii) Prueba. Si el ilícito ha sido cometido (exitoso o no), debe ser posible probar la ocurrencia del mismo; iv) Minimalización de riesgo. Simplificar la recuperación y corrección de los daños cometidos (copia de seguridad); y v) Respeto por la legislación vigente. No nos corresponde a nosotros enumerar la gran cantidad de medidas preventivas que pueden establecerse, las que van desde simples restricciones para entrar al departamento de informática hasta los métodos más modernos de encriptación de la información, labor que dejamos entregada al experto. La ocasión hace al ladrón. Sólo mediante un adecuado esquema de Seguridad Informática se evitarán las situaciones propicias para la comisión de delitos informáticos. b) Defensas legales. La defensa legislativa, ya no como una posibilidad, sino como una necesidad, debe desplegar toda su capacidad para abarcar las nuevas figuras, a fin de reprimirlas con pleno respeto al principio de reserva o legalidad, y así evitar resoluciones judiciales basadas en la actividad analógica, de manera tal de propender a uno de los fines últimos del derecho, como lo es la seguridad jurídica. Existen diversos elementos influyentes sobre la determinación de regular y cómo regular la delincuencia informática: i) importancia que tenga el mercado informático en la economía del país; ii) estadísticas sobre los niveles de delincuencia informática; iii) herramientas legislativas con que cuente la legislatura. Mayor o menor posibilidad para modificar los preceptos legales; iv) principios jurídicos rectores del ordenamiento legal. Mayor o menor importancia del principio de reserva o legalidad; v) bienes jurídicos inspiradores del sistema político. Mayor o menor protección de la privacidad; y vi) un estudio de política criminal. Habrá ordenamientos interesados en sancionar el acceso indebido y otros no. Sin embargo, a pesar de todos los factores influyentes en la determinación de legislar, y cómo legislar respecto al fenómeno de la delincuencia informática, podremos ver que no existen diferencias radicales respecto de las figuras que regula cada país para enfrentarla. ¿Por qué? Porque dado que el fenómeno informático es uno solo, si bien, en 20 Para un mayor estudio del tema, se recomienda revisar el informe emitido por SANS Institute y el FBI respecto a las 20 vulnerabilidades más críticas de Internet, de fecha 2 de octubre de 2001. http://66.129.1.101/top20.htm 107 ciertos países se encuentra más desarrollado que en otros, estamos frente a una criminalidad cuyos elementos de comisión son iguales en todo el mundo. Existen ordenamientos que consideran que el delito informático no presenta ninguna particularidad en especial, y no encuentran necesidad de distinguir entre información e información computarizada. El computador es simplemente un instrumento para la comisión de delitos tradicionales o clásicos. Una segunda actitud frente a la delincuencia informática es considerar que es necesaria una nueva legislación para enfrentar el problema. Aquí existen dos métodos: modificar la legislación vigente para adecuarla a esta nueva forma de delincuencia, o establecer nuevas figuras sancionatorias del fenómeno informático. Estas dos vías pueden ser usadas en conjunto. En Chile, con la Ley N°19.223 se optó por la creación de una serie de nuevas figuras relativas a la delincuencia informática, que serán analizadas en el numeral siguiente. 3. Ley N° 19.223 Sobre Delincuencia Informática. La Ley N° 19.223 de fecha 7 de junio de 1993, que tipifica figuras penales relativas a la informática21, tiene su origen en la moción presentada ante la Cámara de Diputados por el diputado señor José Antonio Viera-Gallo, con fecha 16 de julio de 1991. La Ley tiene como antecedente directo la legislación francesa, en particular la Ley N° 88-19, de 5 de enero de 1988, Relativa al Fraude Informático. Se trata de figuras pluriofensivas, que junto con proteger el bien jurídico mencionado en la historia de la Ley, esto es, “la calidad, pureza e idoneidad de la información en cuanto tal, contenida en un sistema automatizado de tratamiento de la misma y de los productos que de su operación se obtengan”, protegen otros bienes jurídicos como la propiedad, la privacidad y la confianza en el correcto funcionamiento de los sistemas y redes computacionales. Son figuras dolosas en las cuales se exige además un elemento subjetivo adicional, como la comisión de las acciones “maliciosamente” (artículos 1°, 3° y 4°) o con “el ánimo de apoderarse, usar o conocer indebidamente la información contenida en un sistema de tratamiento de la misma” (artículo 2°). En este sentido, creemos que la función del término “maliciosamente” consiste en dejar sin aplicación la presunción de dolo del artículo 1° inciso segundo22 del Código Penal, ya que según la historia de la Ley serán reiteradas las situaciones en que, por ejemplo, se alteren los datos contenidos en un computador sin la intención de haber provocado ese resultado. Aún falta mucho camino 21 Texto de la Ley N° 19.223 sobre delincuencia informática: Art. 1°. El que maliciosamente destruya o inutilice un sistema de tratamiento de información o sus partes o componentes, o impida, obstaculice o modifique su funcionamiento, sufrirá la pena de presidio menor en su grado medio a máximo. Si como consecuencia de estas conductas se afectaren los datos contenidos en el sistema, se aplicará la pena señalada en el inciso anterior, en su grado máximo. Art. 2°. El que con ánimo de apoderarse, usar o conocer indebidamente de la información contenida en un sistema de tratamiento de la misma, lo intercepte, interfiera o acceda a él, será castigado con presidio menor en su grado mínimo a medio. Art. 3°. El que maliciosamente altere, dañe o destruya los datos contenidos en un sistema de tratamiento de información, será castigado con presidio menor en su grado medio. Art. 4°. El que maliciosamente revele o difunda los datos contenidos en un sistema de información, sufrirá la pena de presidio menor en su grado medio. Si quien incurre en estas conductas es el responsable del sistema de información, la pena se aumentará en un grado, 22 Art. 1 inciso 2° Código Penal: “Las acciones u omisiones penadas por la ley se reputan siempre voluntarias, a no ser que conste lo contrario”. 108 por recorrer respecto a la cultura informática. Estos sistemas, a pesar de su gran capacidad y utilidad, siguen siendo sumamente sensibles. Basta un poco de café, humo de cigarrillo o fijador de pelo, para que éstos fallen. De hecho, la medida de seguridad básica consiste en la creación de las denominadas copias de seguridad, debido a la posibilidad de perder la información. Por su parte, “el ánimo de apoderarse, usar o conocer indebidamente la información contenida en un sistema de tratamiento de la misma”, exige para la perfección del tipo la concurrencia en el sujeto activo de un determinado motivo o ánimo que debe ir encaminado a apoderarse, usar o conocer información de la cual no tiene derecho a apoderarse, usar o conocer. En el ánimo del sujeto se encuentra el conocimiento de que la información de la cual desea apoderarse, usar o conocer está restringida para él. Su artículo 1° inciso primero contempla la figura del denominado “sabotaje informático”, esto es, la destrucción (deshacer o arruinar una cosa material) o inutilización (pérdida de utilidad o utilidad limitada para el fin que el sistema está determinado, sin la destrucción del mismo) de un sistema de tratamiento de información (hardware y/o software) o sus partes o componentes, o el impedimento (imposibilidad total para que el sistema ejecute sus funciones propias), obstaculización (el sistema no puede cumplir su función de tratar la información, o si puede, que lo hace de manera dificultosa) o modificación (el sistema sigue funcionando y prestando utilidad, pero no funciona de la forma prevista por el titular del sistema, ni le da a éste la utilidad que había previsto) de su funcionamiento. Como ejemplo, podríamos señalar la introducción de un virus computacional para que el sistema funcione más lento, o funcione imperfectamente, o que finalmente no pueda funcionar. El inciso 2° del artículo 1° contempla una figura agravada. Si como consecuencia de las acciones descritas en el inciso primero, se afectaren los datos contenidos en el sistema, la penalidad se agravará. El fundamento se encuentra en que es posible prever que si se realizan las acciones del inciso primero, producto de éstas los datos contenidos en el sistema pueden resultar alterados, dañados o destruidos. El artículo 2° sanciona el denominado “espionaje informático”, esto es, el interceptar (evitar que la información llegue a su destino), interferir (introducir en la recepción de una señal otra extraña y perturbadora) o acceder a un sistema de tratamiento de información con ánimo de apoderarse, usar o conocer indebidamente la información contenida en el mismo. Se incluye en este tipo la intercepción de datos en transmisión y la sustracción o copia de datos. Recordemos que un sistema automatizado de tratamiento de la información es mucho más que un computador. Las líneas a través de las cuales se envía la información de computador a computador son, por ejemplo, integrantes del sistema. Por lo tanto las acciones pueden recaer tanto en los computadores como en las líneas a través de las cuales se envía una comunicación. El artículo 3° sanciona el denominado delito de “alteración de datos”, que consiste en alterar (introducción de datos erróneos, transformación y desfiguración de datos, y el suprimir datos correctos), dañar (borrado parcial de datos o oscurecimiento de datos) o destruir (borrado de datos, que los hace desaparecer de modo completo e irrecuperable) los datos contenidos en un sistema de tratamiento de información. La ley 19.223 distingue entre el delito de sabotaje informático y la alteración de datos. El sabotaje informático hace referencia a las acciones contra el sistema de tratamiento de información o contra su funcionamiento. En cambio, el delito de alteración de datos se refiere a las acciones contra los datos. El artículo 4° sanciona la revelación o difusión de datos contenidos en un sistema de tratamiento de información. Cuando se ocupa el verbo revelar, el dato debe ser secreto. Si se ocupa el verbo difundir, no es necesario que el dato sea secreto, pero 109 creemos que sólo deberían protegerse por este artículo aquellos datos que realmente sean de interés para el sujeto pasivo. El inciso segundo del artículo 4° contempla una agravante de responsabilidad, cuando el que incurre en las acciones de revelación y difusión es el responsable del sistema de tratamiento de información. Este es el único caso en que la ley exige la concurrencia de un sujeto calificado. 4. Insuficiencia de la Ley N° 19.223. Propuesta de Complementación. Sin lugar a dudas el texto de la Ley N° 19.223 es actualmente insuficiente para combatir la delincuencia informática en Chile. La Ley fue creada en 1993, año en que el fenómeno Internet aún no lograba desarrollarse en el país. Por lo cual, el legislador al momento de tipificar las conductas, no pudo dimensionar el cambio que produciría Internet en nuestra sociedad, y en el comportamiento de los delincuentes. A lo menos, creemos que debe estudiarse i) la sanción de los delitos de fraude informático, acceso no autorizado, creación y distribución de virus o programas dañinos, y falsificación informática; ii) la reformulación de los tipos de sabotaje informático, alteración de datos y apoderamiento de información; y iii) la incorporación de conceptos esenciales para una correcta aplicación de la ley . Junto con lo anterior, debe hacerse un esfuerzo para incorporar al país a las iniciativas internacionales que se están realizando con el objeto de sancionar la delincuencia informática de manera global, mediante la cooperación internacional de todos los países. Internet permite realizar un delito en Chile desde cualquier país del mundo. Es por ello, que la única forma de protegerse frente a delincuencia informática, es la cooperación internacional. Sin perjuicio de lo anterior, cabe celebrar y elogiar los intentos de la Policía de Investigaciones de Chile, que mediante la Brigada Investigadora del Ciber Crimen (Bricib), creada en octubre de 2000, ha marcado presencia en la investigación y persecución de los delitos informáticos. Por otra parte, se han desarrollado cursos de perfeccionamiento sobre estas materias para los miembros del poder judicial, los que permiten tener un mayor conocimiento sobre la realidad de la delincuencia informática. A continuación, analizaremos: i) las figuras de fraude informático, acceso no autorizado, creación y distribución de virus y programas dañinos y falsificación informática; ii) la reformulación de los tipos de sabotaje informático, alteración de datos y apoderamiento de información; iii) la incorporación de conceptos esenciales para una correcta aplicación de la ley; y iv) la cooperación internacional contra la delincuencia informática. A. Fraude informático. Dentro del fenómeno de la delincuencia informática, reviste particular importancia el denominado fraude informático, debido al creciente aumento de manipulaciones fraudulentas de elementos informáticos. La diversidad de modalidades de comportamientos constitutivos de fraude informático no tiene límites. Esta figura vino a absorber todas aquellas conductas defraudatorias que, por tener incorporada la informática como herramienta de comisión, no podían ser subsumidas en el tipo clásico de la estafa del derecho comparado. Esta vinculación con la estafa desde sus inicios determinó además que el concepto, estructura y contenido del fraude informático fueran construidos a partir de los elementos del delito de estafa. Las manipulaciones fraudulentas de elementos informáticos se dirigen a obtener un lucro en perjuicio económico de otro. En este sentido, el perjuicio económico debe entenderse tanto en su carácter individual como macro social. Esto nos permite afirmar que las defraudaciones por medios informáticos lesionan algo más que el patrimonio, hay un interés social valioso y digno de protección, como lo es la confianza en el correcto funcionamiento de los sistemas automatizados de tratamiento de la información. 110 Mucho se ha discutido si las conductas sancionadas mediante el fraude informático pueden ser sancionadas al amparo del delito de estafa23 tipificado en el Art. 468 de nuestro Código Penal. En este sentido, creemos que el delito de estafa de nuestro Código Penal presenta dificultades para comprender a aquellas conductas defraudatorias realizadas por medios informáticos, en sistemas de tratamiento automatizado de la información en que no intervienen personas en su control, e incluso en aquellos en que existe la presencia de personas, pero cuyas intervenciones están limitadas a accesos meramente mecánicos. El delito de estafa presupone que una persona sea engañada, y que se la induzca como consecuencia de esa conducta a un error que la lleva a realizar un acto de disposición patrimonial lesivo, pero en las manipulaciones defraudatorias, este engaño no ocurre. No se puede engañar a una máquina (computador), el engaño supone una relación psicológica entre el agente y el sujeto engañado. Es por lo anterior, que el fraude informático comprende todas las conductas de manipulaciones defraudatorias, abusos o interferencias en el funcionamiento de un sistema de tratamiento automatizado de datos, con la intención de obtener un provecho, para producir un perjuicio económico. Eso sí, el fraude informático debe tener siempre las notas configuradoras de una defraudación. Defraudación entendida como la causación de un perjuicio económico, irrogado mediante un medio engañoso, fraudulento (que aquí es la manipulación de los elementos informáticos). Cabe hacer presente, que durante el proceso de formación de la Ley N° 19.223, el Gobierno, presentó indicación al proyecto en cuanto a incorporar el fraude informático mediante el siguiente artículo: “Artículo 2°, Intercálese, a continuación del artículo 468 del Código Penal, el siguiente artículo 468 bis, nuevo: Art. 468 bis. Incurrirán asimismo en las penas establecidas en el artículo 467, los que, con ánimo de lucro, defraudasen a otro mediante una manipulación informática que interfiera en la recepción, procesamiento o transmisión de datos, causando con ello un perjuicio económico”.24 Esta indicación junto con las demás propuestas por el Gobierno fueron rechazadas por la Comisión de Constitución, Legislación y Justicia de la Cámara de Diputados. Por todo lo anterior, es que creemos debe incorporarse a nuestra legislación el fraude informático, como una figura dolosa, en la cual se exija como elemento subjetivo del tipo el ánimo de lucro, y como elemento objetivo la obtención mediante una manipulación informática de una transferencia indebida de cualquier activo patrimonial en perjuicio de tercero. Las manipulaciones informáticas pueden efectuarse sobre los datos (al momento de ser ingresados al sistema mediante el suministro de datos falsos, cuando salen del sistema o cuando son transmitidos a través de Internet y otras redes), o sobre el programa del sistema (en este caso los datos suministrados no son falsos pero se manipula el programa para que el procesamiento de los datos conduzca a resultados falsos). Es así como estaríamos frente a casos de manipulaciones informáticas, por ejemplo, en la utilización de datos en forma incorrecta o de una manera incompleta, o bien al utilizarlos sin estar autorizado, no olvidando en todo caso que estas manipulaciones deben ser fraudulentas, es decir, no basta con la sola manipulación de 23 Art. 468 Código Penal: “Incurrirá en las penas del artículo anterior el que defraudare a otro usando de nombre fingido, atribuyéndose poder, influencia o créditos supuestos, aparentando bienes, crédito, comisión, empresa o negocios imaginarios, o valiéndose de cualquier otro engaño semejante.” 24 BOLETÍN OFICIAL N°412 -07, de la Honorable Cámara de Diputados y Senado de la República de Chile, p. 1972. 111 elementos informáticos, sino que es necesario que concurran las notas configuradoras de una defraudación (causación de un perjuicio económico, por un medio astuto, engañoso). Ejemplo de la utilización de datos incorrectos podemos observar en el caso del uso fraudulento de tarjetas falsificadas u otros instrumentos (como detectores de clave) para obtener dinero metálico de un cajero automático. En cuanto a la utilización de datos no autorizados, sería el caso, por ejemplo, de aquel sujeto que ocupe en forma fraudulenta una tarjeta u otro instrumento destinado a la obtención de dinero de un cajero automático, sin ser su titular (la tarjeta no ha sido falsificada en este supuesto, sino que ésta no estaría siendo utilizada por su verdadero titular). Como otros ejemplos de manipulaciones informáticas, podemos citar el caso de aquel empleado de una entidad bancaria que seleccione cuentas de ahorro que no hayan registrado movimiento alguno durante un largo periodo de tiempo, y transfiera sus fondos a otras cuentas abiertas por él, o bien el caso de aquel empleado de una empresa que con la ayuda de un programa especialmente elaborado logre intercalar en la base de datos de los sueldos de la empresa, los datos de sueldos de personas ficticias, e indica su propia cuenta para que le depositen los sueldos de dichas personas. La manipulación informática sería el equivalente al engaño y al error del delito de estafa. La transferencia del activo patrimonial se produce como consecuencia de las manipulaciones informáticas fraudulentas. Esta transferencia puede producirse directamente a través de las manipulaciones de los elementos informáticos, o bien puede obtenerse a través de un tercero en el caso que no concurran en éste los elementos constitutivos de la estafa, como lo son el engaño, en cuanto relación directa entre dos seres humanos, o un error psicológico en una persona). El agente de la acción accede a una transferencia de un activo, al cual no tiene derecho, y la expresión cualquier activo tiene por finalidad no restringir el objeto transferido a una cosa corporal, incluyendo así tanto el dinero metálico, como el dinero contable o giral (el cual la opinión generalizada no constituye una cosa corporal). Finalmente, producto de la transferencia indebida de un activo patrimonial se produce el perjuicio de tercero, esto es, un desequilibrio patrimonial sin fundamento legal. Día a día podemos observar como el comercio electrónico y las transacciones bancarias aumentan en Internet. Este tipo de operaciones vía computador, en que una persona puede realizar desde su hogar transacciones comerciales o movimientos bancarios, si bien forman parte de las estrategias de mejoramiento de servicio al cliente, pueden constituir a su vez focos de criminalidad, específicamente de manipulaciones informáticas fraudulentas. Estos supuestos en los cuales no concurre la existencia de una persona engañada, que sufra un error psicológico y que como consecuencia de ello realice la disposición patrimonial (elementos exigidos por el tipo de estafa del Código Penal), en virtud de esta norma que proponemos quedarían cubiertos, y por lo tanto podrían ser sancionados. B. Acceso no autorizado. El artículo N° 2 de la Ley N° 19.223 tipifica el acceso a un sistema de tratamiento de la información, pero tal como lo vimos en el numeral 3 anterior de este artículo, se exige la concurrencia de un elemento subjetivo como lo es “el ánimo de apoderarse, usar o conocer indebidamente la información.” Sin perjuicio de lo anterior, la figura de acceder sin autorización a un sistema de tratamiento de información, constituye delito individualmente considerado, en muchas legislaciones. En este sentido, creemos que junto a las conductas sancionadas por el artículo N° 2 de la Ley N° 19.223, se debe tipificar la figura de acceso no autorizado sin la concurrencia de un elemento subjetivo. Debe bastar con el acceso sin autorización o sin derecho a un sistema de tratamiento de información, concepto que comprende a los sitios web en Internet. 112 Esta acción de acceder a un sistema, mediante la violación de las medidas seguridad, por más mínimas que sean, evidentemente significa una puesta en peligro del bien jurídico protegido, ya sea éste la calidad, pureza e idoneidad de la información, la propiedad o la privacidad. Nadie tiene que estar tratando de superar las medidas de seguridad de un sistema de tratamiento de información o un sitio web. Para que el tipo se perfeccione, no se debe exigir ningún ánimo del agente, bastando el acceso al sistema al cual el sujeto activo no tiene derecho a acceder o la realización de actos tendientes a acceder a un sistema. Esta figura de acceso no autorizado o indebido a un sistema de tratamiento de información formaba parte del proyecto original chileno sobre “Delitos Informáticos”, que presentó el diputado señor José Antonio Viera-Gallo a la Cámara de Diputados, en la sesión 19ª, de fecha 16 de julio de 1991. En el proyecto original el artículo 2° señalaba: “el que sin derecho intercepte, interfiera, o acceda a un sistema automatizado de tratamiento de información será castigado con presidio menor en su grado medio.” Desafortunadamente, durante los trámites constitucionales posteriores a que dio lugar la Ley N° 19.223, el legislador fue desnaturalizando esta figura hasta el punto de hacerla desaparecer del texto legal. La situación no deja de ser grave. En el delito de violación de correspondencia, artículo 146 del Código Penal25 se sanciona, como primera acción “el abrir”, no exigiendo ningún elemento subjetivo, sin perjuicio de sancionar con una mayor penalidad a quien divulgare o se aprovechare de los secretos que la correspondencia o los papeles de otro contienen. Se sanciona la conducta de abrir porque ya existe una lesión al bien jurídico protegido a través de su modalidad de puesta en peligro. No se exige que se tome conocimiento del contenido de la correspondencia ni que divulgue su contenido. Una vez que un sujeto se encuentra en conocimiento por medios ilícitos de las claves secretas para ingresar a un sistema de tratamiento de información, éstas, pueden llegar a las manos de un delincuente. Por todo lo anterior, para nosotros el verbo “acceder” significa penetrar o ingresar a un sistema de tratamiento de la información, permaneciendo o no en él. Bastaría el hecho de entrar en un sistema por un segundo, luego de descifrada la clave de acceso o de violentada sus medidas de seguridad, para que el verbo acceder esté satisfecho. Esta acción es equivalente a copiar la llave de un escritorio o de una casa, abrir el cajón o la puerta, probar que se tiene la capacidad de abrir y luego cerrar y marcharse, llevándose la llave. Esta es una acción potencialmente delictiva, que debe ser penalizada, lógicamente con una pena menor. Parte de la doctrina y derecho comparado exigen en el tipo que el sistema se encuentre protegido contra accesos no autorizados, porque ello sería prueba de que la información que se protege es valiosa. No estamos de acuerdo con la inclusión de ese elemento, ya que con el mismo, la protección penal se estaría haciendo aplicable sólo a aquellos que pueden costear medidas de seguridad. Junto con lo anterior, parece ser que existe la creencia que cuando un sitio web es objeto de un acceso no autorizado, son los responsables del sitio los culpables por no haber adoptado las medidas de seguridad adecuadas. A menudo escuchamos las declaraciones de jóvenes que han accedido “ilegalmente” a sitios, que justifican su actividad en que el sitio correspondiente no tenía medidas de seguridad. Con esto, finalmente el sitio que ha sido objeto de un acceso no autorizado termina siendo criticado públicamente, cuando ha sido el objeto de una acción ilícita. 25 Art. 146 inciso 1° Código Penal: “El que abriere o registrare la correspondencia o los papeles de otro sin su voluntad, sufrirá la pena de reclusión menor en su grado medio si divulgare o se aprovechare de los secretos que ellos contienen, y en el caso contrario la de reclusión menor en su grado mínimo.” 113 Los accesos no autorizados son una realidad, desconocerlos sólo hará más fácil la labor de los delincuentes. Las empresas no deben tener temor a denunciar que han sido objeto de accesos no autorizados por perdida de la imagen corporativa. La autoprotección es importante, pero no todos las empresas pueden destinar grandes cantidades de dinero para protegerse. Es la ley la que debe proteger a las personas. C. Creación y distribución de virus y programas dañinos. El estudiante de la República de Filipinas creador del famoso virus denominado “I Love You”, luego de ser investigado es dejado libre, ya que la creación de virus y programas dañinos para los sistemas informáticos no se encuentra penada en dicho país. Poco tiempo más tarde, con el objeto de evitar la repetición de hechos como estos, se dicta en la República de Filipinas la ley N° 8.792, de fecha 14 de junio de 2000, que regula la validez y uso de transacciones y documentos electrónicos comerciales y no comerciales, y las penas por sus usos ilegales. La Parte V y final de dicho texto legal sanciona en la sección 33 la introducción de virus computacionales y otros, que provoquen la destrucción, alteración, robo o pérdida de mensajes de datos electrónicos o documentos electrónicos con pena privativa de libertad y multa. En México, el creador y distribuidor del virus W32/SirCam (hola cómo estás? Te mando este archivo para que me des tu punto de vista) no podría ser demandado por la figura de creación y distribución de virus por no encontrarse tipificada. Sin perjuicio de lo anterior, a contar de 1999 existen en el Código Penal Federal mexicano disposiciones que sancionan la modificación, destrucción o la provocación de pérdida de información contenida en sistemas o equipos informáticos con pena privativa de libertad de hasta 2 años, tipo que podría ser aplicado. Sin perjuicio de lo anterior, no parece lógico que una persona creadora de un virus que causa millones de dólares en pérdidas sea procesada por el delito de alteración de datos o sabotaje informático, y no por una figura que sancione conductas que pueden tener repercusiones mundiales. Países como Canadá y los Estados Unidos de América ya han tipificado las figuras de creación y distribución virus. Perseguir a esta clase de conductas se hace sumamente complicado si esto se hace a través de los tradicionales tipos de sabotaje informático y alteración de datos. En muchas ocasiones, el virus no viene directamente del delincuente, sino que por el contrario viene del computador de alguien que conocemos, quien hasta desconoce que su computador ha sido infectado, y que él mismo está infectando otros sistemas de tratamiento de información. ¿A quién debemos culpar, al dueño del computador de donde se envió el virus o al creador del mismo? ¿y qué sucede cuando el creador del virus no se encuentra en la jurisdicción donde se cometió el daño? ¿y si esa conducta no se encuentra penalizada en el lugar donde se creó el virus? Los autores de los variados y originales virus26 a los cuales nuestros computadores se ven expuestos cada día, con los perjuicios que eso significa a nivel individual como global, deben ser sancionados. El peligro y daño de dichas conductas son demasiado graves para permitir la evasión de la pena. Por todo lo anterior, es que creemos que la sanción de la creación y distribución de programas destinados a dañar los sistemas de tratamiento de la información y las redes debe ser cubierta a través de un nuevo tipo, y no a través de las figuras de sabotaje informático y alteración de datos, las que no fueron creadas para reprimir esta nueva clase de conductas ilícitas, que producen daños a nivel mundial. Sólo la tipificación de estas conductas por los ordenamientos penales de los países, permitirá hacer frente a la delincuencia informática desde una perspectiva global y mundial. 26 Jerusalem, Concept, Melissa, I Love You, W32/SirCam, W32/CodeRed, W32/Nimda@?M, etc. 114 La Convención Sobre Delitos en Internet, que será analizada en el literal G) siguiente, sanciona en su artículo 6 la creación y distribución de programas computacionales, con el objeto de cometer los delitos informáticos sancionados por la misma. D. Falsificación informática. La Ley N°19.799 Sobre Documentos Electrónicos, Firma Electrónica y Servicios de Certificación de dicha Firma, publicada en el Diario Oficial de fecha 12 de abril de 2002 viene a reconocer el denominado documento electrónico. De acuerdo a la ley, se entiende por documento electrónico: toda representación de un hecho, imagen o idea que sea creada, enviada, comunicada o recibida por medios electrónicos y almacenada de un modo idóneo para permitir su uso posterior. En este sentido, no cabe duda que el uso del documento electrónico en el tráfico comercial y jurídico logrará un gran desarrollo. Si bien, la ley regula los efectos procesales del documento electrónico, creemos que a fin de precaver la falsificación de los mismos, y la sanción de dicha conducta, es que debe incorporarse el delito de falsificación informática a nuestra ley. Muchos podrán creer que a través de una interpretación extensiva de la ley es posible sancionar la falsificación informática a través de los artículos 193 a 198 de nuestro Código Penal, pero dicho ejercicio no es propio en materia penal, donde debe primar una interpretación restrictiva. El legislador de nuestro Código Penal jamás tuvo en mente sancionar la falsificación de un documento electrónico, lo que al momento de aplicar la pena, podría inhibir a nuestros tribunales de aplicar el tipo clásico de falsificación a los documentos electrónicos. Por todo lo anterior, es que recomendamos la creación del tipo de falsificación de documento electrónico, a fin de mantener el principio de tipicidad y legalidad en materia penal. E. Reformulación de los tipos de sabotaje informático, alteración de datos y apoderamiento de información. Como pilares de una legislación sancionadora de la delincuencia informática, recomendamos efectuar cambios menores en los tipos de sabotaje informático (art. 1° Ley N°19.223), alteración de datos (art. 3° Ley N°19.223) y apoderamiento de información (art. 2° Ley 19.223), principalmente debido a los cambios en la ley que produciría la tipificación del acceso indebido. En este sentido, se recomienda eliminar el ánimo del tipo de apoderamiento de datos a fin de facilitar la prueba de su comisión, y complementar el tipo de alteración de datos incorporando el verbo rector “interceptar”, a fin de sancionar también la alteración de datos que se encuentran en proceso de transmisión. La comisión de las conductas anteriormente sancionadas sin dolo sería sancionada como una figura agravada del acceso indebido. De esta manera, aquel que ejecute actos tendientes a acceder a un sistema informático o acceda al mismo sin estar autorizado, debe responder por las consecuencias que su actuar antijurídico produzca. F. La incorporación de conceptos esenciales para una correcta aplicación de la ley. Se recomienda reemplazar “sistema de tratamiento de información” por “sistema informático”, definiendo dicho concepto en la ley a fin de volver a la idea original de esta ley, en el sentido de proteger objetos que por su naturaleza no se encontraban protegidos por la normativa clásica. Podrá discutirse si es propio de una legislación sobre delincuencia informática sancionar junto con el software el hardware, pero jamás se podrá pretender como consta en la historia de la Ley N°19.223, que a través de una 115 ley de delitos informáticos se sancionen las acciones sobre registros manuales o sistemas manuales de tratamiento de la información.27 Se recomienda incorporar el concepto de documento electrónico que contiene La Ley N°19.799 Sobre Documentos Electrónicos, Firma Electrónica y Servicios de Certificación de dicha Firma, en su artículo 2°.- Letra d), a fin de facilitar la sanción de la falsificación informática G. Cooperación internacional. Convención Sobre Delitos en Internet. La naturaleza misma de los delitos cometidos a través de Internet hace imposible su persecución, si no existe la colaboración internacional entre los países. Se trata de delitos cuya ejecución puede ser realizada en un país distinto a aquel en que se reflejan los daños. Por ello, una conducta lesiva debe ser delito en cada jurisdicción. Así, no obstante de respetar las legislaciones locales, los Estados deben definir delitos informáticos basados en un modelo común. Chile debe participar en las iniciativas internacionales contra la delincuencia informática. Un importante esfuerzo para crear un modelo de enfoque respecto a la delincuencia informática finalizó exitosamente el 8 de noviembre de 2001 en el Consejo de Europa28, que reúne a 41 países, junto a otros Estados no miembros como Estados Unidos, Canadá, Japón y Sudáfrica. Se trata del primer tratado internacional sobre delitos en Internet, en adelante indistintamente la “Convención Sobre Delitos en Internet” o la “Convención”. La Convención pretende sancionar las acciones dirigidas en contra de la confidencialidad, integridad y la disponibilidad de los sistemas computacionales, redes e información computacional, como el mal uso de dichos sistemas, redes e información, mediante la penalización y adopción de medidas necesarias para combatir efectivamente dichas conductas, mediante la facilitación de la detección, investigación y procesamiento de las mismas, tanto a nivel nacional como internacional, junto a una rápida y confiable cooperación internacional. La Convención clasifica los delitos en 5 títulos, los que deberán ser incorporados a las legislaciones nacionales por cada uno de los países que subscriban la Convención: Título 1. Delitos en contra de la confidencialidad, integridad y disponibilidad de sistemas e información computacional. Se sanciona el acceso no autorizado, la intercepción de datos, la alteración de datos, la intervención de sistemas y el mal uso de instrumentos (incluyendo virus computacionales) para cometer las conductas antes mencionadas. Título 2. Delitos relacionados con la informática. Se sanciona la falsificación informática y el fraude informático. Título 3. Delitos relacionados con el contenido. Se sanciona la difusión de pornografía infantil. Título 4. Delitos relacionados con las infracciones a la propiedad intelectual y derechos conexos. Se sanciona la difusión de obras protegidas en infracción a las normas sobre propiedad intelectual y derechos conexos. Título 5. Delitos relacionados con la colaboración y encubrimiento de las conductas mencionadas en los títulos anteriores. En este título se contempla además la posibilidad 27 Para una mayor profundización sobre esta materia, se recomienda ver “Delincuencia y Fraude Informático Derecho Comparado y Ley N°19.223”, Editorial Jurídica de Chile, 1999, pág. 139. 28 http://conventions.coe.int/treaty/en/projets/FinalCybercrime.htm. 116 de hacer responsables a las personas jurídicas por las conductas realizadas en su beneficio por personas naturales. La Convención aborda normas comunes sobre procedimiento, investigación, prueba (recopilación de datos informáticos en tiempo real, intercepción de datos, etc.) y competencia, que deberán adoptar los Estados. En materia de cooperación internacional, la Convención señala las normas generales que regularan dicha cooperación, normas sobre extradición, mutua asistencia, normas sobre cooperación en la investigación y prueba de delitos informáticos. La Convención otorga a la policía la posibilidad de obligar a empresas a conservar datos de divulgación, tráfico y conexión, para poder rastrear el origen de un ataque informático. Un borrador del texto de la Convención ha sido preparado durante 4 años por el Comité de Expertos en Delitos en Internet del Consejo de Europa, junto a los demás países que sin ser miembros de dicho consejo han participado en esta iniciativa. Sólo en abril del año 2000 el borrador fue dado a conocer al público en general. Grupos defensores de la privacidad y de los derechos humanos objetaron el borrador de la Convención, por la falta de resguardos procesales para proteger los derechos de las personas, y por la posibilidad de que leyes nacionales de los países suscriptores impongan restricciones a la privacidad, al anonimato y a la encriptación de datos.29 Por otro lado, también se ha argumentado que los requerimientos a los proveedores de servicios de Internet, para monitorear las comunicaciones y para proveer asistencia a los investigadores, son muy costosos y gravosos. La Convención fue aprobada por la Asamblea Parlamentaria del Consejo de Europa con fecha 24 de abril de 2001, y por el Comité Europeo Sobre Crímenes el 22 de junio de 2001. Con fecha 19 de septiembre de 2001, los Diputados del Comité de Ministros del Consejo de Europa aprobaron presentar el Convenio para la aprobación final del Comité de Ministros del Consejo de Europa, aprobación que fue obtenida con fecha 8 de noviembre de 2001. La Convención entrará en vigencia el primer día del mes siguiente a la expiración del período de 3 meses después de la fecha en que 5 Estados, incluyendo a lo menos 3 Estados miembros del Consejo de Europa, hayan expresado su consentimiento de someterse a las disposiciones de la Convención. La Convención tendrá un protocolo adicional por el cual cualquier contenido racista o xenofóbico, que sea publicado a través de redes computacionales será considerado un delito. Las características de la delincuencia informática provocan que la misma sea un problema global, que sólo podrá ser enfrentado y controlado mediante la cooperación de los distintos países. Por ello, recomendamos que Chile participe en estas iniciativas. Finalmente, hacemos presente que el artículo 37 de la Convención, contempla el procedimiento para que Estados que no han participado en la preparación de la Convención, puedan adherirse a la misma. 5. Proyecto de Ley que modifica la Ley 19.223. Con fecha 2 de junio de 2002, se presentó a la Honorable Cámara de Diputados una moción que tiene por objeto incorporar las siguientes modificaciones a la Ley N°19.223: i) incorporar el tipo de acceso indebido; ii) reformular los tipos de sabotaje informático, alteración de datos y apoderamiento de información; y iii) aplicar junto con penas privativas de libertad multas pecuniarias a beneficio fiscal y de los afectados. El texto de la moción que fuera suscrita por los señores diputados Dario Paya Mira, Camilo Escalona Medina, Iván Noranbuena Farías, Andrés Egaña Respaldiza, 29 www.gilc.org. 117 Iván Moreira Barros, Sergio Correa de la Cerda, Patricio Walker Prieto, Juan Bustos Ramírez, Rosauro Martínez Labbé y Pablo Longueira Montes, es el siguiente: Artículo único: Modificase la Ley número 19.223 de 1993, que tipifica figuras penales relativas a la informática. 1) Sustitúyase el artículo primero de la ley 19.223 por el siguiente: Artículo 1°.- El que sin autorización acceda a un sistema electrónico de almacenamiento o procesamiento de datos, o a través del cual se provee un servicio electrónico de comunicaciones sufrirá la pena de presidio menor en sus grados mínimo a medio, una multa de beneficio fiscal de 50 a 100 Unidades Tributarias Mensuales y una multa del mismo monto a beneficio de cada uno de los afectados, sin perjuicio de las indemnizaciones de perjuicio que se puedan reclamar de conformidad a la ley. Cuando con motivo de dicho acceso se produzca una alteración de los datos almacenados o del funcionamiento del sistema se aplicará a quien incurra en él, aún sin la intención de causar dicha alteración, la pena de presidio menor en su grado medio y las multas indicadas en el inciso anterior. 2) Sustitúyase el artículo segundo de la ley 19.223 por el siguiente: Artículo 2°.- Cuando el acceso no autorizado descrito en el artículo anterior tenga el propósito de apoderarse de datos, conocerlos indebidamente, obtener ventaja comercial, o se ejecute excediéndose una autorización vigente, se aplicará la pena de presidio menor en sus grados medio a máximo, y las multas respectivas serán de 200 a 500 Unidades Tributarias Mensuales. 3) Sustitúyase el artículo tercero de la ley 19.223 por el siguiente: Artículo 3°.- El que maliciosamente destruya o inutilice un sistema de almacenamiento o procesamiento de datos, obstaculice o modifique su funcionamiento, o modifique o destruya los datos contenidos en él sufrirá la pena de presidio menor en su grado máximo y las multas indicadas en el artículo anterior. 6. Nuestro proyecto. Sin perjuicio de acoger positivamente el proyecto de ley mencionado en el numeral 5 anterior, venimos en proponer el siguiente proyecto de ley de modificación de la Ley N°19.223 tomando en consideración el proyecto mencionado y todos los argumentos expresados a través de este informe. 1. Definiciones. Artículo 1°.- Para los efectos de esta ley se entenderá por: a) Sistema informático: todo dispositivo o grupo de dispositivos interconectados o relacionados, que conforme a un programa realizan el procesamiento y transmisión automatizada de datos; y b) Documento electrónico: la definición que para documento electrónico otorga la Ley N°19.799 Sobre Documentos Electrónicos, Firma Electrónica y Servicios de Certificación de Dicha Firma en su Artículo 2°, letra d). 118 2. Acceso ilegal. Artículo 2°.- El que sin autorización realice cualquier acto tendiente a acceder o acceda a un sistema informático, será castigado con presidio menor en su grado mínimo. Si como consecuencia de estas conductas se materializare cualquiera de los resultados sancionados por los artículos 3°, 4°, 5°, 6° y 7° de esta ley, sin la intención de causar tales resultados, se aplicará la pena de presidio menor en su grado medio. 3. Apoderamiento de información. Art. 3°.- El que sin autorización conozca, use o se apodere de datos contenidos en un sistema informático, será castigado con presidio menor en sus grados medio a máximo. 4. Sabotaje informático. Art. 4°.- El que maliciosamente destruya o inutilice un sistema informático, o impida, obstaculice o modifique su funcionamiento, sufrirá la pena de presidio menor en sus grados medio a máximo. Si como consecuencia de estas conductas se afectaren los datos contenidos en el sistema, se aplicará la pena señalada en el inciso anterior, en su grado máximo. 5. Intercepción, interferencia y alteración de datos. Art. 5°.- El que maliciosamente intercepte, interfiera, altere, dañe o destruya los datos contenidos en un sistema informático, será castigado con presidio menor en sus grados medio a máximo. 6. Falsificación informática. Art. 6°.- El que maliciosamente cometiere alguna de las falsedades designadas en el artículo 193 del Código Penal en un documento electrónico, será castigado con presidio menor en sus grados medio a máximo. 7. Mal uso de dispositivos o programas de diseminación de virus. Art. 7°.- La creación o distribución de cualquier dispositivo o programa, con el objeto de materializar las conductas sancionadas por los artículos anteriormente mencionados de esta ley, será castigado con presidio menor en su grado máximo. 8. Revelación o difusión de datos. Art. 8°.- El que maliciosamente revele o difunda los datos contenidos en un sistema informático, sufrirá la pena de presidio menor en su grado medio. Si quien incurre en estas conductas es el responsable del sistema informático, la pena se aumentará en un grado, 9. Fraude informático. Art. 9°.- Incurrirán asimismo en las penas establecidas en el artículo 467 los que, con ánimo de lucro, obtengan mediante una manipulación informática una transferencia indebida de cualquier activo patrimonial en perjuicio de tercero. 10. Multas. Artículo 10.- Además de las penas privativas de libertad anteriormente mencionadas, se aplicará una multa de beneficio fiscal de 50 a 1.000 Unidades Tributarias Mensuales y una multa del mismo monto a beneficio de cada uno de los afectados, sin perjuicio de las indemnizaciones de perjuicios que se puedan reclamar de conformidad a la ley. 119 7. Conclusiones. La revisión y actualización de nuestra legislación penal sobre delincuencia informática, debe efectuarse a la brevedad posible. En este sentido, cuando la ley 19.223 fue creada el fenómeno Internet no se había desarrollado aún en nuestro país. Se hace necesaria la incorporación y tipificación de las figuras de fraude informático, acceso no autorizado y creación y distribución de virus y programas dañinos. Junto con lo anterior, creemos que Chile debe participar en las iniciativas internacionales destinadas a prevenir y sancionar el delito informático. Una de las características de estos delitos es que pueden ser realizados desde países distintos a aquellos en que se produce el daño. Por ello es que sólo a través de la cooperación internacional será posible enfrentar a la delincuencia informática, y otorgar seguridad al comercio electrónico. BIBLIOGRAFÍA BRENNER, Susan W., “State Cybercrime Legislation in the United States of America: A Survey”, The Richmond Journal of Law and Technology, Volume VII, Issue 3, Winter 2001. Carta de la Global Internet Liberty Campaign (GILC) al Consejo de Europa acerca de la Convención sobre cibercrimen, versión 24.2, 12 de diciembre de 2000. http://www.gilc.org/privacy/coe-letter-1200.html. Código Penal de Canadá. http://laws.justice.gc.ca/en/C-46/index.html. Convención Sobre Delitos en Internet del Consejo de Europa, de 29 de junio de 2001. http://conventions.coe.int/treaty/en/projets/FinalCybercrime.htm. Ley N° 8.792 de la República de Filipinas, que regula “la validez y uso de transacciones y documentos electrónicos comerciales y no comerciales, y las penas por sus usos ilegales”, de fecha 14 de junio de 2000, MAGLIONA MARKOVICTH, Claudio Paul; Análisis de la normativa sobre delincuencia informática en Chile, Derecho y Tecnologías de la Información, Fundación Fernando Fueyo Laneri y Escuela de Derecho Universidad Diego Portales, abril 2002. MAGLIONA MARKOVICTH, Claudio Paul; LÓPEZ MEDEL, Macarena, Delincuencia y Fraude Informático Derecho Comparado y Ley N°19.223, Editorial Jurídica de Chile, Santiago, Chile, 1999. Proyecto de ley que modifica la Ley N°19.223 que tipifica figuras penales relativas a la informática, moción presentada ante la Honorable Cámara de Diputados, con fecha junio de 2002. Nota: La traducción al castellano de los textos en idioma Inglés ha sido efectuada libremente por el autor. 120 Anexoo B: Insttalación y Configguración n de Equiipos B.1 Servidor Honeywaall Figura B.11 Inicio installación Honeyywall Figura B..2 Chequeo de d Dependenccias Figura B.3 B Instaland do los paquetees 121 Figgura B.4 Ejeccutando los sccripts post-in nstalación Figuraa B.5 Honeyw wall instaladoo F Figura B.6 Menú M al iniciarr como usuarrio root 122 Figura B.7 Mensaje de Advertencia Figura B.8 Opciones del Menú Figura B.9 Acuerdo de Uso 123 Figura B.10 Modos de configuración Figura B.11 Bienvenida a la instalación Figura B.12 Configurar IP de los Honeypots 124 Figura B.13 Configurar la red local Figura B.14 Interfaces encontradas Figura B.15 Configurar IP de Broadcast 125 Figura B.16 Finalización primera etapa Figura B.17 Configuración interface de Administración Figura B.18 Interface para la Administración 126 Figura B.19 Interface está levantada Figura B.20 IP interface de Administración Figura B.21 Mascara interface de Administración 127 Figura B.22 Gateway interface de Administración Figura B.23 Nombre del equipo Figura B.24 Dominio del equipo 128 Figura B.25 DNS interface de Administración Figura B.26 Habilitación interface de Administración Figura B.27 Auto-arranque interface de Administración 129 Figura B.28 Configuración SSH Figura B.29 Conexión remota usuario root Figura B.30 Cambio password usuario root 130 Figura B.31 Password nueva Figura B.32 Repetir password Figura B.33 Password actualizada 131 Figura B.34 Cambio password usuario roo Figura B.35 Password nueva Figura B.36 Repetir password 132 Figura B.37 Password actualizada Figura B.38 Puertos permitidos interface de Administración Figura B.39 IPs permitidas interface de Administración 133 Figura B.40 Habilitación Administración web Figura B.41 Habilitación del Firewall Figura B.42 Puertos TCP permitidos 134 Figura B.43 Puertos UDP permitidos Figura B.44 Finalización segunda etapa Figura B.45 Escala de tiempo a utilizar 135 Figura B.46 Cantidad conexiones TCP Figura B.47 Cantidad conexiones UDP Figura B.48 Cantidad conexiones ICMP 136 Figura B.49 Cantidad conexiones otros protocolos Figura B.50 Habilitación IPS snort-inline Figura B.51 Configuración archivo lista negra 137 Figura B.52 Configuración archivo lista blanca Figura B.53 Habilitación de listas blanca y negra Figura B.54 Deshabilitar filtrado estricto 138 Figura B.55 Configuración archivo equipos protegidos Figura B.56 Habilitación filtrado equipos protegidos Figura B.57 Deshabilitar Roach Motel 139 Figura B.58 Finalización tercera etapa Figura B.59 Habilitación acceso a servidores DNS Figura B.60 Restricción acceso a DNS externos 140 Figura B.61 Restricción de acceso ilimitado Figura B.62 Servidores DNS Figura B.63 Finalización cuarta etapa 141 Figura B.64 Configuración alertas vía email Figura B.65 Email que recibe las alertas Figura B.66 Alertar al arranque del equipo 142 Figura B.67 Configuración de Sebek Figura B.68 IP de destino de los paquetes Sebek Figura B.69 Puerto de los paquetes Sebek 143 Figura B.70 Configuración opciones de Sebek Figura B.71 Finalización de la configuración Figura B.72 Opciones del Honeywall ya configurado 144 B.2 Servidor Windows Figura B.73 Configuración de Licencias Figura B.74 Administración del Servidor 145 Figura B.75 Instalación Servidor de Aplicaciones Figura B.76 Habilitación soporte ASP.NET 146 Figura B.77 Resumen instalación Figura B.78 Servidor de Aplicaciones instalado 147 Figura B.79 Agregar componentes de Windows Figura B.80 Agregar componentes al Servidor de Aplicaciones 148 Figura B.81 Seleccionar el IIS Figura B.82 Agregar el servicio FTP al Servidor de Aplicaciones 149 Figura B.83 Administración Servidor Aplicaciones Figura B.84 Administración FTP 150 Figura B.85 Configuración de conexiones anónimas Figura B.86 Configuración directorio del FTP 151 Figura B.87 Configuración Servidor Web Figura B.88 Configuración directorio Web 152 Figura B.89 Configuración documentos Web Figura B.90 Servidor Web funcionando 153 Figura B.91 Instalación Servidor de Archivos Figura B.92 Selección de cuotas por usuario 154 Figura B.93 Habilitación del Index Server Figura B.94 Resumen instalación 155 Figura B.95 Carpeta a compartir Figura B.96 Ruta de la carpeta 156 Figura B.97 Nombre del recurso a compartir Figura B.98 Permisos del recurso 157 Figura B.99 Servidor de Archivos instalado Figura B.100 Instalación Servidor DNS 158 Figura B.101 Resumen instalación Figura B.102 Selección IP fija para Servidor 159 Figura B.103 Configuración manual IP Figura B.104 Configuración Servidor DNS 160 Figura B.105 Creación de zonas del DNS Figura B.106 Tipo de zona a configurar 161 Figura B.107 Nombre de la zona Figura B.108 Servidor maestro de la zona 162 Figura B.109 Zona inversa Figura B.110 Tipo zona inversa 163 Figura B.111 Red zona inversa Figura B.112 Servidor maestro de la zona inversa 164 Figura B.113 Habilitación re-envío de consultas Figura B.114 Servidor DNS configurado 165 B.3 Servidor Gentoo Linux Configuración Apache Listado de Código: /etc/conf.d/apache2 # When you install a module it is easy to activate or deactivate the modules # and other features of apache using the APACHE2_OPTS line. Every module should # install a configuration in /etc/apache2/modules.d. In that file will have an # <IfDefine NNN> directive where NNN is the option to enable that module. # # Here are the options available in the default configuration: # # AUTH_DIGEST Enables mod_auth_digest # AUTHNZ_LDAP Enables authentication through mod_ldap (available if USE=ldap) # CACHE Enables mod_cache # DAV Enables mod_dav # ERRORDOCS Enables default error documents for many languages. # INFO Enables mod_info, a useful module for debugging # LANGUAGE Enables content-negotiation based on language and charset. # LDAP Enables mod_ldap (available if USE=ldap) # MANUAL Enables /manual/ to be the apache manual (available if USE=docs) # MEM_CACHE Enables default configuration mod_mem_cache # PROXY Enables mod_proxy # SSL Enables SSL (available if USE=ssl) # SUEXEC Enables running CGI scripts (in USERDIR) through suexec. # USERDIR Enables /~username mapping to /home/username/public_html # # The following two options provide the default virtual host for the HTTP and # HTTPS protocol. YOU NEED TO ENABLE AT LEAST ONE OF THEM, otherwise apache # will not listen for incomming connections on the approriate port. # # DEFAULT_VHOST Enables name-based virtual hosts, with the default # virtual host being in /var/www/localhost/htdocs # SSL_DEFAULT_VHOST Enables default vhost for SSL (you should enable this # when you enable SSL) # APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5" # # # # # Extended options for advanced uses of Apache ONLY You don't need to edit these unless you are doing crazy Apache stuff As not having them set correctly, or feeding in an incorrect configuration via them will result in Apache failing to start YOU HAVE BEEN WARNED. # ServerRoot setting #SERVERROOT=/usr/lib/apache2 # Configuration file location # - If this does NOT start with a '/', then it is treated relative to # $SERVERROOT by Apache #CONFIGFILE=/etc/apache2/httpd.conf # Location to log startup errors to # They are normally dumped to your terminal. #STARTUPERRORLOG="/var/log/apache2/startuperror.log" # A command that outputs a formatted text version of the HTML at the URL # of the command line. Designed for lynx, however other programs may work. #LYNX="lynx -dump" # The URL to your server's mod_status status page. # Required for status and fullstatus #STATUSURL="http://localhost/server-status" # Method to use when reloading the server # Valid options are 'restart' and 'graceful' # See http://httpd.apache.org/docs/2.2/stopping.html for information on # what they do and how they differ. #RELOAD_TYPE="graceful" 166 # # # # # # # # # # # # # # # # # # # # Listado de Código: /etc/apache2/httpd.conf This is a modification of the default Apache 2.2 configuration file for Gentoo Linux. This is the main Apache HTTP server configuration file. It contains the configuration directives that give the server its instructions. See <URL:http://httpd.apache.org/docs/2.2> for detailed information. In particular, see <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> for a discussion of each configuration directive. Do NOT simply read the instructions in here without understanding what they do. They're here only as hints or reminders. If you are unsure consult the online docs. You have been warned. Configuration and logfile names: If the filenames you specify for many of the server's control files begin with "/" (or "drive:/" for Win32), the server will use that explicit path. If the filenames do *not* begin with "/", the value of ServerRoot is prepended -- so "var/log/apache2/foo_log" with ServerRoot set to "/usr" will be interpreted by the server as "/usr/var/log/apache2/foo.log". # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to point the LockFile directive # at a local disk. If you wish to share the same ServerRoot for multiple # httpd daemons, you will need to change at least LockFile and PidFile. ServerRoot "/usr/lib/apache2" # # # # # # # # # # # # # # # # # # # Dynamic Shared Object (DSO) Support To be able to use the functionality of a module which was built have to place corresponding `LoadModule' lines at this location directives contained in it are actually available _before_ they Statically compiled modules (those listed by `httpd -l') do not to be loaded here. as a DSO you so the are used. need Example: LoadModule foo_module modules/mod_foo.so GENTOO: Automatically defined based on APACHE2_MODULES USE_EXPAND variable. Do not change manually, it will be overwritten on upgrade. The following modules are considered as the default configuration. If you wish to disable one of them, you may have to alter other configuration directives. Change these at your own risk! LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so <IfDefine AUTHNZ_LDAP> LoadModule authnz_ldap_module modules/mod_authnz_ldap.so </IfDefine> LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so <IfDefine CACHE> LoadModule cache_module modules/mod_cache.so </IfDefine> LoadModule cgi_module modules/mod_cgi.so <IfDefine DAV> LoadModule dav_module modules/mod_dav.so </IfDefine> 167 <IfDefine DAV> LoadModule dav_fs_module modules/mod_dav_fs.so </IfDefine> <IfDefine DAV> LoadModule dav_lock_module modules/mod_dav_lock.so </IfDefine> LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so <IfDefine CACHE> LoadModule disk_cache_module modules/mod_disk_cache.so </IfDefine> LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule ext_filter_module modules/mod_ext_filter.so <IfDefine CACHE> LoadModule file_cache_module modules/mod_file_cache.so </IfDefine> LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule include_module modules/mod_include.so <IfDefine INFO> LoadModule info_module modules/mod_info.so </IfDefine> <IfDefine LDAP> LoadModule ldap_module modules/mod_ldap.so </IfDefine> LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so <IfDefine CACHE> LoadModule mem_cache_module modules/mod_mem_cache.so </IfDefine> LoadModule mime_module modules/mod_mime.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule speling_module modules/mod_speling.so <IfDefine SSL> LoadModule ssl_module modules/mod_ssl.so </IfDefine> <IfDefine STATUS> LoadModule status_module modules/mod_status.so </IfDefine> LoadModule unique_id_module modules/mod_unique_id.so <IfDefine USERDIR> LoadModule userdir_module modules/mod_userdir.so </IfDefine> LoadModule usertrack_module modules/mod_usertrack.so LoadModule vhost_alias_module modules/mod_vhost_alias.so # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. User apache Group apache # Supplemental configuration # # Most of the configuration files in the /etc/apache2/modules.d/ directory can # be turned on using APACHE2_OPTS in /etc/conf.d/apache2 to add extra features # or to modify the default configuration of the server. # # To know which flag to add to APACHE2_OPTS, look at the first line of the # the file, which will usually be an <IfDefine OPTION> where OPTION is the # flag to use. Include /etc/apache2/modules.d/*.conf # Virtual-host support # Gentoo has made using virtual-hosts easy. In /etc/apache2/vhosts.d/ we # include a default vhost (enabled by adding -D DEFAULT_VHOST to # APACHE2_OPTS in /etc/conf.d/apache2). Include /etc/apache2/vhosts.d/*.conf # vim: ts=4 filetype=apache 168 Listado de Código: /etc/apache2/ssl-vhost.conf # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. <IfDefine DEFAULT_VHOST> # see bug #178966 why this is in here # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 #Listen 80 # Use name-based virtual hosting. NameVirtualHost ns.lab1.inf.uach.cl:443 # When virtual hosts are enabled, the main host defined in the default # httpd.conf configuration will go away. We redefine it here so that it is # still available. # # If you disable this vhost by removing -D DEFAULT_VHOST from # /etc/conf.d/apache2, the first defined virtual host elsewhere will be # the default. <VirtualHost ns.lab1.inf.uach.cl:443> ServerName ns.lab1.inf.uach.cl ServerAdmin root@lab1.inf.uach.cl Include /etc/apache2/vhosts.d/default_vhost.include DocumentRoot "/var/www/localhost/htdocs/phpmyadmin" <Directory "/var/www/localhost/htdocs/phpmyadmin"> </Directory> SSLCertificateFile /etc/apache2/ssl/new.cert.cert SSLCertificateKeyFile /etc/apache2/ssl/new.cert.key SSLEngine on <IfModule mpm_peruser_module> ServerEnvironment apache apache </IfModule> </VirtualHost> </IfDefine> # vim: ts=4 filetype=apache Figura B.115 Servidor Web Gentoo 169 Configuración PureFTP Lo primero es bajar e instalar el PureFTP Code : Installer Pure-FTPd # emerge pure-ftpd Iniciar el servidor Code : Iniciar el servidor # /etc/init.d/pure-ftpd start Editar el archivo de configuración Code : Editar el archivo de configuración # vim /etc/conf.d/pure-ftpd Archivo : Modificar esta línea en el archivo /etc/conf.d/pure-ftpd IS_CONFIGURED="yes" Verificar la existencia del grupo y usuario ftp Code : Verificación existencia usuario y grupo ftp # cat /etc/passwd | grep ftp ftp:x:21:21::/var/ftp:/bin/false # cat /etc/group | grep ftp ftp:x:21: En caso de no existir se deben crear Code : Creación del grupo y usuario ftp # mkdir /var/ftp # groupadd -g 21 ftp # useradd -d /var/ftp -g 21 -u 21 ftp -s /bin/false Finalmente se edita el archivo pure-ftp Archivo : Edición del archivo /etc/conf.d/pure-ftpd #AUTH="-l unix" MISC_OTHER="-e -M -K -r -s" Archivo FTP Servidor Gentoo A continuación se muestra la configuración utilizada en el Servidor. Listado de Código: /etc/conf.d/pure-ftpd # Config file for /etc/init.d/pure-ftpd ##Comment variables out to disable its features, or change the values in it... ## ## This variable must be uncommented in order for the server to start ## IS_CONFIGURED="yes" ## ## ## ## ## ## ## ## ## FTP Server,Port (separated by comma) ## If you prefer host names over IP addresses, it's your choice: SERVER="-S ftp.rtchat.com,21" IPv6 addresses are supported. !!! WARNING !!! Using an invalid IP will result in the server not starting, but reporting a correct start! SERVER="-S 192.168.0.1,21" By default binds to all available IPs. 170 SERVER="-S 21" ## Number of simultaneous connections in total, and per IP ## MAX_CONN="-c 30" MAX_CONN_IP="-C 10" ## Start daemonized in background ## DAEMON="-B" ## Don't allow uploads if the partition is more full then this var ## DISK_FULL="-k 90%" ## If your FTP server is behind a NAT box, uncomment this ## #USE_NAT="-N" ## Authentication mechanisms (others are 'pam', ...) ## ## Further infos can be found in the README file. #AUTH="-l unix" MISC_OTHER="-e -M -K -r -s -Y 2" ## Change the maximum idle time (in minutes) ## ## If this variable is not defined, it will default to 15 minutes. #TIMEOUT="-I <timeout>'" ## Facility used for syslog logging ## ## If this variable is not defined, it will default to the 'ftp' facility. ## Logging can be disabled with '-f none'. #LOG="-f <facility>" ## Charset conversion support *experimental* ## ## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21). ## Set the charset of the filesystem. # CHARCONV="--fscharset <charset>" ## If you want to process each file uploaded through Pure-FTPd, enter the name ## of the script that should process the files below. ## man pure-uploadscript to learn more about how to write this script. # UPLOADSCRIPT="/path/to/uploadscript" ## Misc. Others ## MISC_OTHER="-A -x -j -R -Z" # # Use these inside $MISC_OTHER # More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README" # # -A [ chroot() everyone, but root ] # -e [ Only allow anonymous users ] # -E [ Only allow authenticated users. Anonymous logins are prohibited. ] # -i [ Disallow upload for anonymous users, whatever directory perms are ] # -j [ If the home directory of a user doesn't exist, auto-create it ] # -M [ Allow anonymous users to create directories. ] # -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ] # -x [ In normal operation mode, authenticated users can read/write #files beginning with a dot ('.'). Anonymous users can't, for security reasons # (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated #users can download dot-files, but not overwrite/create them, even if they own #them.] # -X [ This flag is identical to the previous one (writing dot-files is #prohibited), but in addition, users can't even *read* files and directories #beginning with a dot (like "cd .ssh"). ] # -D [ List files beginning with a dot ('.') even when the client doesn't # append the '-a' option to the list command. A workaround for badly # configured FTP clients. ] # -G [ Disallow renaming. ] # -d [ Send various debugging messages to the syslog. ONLY for DEBUG ] # -F <fortune file> [ Display a fortune cookie on login. Check the README file ] # -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ] 171 Figura B.116 Servidor FTP Gentoo HOWTO squid/squidGuard Obtenida de http://www.gentoo-wiki.info/HOWTO_squid/squidGuard What is it Squid is a caching Proxy server. SquidGuard is an addon for filtering. Squid Installation emerge squid Configuration edit the file /etc/squid/squid.conf nano /etc/squid/squid.conf I show you my config: http_port 3128 #squids listening port 3128 is default cache_mem 50 MB #How much memory squid will use for caching visible_hostname myserver #Name of our server cache_dir ufs /var/cache/squid 500 16 256 #Directory where squid stores the cache, #500 means we use 500MB diskspace for caching #16 and 256 sets how many directorys squid will use, this is default offline_mode off #offline mode is really cool, if activated squid will always use the cache #if the website is not in the cache, squid will fetch it. #if you press reload in your browser, squid will fetch it again. maximum_object_size 102400 KB 172 #if a file is bigger then 102400 KB squid will not cache it. reload_into_ims off #if activated squid will ignore reload requests from browsers, and use #the cache if available pipeline_prefetch on #squid will fetch data parallel acl my_network src 192.168.0.0/255.255.255.0 #Our network acl all src 0.0.0.0/0.0.0.0 #all networks http_access allow my_network #allow access for our network http_access deny all #and deny from all others You will find more info in /etc/squid/squid.conf.default. Start squid /etc/init.d/squid start Add to Runlevel rc-update add squid default Try edit your browsers proxy settings, and try it out. SquidGuard Installation emerge squidguard Configuration first we have to add "redirect_program /usr/bin/squidGuard" to /etc/squid/squid.conf echo "redirect_program /usr/bin/squidGuard" >> /etc/squid/squid.conf now we edit the file: /etc/squidGuard/squidGuard.conf this is an example: logdir /var/log/squidGuard dbhome /etc/squidGuard/db src srcpeter { ip 192.168.0.250 } dest destpeter { domainlist dstpeterfile } dest dstads { expressionlist dstadsfile log dstadsfile_log } dest dstgood { expressionlist dstgoodfile log verbose dstgoodfile_log_all } 173 acl { srcpeter { pass dstpeter none redirect http://webserver/squid/peter.html } default { pass dstgood !dstads all redirect http://webserver/squid/ad.gif } } Make from your text files some db files and give the right permissions: squidGuard -C all chown -R squid:squid /etc/squidGuard/db chmod -R o-rwx,g-rwx,u+rwx /etc/squidGuard/db Start restart squid /etc/init.d/squid restart Test Make a simple test (replace "dstfile_url" with one url from your exclution-list) echo "dstadsfile_url - - GET" | squidGuard -c /etc/squidGuard/squidGuard.cfg -d You will see at the and of screen something like that: 2007-12-10 13:38:18 [8620] squidGuard 1.2.1 started (1197290298.384) 2007-12-10 13:38:18 [8620] squidGuard ready for requests (1197290298.419) 2007-12-10 13:38:18 [8620] Request(default/ads/-) dstadsfile_url -/- - GET REDIRECT http://webserver/squid/ad.gif -/- - GET If something went wrong with your config, squidGuard will run in emergency mode (pass all). Take also a look into squidGuards logfile. Troubleshooting • Logging not possible (Permissions not set properly) chown squid:squid -R /var/log/squidGuard Questions If have additional questions, take a look at http://www.squidguard.org 174 Archivos Squid Servidor Gentoo Listado de Código: /etc/squid/squid.conf #Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache object acl localhost src 127.0.0.1/255.255.255.255 acl my_network src 146.83.216.128/255.255.255.128 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow localhost http_access allow my_network # And finally deny all other access to this proxy http_access deny all #Allow ICP queries from everyone icp_access allow my_network icp_access deny all miss_access allow my_network miss_access deny all # Squid normally listens to port 3128 http_port 146.83.216.152:3128 transparent icp_port 0 #We recommend you to use at least the following line. hierarchy_stoplist cgi-bin ? #Default: cache_mem 50 MB #Default: cache_dir ufs /var/cache/squid 50 16 256 #Default: maximum_object_size 44096 KB # Note: 2.6.STABLE14 and earlier only supports a slightly different # and undocumented format with all uppercase LOG_FACILITY|LOG_PRIORITY access_log /var/log/squid/access.log squid # Default is to allow all to be cached #We recommend you to use the following two lines. acl QUERY urlpath_regex cgi-bin \? cache deny QUERY #Suggested default: refresh_pattern ^ftp: refresh_pattern ^gopher: refresh_pattern . 1440 0 1440 0% 20% 20% 1440 4320 10080 # Apache mod_gzip and mod_deflate known to be broken so don't trust # Apache to signal ETag correctly on such responses acl apache rep_header Server ^Apache broken_vary_encoding allow apache 175 #Default: visible_hostname ns.lab1.inf.uach.cl #Default: offline_mode off # Leave coredumps in the first cache dir coredump_dir /var/cache/squid #Default: pipeline_prefetch on pipeline_prefetch on #redirect_program /usr/bin/squidGuard Listado de Código: /etc/squidGuard/squidGuard.conf logdir /var/log/squidGuard dbhome /etc/squidGuard/db src srclab1 { ip 146.83.216.152 } dest dstlab1 { domainlist dstlab1file } dest dstads { expressionlist dstadsfile log dstadsfile_log } dest dstgood { expressionlist dstgoodfile log verbose dstgoodfile_log_all } acl { srclab1 { pass dstlab1 none redirect http://localhost/squid/lab1.html } default { pass dstgood !dstads all redirect http://localhost/squid/good.html } } Instalar Oracle 10g Express Edition Obtenida de http://www.gentoo-wiki.info/HOWTO_Install_Oracle_10g_Express_Edition Descarga Bajar oracle-xe-univ-10.2.0.1-1.0.i386.rpm de http://www.oracle.com/technology/software/products/database/xe/index.html Instalar los paquetes útiles para RPM emerge app-arch/rpm emerge app-arch/rpm2targz Note: En caso de error "rpmdav.c:106: error: expected declaration specifiers or '...' before 'ne_conn_status' rpmdav" ocurriera durante emerging app-arch/rpm. Por favor lea esto http://bugs.gentoo.org/show_bug.cgi?id=214799 Parámetros de Kernel para Oracle 10g Agregar las siguientes líneas al archivo /etc/sysctl.conf: 176 File: /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 Efectividad inmediata sysctl –p Instalación de paquetes requeridos glibc-2.3.2, libaio-0.3.96 y sys-devel/bc son requeridos emerge -s glibc emerge -s libaio emerge -s bc Warning: No baje una versión más antigua de glibc, puede dañar su sistema! Crear el grupo y usuario Oracle groupadd oinstall useradd -g oinstall oracle passwd oracle Instalar el paquete rpm con la opción 'nodeps' rpm -ivh downloads/oracle-xe-univ-10.2.0.1-1.0.i386.rpm --nodeps Warning: sometimes an error could break the installation: rpmdb: Berkeley DB library configured to support only private environments rpmdb: Berkeley DB library configured to support only private environments error: db4 error(22) from dbenv->open: Invalid argument error: cannot open Packages index using db3 - Invalid argument (22) error: cannot open Packages database in /var/lib/rpm Para solucionar el problema se debe realizar lo que sigue a continuación: 1. Crear el directorio /etc/rpm mkdir -p /etc/rpm 2. Insertar la línea siguiente en el archivo /etc/rpm/macros: echo "%__dbi_cdb create cdb private mpool mp_mmapsize=16Mb mp_size=1Mb" >> /etc/rpm/macros 3. Reintentar instalar Oracle: rpm -ivh downloads/oracle-xe-univ-10.2.0.1-1.0.i386.rpm –nodeps 177 Configuración Oracle-xe Archivo de configuración llamado oracle-xe se encuentra en /etc/init.d. Modificar este archivo sed -i -e "s/\$SU -s \/bin\/bash \{1,2\}\$ORACLE_OWNER -c/\$SU \$ORACLE_OWNER -l -c/g" oracle-xe Usuario y grupo Confirmar que el usuario oracle está en el dba group. groups oracle wheel dba Configurar e Instalar la Base de Datos /etc/init.d/oracle-xe configure Ingresar la siguiente información: • • • • Un puerto HTTP valido para la Oracle Database XE graphical user interface (el puerto default es 8080) Un puerto valido para el Oracle database listener (el puerto default es 1521) Una password para las cuentas administrativas SYS y SYSTEM Si deseas que la base de datos inicie junto con el sistema operativo, Tú dices 'Y' Chequear los Procesos netstat -an |grep 1521 ps -ef |grep ora ok Permitir el acceso remoto vía HTTP # sqlplus /nolog SQL> CONNECT SYS/AS SYSDBA Enter password: SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); Ahora puedes acceder desde la siguiente URL: http://host_ipaddress:port/apex/ PS: Puedes logearte con el usuario SYS y su password Iniciar y Detener Puedes iniciar y detener la Base de Datos con los siguientes comandos /etc/init.d/oracle-xe start /etc/init.d/oracle-xe stop 178 HOWTO Setup a DNS Server with BIND Obtenida de http://www.gentoo-wiki.info/BIND Introduction BIND (Berkeley Internet Name Daemon) is an open reference implementation of the Domain Name System (DNS) protocol and provides a redistributable implementation of the major components of the Domain Name System. • • • a name server (named) a resolver library troubleshooting tools like nslookup and dig The BIND DNS Server is used on the vast majority of name serving machines on the Internet, providing a robust and stable architecture on top of which an organization's naming architecture can be built. The resolver library included in the BIND distribution provides the standard APIs for translation between domain names and Internet addresses and is intended to be linked with applications requiring name service. My Bind Installation My personal Bind installation has over 15000 zones and peaks at roughly 500 queries/sec across two servers. This How-To includes many organizational tips for running a large system without administration of it becoming unwieldly. I'll point those out along the way so home users with three or four domains can skip the extra steps. However most of the large system configs are geared towards easier troubleshooting and administration and I encourage all users to use the ISP tweaks I've included. After all most large systems started out as small systems. Firewall Config Bind listens on port 53 UDP and TCP. TCP is normally only used during zone transfers so it would appear that you could filter it if you have no slaves. However If the response to a query is greater than 1024 bytes, the server sends a partial response, and client and server will try to redo the transaction with TCP. Responses that big do not happen often, but they happen. And people do quite often block 53/tcp without their world coming to an end. But this is where one usually inserts the story about the Great DNS Meltdown when more root servers were added. This made queries for the root list greater than 1024 and the whole DNS system started to break down from people violating the DNS spec (RFC1035) and blocking TCP. Installing Bind This document is based on a fresh install of 2007.0 built on July 31 on a Dell 4700. 3.0Ghz P4 w/HT, gentoo-sources 2.6.24-r4 SMP kernel, glibc built with the NPTL flag, and Bind bind-9.4.2_p1 which is the minimum version you should be running. Newer installs should not differ too greatly from this install. Bind is in Portage and has a number of USE variables to add functionality. We're going to eliminate most of them for the purpose of this doc to keep things simple. Choosing your USE flags For most users I'd recommend removing IPv6 support and any database support. This doc probably won't delve into using a database backend. Users that anticipate several hundred queries per second will definitely want to enable threads to take advantage of multiple CPUs. File: /etc/portage/package.use net-dns/bind -ipv6 -ldap -mysql -bind-mysql -postgres -odbc threads 179 Dependencies On a fresh install there were no extra dependencies required over the default install using the above USE variables. azul ~ # emerge -upv bind These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] net-dns/bind-9.4.2_p1 USE="berkdb mysql ssl threads -dlz -doc -idn -ipv6 -ldap -odbc -postgres -resolvconf (-selinux) urandom" 0 kB Bind as configured above builds in about five minutes on a 3Ghz P4. Your mileage may vary. Configuring kernel It's possible that you may need to change your kernel configuration. "Different security models" is optional, but if you have enabled it, you must also enable the default Linux capabilities: Linux Kernel Configuration: Kernel Configuration Security options ---> [X] Enable different security models <*> Default Linux Capabilities Additionally if you're installing Bind on a vserver you will want to use -threads when emerging. If you use threads Bind will randomly crash and generally act weird. Configuring Bind Gentoo alternates between naming files and directories "named" or "bind" which makes everything confusing. If you're fine with your installation being in /etc/bind while writing it's pid file to /var/run/named/ then you can skip the symlinking. If your Bind configs have lived in named/ for the last ten years doing the following will make your server annoy you less. And any admin that inherits your name server. I prefer to break customer domains into include files by company. We have a small number of customers with 500+ domains per customer. It's a bit easier to find domains in the config this way and to track changes. I also include the logging config and any acls this way as well. You can put them all into one file if you like. Creating Dirs and Symlinks We're going to create some structure for the rest of config files. We're also going to symlink bind dirs to named dirs so that admins unfamilar with Gentoo can still find evertything. It's like that whole /etc/apache vs /etc/httpd problem people new to Gentoo have. This will also keep /var/bind/ from getting littered with files and make an etc-update mishaps less likely to lose all your configs. ln -sf /etc/bind /etc/named ln -sf /var/bind /var/named mkdir /var/bind/conf mkdir /var/named/reverse mkdir /var/named/personal mkdir /var/named/customer1 180 mkdir /var/named/customer2 chown -R named: /var/bind mkdir /var/log/bind ln -sf /var/log/bind /var/log/named chown -R named: /var/log/bind named.conf I really suggest using this config. Yes you can set Bind up without all the logging, splitting domains into their own file, but troubleshooting is vastly easier when you have done all the groundwork. You will need to change the IP's that are allowed to do recursion to your own IP's. The same will allow transfer and notify as well. File: /etc/named/named.conf options { directory "/var/named"; // sets root dir, use full path to escape statistics-file "/var/named/named.stats"; // stats are your friend dump-file "/var/named/named.dump"; zone-statistics yes; allow-recursion { 127.0.0.1; 10.0.0.0/8; }; // allow recursive lookups allow-transfer { 10.11.12.1; 10.11.12.2; }; // allow transfers to these IP's notify yes; // notify the abover IP's when a zone is updated also-notify { 10.110.0.11; 10.120.0.11; }; // notify these other servers when a zone is updated pid-file "/var/run/named/named.pid"; transfer-format many-answers; // Generates more efficient zone transfers listen-on { any; }; }; // Include logging config file include "/var/named/conf/logging.conf"; // Include to ACLs include "/var/named/conf/acls.conf"; // Include customer zones include "/var/named/conf/customer1.conf"; include "/var/named/conf/customer2.conf"; NOTE: The 'listen-on' option can have as many IP addresses as you want separated by ';' or the word 'any' which will make it listen on all IP's on port 53 by default (you can specify other ports as well). The default for this option is '127.0.0.1' which will not allow a DNS lookup to your server from any computer other than the one you are running BIND on. Logging conf Bind can be chatty in the log files and the sheer amount of data can sometimes make it hard to find interesting logs. Fortunately Bind allows you to separate your logs and rotate them automatically in its config. The following config splits each logging category into separate files, rotates them every 5MB, and keeps three rotations of each log. You can change the length of the log file rotations by changing the versions and size options in each channel. While this config seems quite large and ugly it'll never 181 need to be touched and having log files separated like this can make many common troubleshooting procedures easier. Note: The directory specified in each channel statement (in this example: /var/log/named) must exist and be writable by the named user File: /var/named/conf/logging.conf logging { channel default_file { file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel general_file { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel database_file { file "/var/log/named/database.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel security_file { file "/var/log/named/security.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel config_file { file "/var/log/named/config.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel resolver_file { file "/var/log/named/resolver.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-in_file { file "/var/log/named/xfer-in.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-out_file { file "/var/log/named/xfer-out.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel notify_file { file "/var/log/named/notify.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel client_file { file "/var/log/named/client.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel unmatched_file { file "/var/log/named/unmatched.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel queries_file { file "/var/log/named/queries.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel network_file { file "/var/log/named/network.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel update_file { file "/var/log/named/update.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dispatch_file { file "/var/log/named/dispatch.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dnssec_file { file "/var/log/named/dnssec.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel lame-servers_file { file "/var/log/named/lameservers.log" versions 3 size 5m; severity dynamic; print-time yes; }; category category category category category category category category category category category category default { default_file; }; general { general_file; }; database { database_file; }; security { security_file; }; config { config_file; }; resolver { resolver_file; }; xfer-in { xfer-in_file; }; xfer-out { xfer-out_file; }; notify { notify_file; }; client { client_file; }; unmatched { unmatched_file; }; queries { queries_file; }; 182 category category category category category network { network_file; }; update { update_file; }; dispatch { dispatch_file; }; dnssec { dnssec_file; }; lame-servers { lame-servers_file; }; }; ACL conf The ACL section defines Access Control Lists that Bind uses to group a set of networks by name. In this example, the networks 10.*.*.*, 192.168.1.*, and 127.0.0.1 have been grouped together under the name 'our-networks'. This name can then be used to refer to the entire group when assigning permissions. (See: HOWTO_Setup_a_DNS_Server_with_BIND#Adding an ACL to a Zone) File: /var/named/conf/acls.conf acl "our-networks" { 10.0.0.0/8; 192.168.1.0/24; 127.0.0.1; }; Zone File conf There are many examples of how to add a zone file to the config. Zone statements can be placed directly in named.conf, or they can be included from an external file using the include statement. In this example we will include one of the two zone statements listed below. Zone configurations can be made in two different formats. Let's call them single-line and multi-line. This is how a configuration in multi-line format appears: File: multi-line.conf zone "badapple.net" IN { type master; file "personal/badapple.net"; }; zone "chilug.org" IN { type master; file "personal/chilug.org"; }; And this is the same config with a single zone on each line: File: single-line.conf zone "badapple.net" IN { type master; file "personal/badapple.net"; }; zone "chilug.org" IN { type master; file "personal/chilug.org"; }; You may prefer the single line format for administrative tasks. It's easier to run sort, grep, sed, and other tools against the config file to make mass changes. Any script you write to generate a new slave or master config will be easier and simpler to write. However, it appears that the multi-line config is easier to read in documentation, so we're going to use it through out this How-To for clarity. 183 Each refers to zone file using the file line to include a map of domain names and their matching IP addresses. Zone files are covered in more detail below. Note: The examples above use relative paths for each zone file. The directory root is specified by the directory statement in the options section of named.conf. Any directory listed without a leading slash will have the root directory added to the beginning of the path. In this case, personal/chilug.org is treated by Bind as /var/named/personal/chilug.org. Adding a Slave Zone File: multi-line.conf zone "badapple.net" IN { type slave; file "personal/badapple.net"; masters { 10.11.12.1; }; }; zone "chilug.org" IN { type slave; file "personal/chilug.org"; masters { 10.11.12.1; }; }; Note: There is a bit of confusion on where these files go. multi-line.conf would be the include you had in /etc/bind/named.conf. In this case you would add the line include "/var/named/conf/multi-line.conf". Adding an ACL to a Zone We can use the Access Control Lists to specify permissions for each zone. allow-query { our-networks; }; Adding this line to the zone defined below tells Bind that any of the networks specified in the 'ournetworks' group has permission to request the name of any IP address in the 10.113.1.* network. File: /var/named/conf/zone-with-acl.conf zone "1.113.10.in-addr.arpa" IN { type master; file "reverse/10.113.1.0"; allow-query { our-networks; }; }; Zone Files Picking Your Zone File There are a number of example of zone files on the Internet, each with their own little quirks. I would recommend using the layouts below as they are exactly what I use in production. All you should have to do is change the names servers, domain name, and IP address. It is in your best interest to use the same format for all your domains. This will make changes easier and you can script out wholesale changes using sed or other tools if your IP's need to change quickly. There is nothing worse than trying to edit 1000 domains by hand because each was done a different way. 184 Example of a Zone File for a Domain File: Sample of Zone File $TTL 600 ; domain1.com @ IN SOA laxlxns01.dnsserver.com. hostmaster.dnsserver.com. ( 2005062601 ; serial 12h ; refresh 1h ; retry 2w ; expire 1h ; minimum ) IN IN IN NS NS MX @ laxlxns01.dnsserver.com. laxlxns02.dnsserver.com. 10 mail.domain1.com. IN A 10.10.10.34 ; host records localhost mail * IN IN IN A A A 127.0.0.1 10.20.20.45 10.10.10.34 Domain Zone File Explained TTL The first number is the time to live of the zone file. The specifies the time we want other name servers to cache the information they received from our name server. I recommend somewhere between five to sixty minutes. Less is usually better on a production system because you'll want people on other systems to pick changes up quickly. SOA The @ indicates that the domain is the same name as the zone file. After the SOA we list the primary name server and then the email address of the Hostmaster. hostmaster.dnsserver.com will be interpreted as hostmaster@dnsserver.com. Serial Numbers Don't forget to update the serial number each time you change a zone file. The new serial number must be anything larger than the previous one. Most systems simply use the date of the change plus two digits as a serial number. For example, a zone file that has been changed for the second time on the third of January 2004 would have 2004010302 as a serial number. But the serial number can be any number with the maximum value of 9999999999 as long as the new serial number is larger than the previous serial number. If you don't increment your serial number, your DNS slave servers will not accept the changes and keep the old version of the zone file. Sometimes you'll need to reset your serial number. This is easy to do if you control all your name servers. Change the master server, stop the slave servers, delete the old zone, start the slave servers. However if you do not have access to your slave servers you can set the serial number to 0 on the master server. Once the slave picks up the change you'll be able to use any number as the next serial number. This is usually done when an admin sets the serial to 3005103001 and wants to reset the serial back to 2005103001 or something similar. 185 MX As of Bind 9.2.5 MX records are requires to have a weight set, in out case it is the 10 before MX. If you do not set a weight Bind will refuse to load the zone file. About IP Addresses When specifying a given IP range using the format 8.113.10.in-addr.arpa., the bytes are given in reverse order. In effect the IP range is 10.113.8.0/24. For a 16-bit netmask, it would be 113.10.inaddr.arpa., equivalent to 10.113.0.0/16. Example of a Zone for Reverse DNS File: reverse $TTL 600 8.113.10.in-addr.arpa. IN SOA laxlxns01.dnsserver.com. hostmaster.dnsserver.com. ( 2005062601 ; serial 12h ; refresh 1h ; retry 2w ; expire 1h ; default_ttl ) 8.113.10.in-addr.arpa. IN IN NS NS laxlxns01.dnsserver.com. laxlxns02.dnsserver.com. ; ; DB VLAN 21 22 IN IN PTR PTR laxlxdb01.domain1.com. laxlxdb02.domain1.com. 31 32 IN IN PTR PTR laxlxdb01.domain2.com. laxlxdb02.domain2.com. Starting Bind Let's add it to your default run level and start it. sudo rc-update add named default sudo /etc/init.d/named start ; tail /var/log/named/general.log If you update zone files it's better to reload than restart sudo /etc/init.d/named reload ; tail /var/log/named/general.log Helper Scripts File: dns-generateslave.sh #!/bin/bash # Quick little bash script to create a slave conf based on the current master conf. echo "" echo "Current directories are:" 186 echo "customer1, customer2, customer3" echo "" read -p "Enter the directory you wish to create a slave config for: " for i in `awk '{print $2}' /var/named/conf/$REPLY.conf | sed 's/\"//g'` do echo "zone \""$i"\" IN { type slave; file \""$REPLY/$i"\"; masters { 38.118.147.251; }; };" >> $REPLYslave.conf done File: dns-newdomains.sh #!/bin/bash # Quick little bash script to create a new master conf by listing the domains in a dir echo echo echo read "Current directories are:" "customer1, customer2, customer3" "" -p "Enter the directory you wish to create a config for: " for i in `ls /var/named/$REPLY` do echo "zone \""$i"\" IN { type master; file \""$REPLY/$i"\"; };" >> $REPLY.conf done Default zone If you are a hosting provider and want to have default zone (if some domain has your NS server as primary, but you haven't added zone for this domain yet) for newly-added domains AND your server is not designed to execute recursive queries, you can use this section: File: Sample of Default Zone File zone "." IN { type master; file "path_to_default_zone_file"; }; After this, any domain, that cannot be found in your configuration will be passed over "path_to_default_zone_file" ruleset. File: Bind 8 Zone file example $ORIGIN com. //note that Bind 8, you need to specify all the domain externsion * 14440 IN SOA ns.domain.com. hostmaster.domain.com. ( 2008010101 1200 7200 1209600 3600 ) 86400 IN NS ns.domain.com. * 14400 IN A 123.123.123.123 File: Bind 9 Zone file example $TTL 10M //note that @ IN SOA @ 86400 IN * IN you must have TTL for bind 9<br> ns.domain.com. hostmaster.domain.com. NS ns1.domain.com. A 123.123.123.123 187 Archivos DNS Servidor Gentoo A continuación se muestra el archivo de configuración del servidor Gentoo Listado de Código: /etc/named.conf options { directory "/var/bind"; listen-on-v6 { none; }; // to allow only specific hosts to use the DNS server: //allow-query { // 127.0.0.1; //}; // if you have problems and are behind a firewall: query-source address * port 53; // allow-recursion { localnets; localhost; }; pid-file "/var/run/named/named.pid"; }; logging { category lame-servers{ null; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "pri/localhost.zone"; allow-update { none; }; notify no; }; zone "127.in-addr.arpa" IN { type master; file "pri/127.zone"; allow-update { none; }; notify no; }; zone "inf.uach.cl" IN { type slave; file "sec/inf.uach.cl"; masters { 146.83.216.201;}; }; zone "216.83.146.in-addr.arpa" IN { type slave; file "sec/216.83.146.rev"; masters { 146.83.216.201;}; }; zone "lab1.inf.uach.cl" IN { type master; file "pri/lab1.inf.uach.cl"; allow-transfer { 146.83.216.153;}; }; El archivo que se muestra a continuación es el archivo de la zona del Servidor Gentoo, la zona lab1.inf.uach.cl. Listado de Código: archivo de zona lab1.inf.uach.cl $TTL 3600 lab1.inf.uach.cl. IN SOA ns.lab1.inf.uach.cl. root.lab1.inf.uach.cl. ( 2008041601 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns MX 10 ns.lab1.inf.uach.cl. A 146.83.216.152 188 ns xp2 A A 146.83.216.152 146.83.216.153 Archivos DNS Instituto Para finalizar esta guía se es necesario mostrar los archivos de configuración del Servidor DNS del Instituto tanto el archivo de configuración como el archivo de zona los cuales se muestran a continuación. Listado de Código: /etc/named.conf options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ query-source address * port 53; ////listen-on port 53 { any; }; allow-recursion { localnets; localhost; }; }; logging { category lame-servers{ null; }; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "inf.uach.cl" IN { type master; file "inf.uach.cl.zone"; notify yes; allow-transfer { 146.83.216.4; 200.2.114.138; 146.83.216.209; 146.83.216.152; 146.83.216.250; }; }; zone "gita.cl" IN { type master; file "gita.cl.zone"; allow-transfer { 146.83.216.209; 146.83.216.250 ; }; }; zone "fci.uach.cl" IN { type slave; file "sec/fci.uach.cl.zone"; masters { 200.2.114.138; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "216.83.146.in-addr.arpa" IN { type master; file "216.83.146.rev"; notify yes; allow-transfer { 146.83.216.4; 200.2.114.138; 146.83.216.209; 189 146.83.216.152; 146.83.216.250; }; }; include "/etc/rndc.key"; Listado de Código: archivo de zona inf.uach.cl $TTL 3600 @ 1D IN SOA antillanca.inf.uach.cl. clazo.inf.uach.cl. ( 2008041001 ; serial (clazo) 3H ; refresh 15M ; retry 1W ; expire 1D ) ; minimum 1D IN NS antillanca.inf.uach.cl. 1D IN NS ranco.inf.uach.cl. 1D IN NS server.fci.uach.cl. 1D IN NS uchaos.uach.cl. 1D IN A 146.83.216.201 1D IN MX 1 ASPMX.L.GOOGLE.COM. 1D IN MX 5 ALT1.ASPMX.L.GOOGLE.COM. 1D IN MX 5 ALT2.ASPMX.L.GOOGLE.COM. 1D IN MX 10 ASPMX2.GOOGLEMAIL.COM. 1D IN MX 10 ASPMX3.GOOGLEMAIL.COM. 1D IN MX 10 ASPMX4.GOOGLEMAIL.COM. 1D IN MX 10 ASPMX5.GOOGLEMAIL.COM. ; router 1D IN A 146.83.216.129 printserver 1D IN A 146.83.216.130 ; Profesores clazo 1D IN A 146.83.216.131 escheihi 1D IN A 146.83.216.132 mmaza 1D IN A 146.83.216.133 msolar 1D IN A 146.83.216.134 lalvarez 1D IN A 146.83.216.135 jarancibia 1D IN A 146.83.216.136 mvega 1D IN A 146.83.216.137 earaya 1D IN A 146.83.216.138 instituto 1D IN A 146.83.216.139 ;instituto eici 1D IN A 146.83.216.140 ;escuela wrios 1D IN A 146.83.216.141 rvega 1D IN A 146.83.216.142 jpsalazar 1D IN A 146.83.216.143 ssoo 1D IN A 146.83.216.144 hpwrios 1D IN A 146.83.216.213 lvidal 1D IN A 146.83.216.214 educativa 1D IN A 146.83.216.225 mruiztagle 1D IN A 146.83.216.248 ; mece1 1D IN A 146.83.216.182 mecetecnica 1D IN A 146.83.216.183 catrico 1D IN A 146.83.216.185 mece5 1D IN A 146.83.216.186 jsanmartin 1D IN A 146.83.216.187 mece7 1D IN A 146.83.216.188 mecelab1 1D IN A 146.83.216.189 mececontinuidad 1D IN A 146.83.216.190 ; Servidores encuesta 1D IN A 146.83.216.150 fwlab1 1D IN A 146.83.216.151 lab1 1D IN NS ns.lab1 ns.lab1 1D IN A 146.83.216.152 cprogramacion 1D IN A 146.83.216.157 gita 1D IN A 146.83.216.164 ssign 1D IN A 146.83.216.166 mail 1D IN A 146.83.216.167 routerv6 1D IN A 146.83.216.191 dell 1D IN A 146.83.216.193 nat 1D IN A 146.83.216.200 antillanca 1D IN A 146.83.216.201 cutipay 1D IN A 146.83.216.201 voip 1D IN A 146.83.216.203 neltume 1D IN A 146.83.216.204 alerce 1D IN A 146.83.216.205 sanpedro 1D IN A 146.83.216.206 xintranet 1D IN A 146.83.216.207 190 antilhue ranco proycad petrohue pirehueico enlaces oncohosp cruces telemedicina intranet eciencia proylci austral ribie videoconf www mmc ; CNAMEs monitor av dig acreditacion escuela pymesitio jcc2005 giiu pec caa www.caa optima2005 lams dspace www.dspace www.lams moodle www.moodle wiki www.wiki ubuntu www.ubuntu flisol www.flisol email hypnosive www.hypnosive tarreo www.tarreo edificio japones ;servicios debian 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN A A A A A A A A A A A A A A A A A 146.83.216.208 146.83.216.209 146.83.216.211 146.83.216.212 146.83.216.214 146.83.216.215 146.83.216.223 146.83.216.224 146.83.216.226 146.83.216.230 146.83.216.231 146.83.216.232 146.83.216.233 146.83.216.234 146.83.216.235 146.83.216.250 146.83.216.254 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME CNAME webhosting.inf.uach.cl. webhosting.inf.uach.cl. www.inf.uach.cl. encuesta.inf.uach.cl. www.inf.uach.cl. webhosting.inf.uach.cl. www.inf.uach.cl. webhosting.inf.uach.cl. webhosting.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. webhosting.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. gita.inf.uach.cl. gita.inf.uach.cl. gita.inf.uach.cl. gita.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. www.inf.uach.cl. 1D IN A 146.83.220.188 191 Sistema de correo virtual con postfix Obtenida de http://www.gentoo.org/doc/es/virt-mail-howto.xml 1. Introducción Para la mayoría de los usuarios de Gentoo, con un simple cliente de correo y fetchmail bastaría. Sin embargo, si se está hospedando un dominio en el sistema, se necesitará un MTA (Agente de Transporte de Correo) de verdad. Y si se están hospedando varios dominios, definitivamente se necesita algo más robusto para manejar todo el correo de los usuarios. Este sistema fue diseñado para ser una elegante solución a este problema. Un sistema de correo virtual tiene que ser capaz de manejar correo de numerosos dominios con diferentes usuarios sobre una variedad de interfaces. Esto presenta algunos problemas con los que tendremos que tratar. Por ejemplo, ¿qué ocurre si dos usuarios en diferentes dominios quieren usar el mismo nombre de usuario? Si proveemos acceso imap y smtp-auth, ¿cómo combinamos todos los demonios de autenticación en un solo sistema? ¿Cómo proporcionar seguridad para los numerosos componentes que componen el sistema? ¿Cómo lo maneja todo? Este documento muestra cómo configurar un sistema capaz de manejar correo para todos los dominios que el equipo pueda manejar, soporte de usuarios virtuales que no necesiten cuentas de shell, que los nombres sean específicos de cada dominio, que los clientes se puedan autenticar por web, imap, smtp, y pop3 contra una base de datos, utilizar ssl para la capa de transporte segura, que tenga una interfaz web, que pueda manejar listas de correo para cualquiera de los dominios, y sea controlado por una bonita, central y simple base de datos mysql. Hay gran variedad de formas para mantener un sistema de correo virtual. Con tantas opciones, cualquier otra puede ser más adecuada dependiendo de las necesidades que se tengan. Hay que considerar investigar http://www.es.qmail.org/ y http://www.exim.org/ para explorar otras opciones. Los siguientes paquetes serán usados en este sistema: apache, courier-imap, courier-authlib, postfix, mod_php, phpmyadmin, squirrelmail, cyrus-sasl, mysql, php, y mailman. Hay que asegurarse de activar las siguientes variables USE en /etc/make.conf antes de compilar los paquetes: USE="mysql imap libwww maildir sasl ssl". De otra forma se necesitarán recompilar cosas para obtener soporte para todos los protocolos. Además, es una buena idea desactivar cualquier otra variable que tenga que ver con correo y red, como ipv6. Importante: Se necesita un nombre de dominio para ejecutar un servidor de correo público, o al menos un registro MX para un dominio. Lo ideal sería tener control sobre al menos dos dominios para beneficiarse del nuevo sistema de correo virtual. Importante: Hay que asegurarse de que /etc/conf.d/hostname contiene el nombre de máquina correcto del servidor de correo. Para que tomen efecto los cambios hechos en este archivo ejecute /etc/init.d/hostname restart. Verifique que esté correcto el nombre de su máquina con hostname. También verifique que no hay entradas conflictivas en /etc/hosts. Nota: Se recomienda la lectura de este documento completo y la familiaridad con todos los pasos antes de ponerse a instalarlo. Si se tienen problemas con alguno de los pasos, puede comprobarse la guía de problemas frecuentes al final de este documento. También, no todos los paquetes aquí referenciados son necesarios, esto es para un sistema muy flexible. Por ejemplo, si no se desea una interfaz Web, puede evitarse la sección de squirrelmail. 2. Postfix Básico Listado de Código 2.1: Instalar postfix # emerge postfix Aviso: Hay que verificar que no se ha instalado otro MTA, como ssmtp, exim, o netqmail, o seguro que se tendrán GRANDES problemas. Tras la instalación de postfix, es el momento de configurarlo. Vamos a cambiar las siguientes opciones en /etc/postfix/main.cf. Recuerde reemplazar las $variables con sus propios nombres. 192 Listado de Código 2.2: /etc/postfix/main.cf myhostname = $host.domain.name mydomain = $domain.name inet_interfaces = all mydestination = $myhostname, localhost.$mydomain $mydomain mynetworks = my.ip.net.work/24, 127.0.0.0/8 home_mailbox = .maildir/ local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 10 Lo siguiente es cambiar /etc/postfix/master.cf. Esto activará que la salida sea detallada para poder depurar: Listado de Código 2.3: /etc/postfix/master.cf # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (50) # ========================================================================== (Sólo hay que añadir "-v" después de smtpd a la siguiente línea) smtp inet n n smtpd -v Lo siguiente es editar /etc/mail/aliases para añadir los alias locales. Debe haber al menos un alias para root como: root: your@email.address. Listado de Código 2.4: Iniciar postfix por primera vez # /usr/bin/newaliases (Esto instalará el nuevo alias. Sólo se necesita hacer esto cuando se actualicen o añadan nuevos alias.) # /etc/init.d/postfix start Ahora que postfix está corriendo, se ejecuta el cliente de correo de consola y nos enviamos un mensaje. Yo uso mutt para todo mi email. Comprobamos que postfix está repartiendo el correo a los usuarios locales, una vez esto esté hecho, pasaremos al siguiente paso. Nota: Recomiendo que se verifique que esta configuración básica de postfix está funcionando antes de dar el siguiente paso en esta guía. 3. Courier-imap Listado de Código 3.1: Instalar courier-imap # emerge courier-imap courier-authlib Listado de Código 3.2: Configuración de Courier-imap # cd /etc/courier-imap (Si se quiere usar ssl para imap y pop, hay que crear certificados para este propósito. Este paso está recomendado. Si no se quiere ssl, simplemente se puede evitar.) # nano -w /etc/courier-imap/pop3d.cnf # nano -w /etc/courier-imap/imapd.cnf (Se cambian los campos C, ST, L, CN, y email ajustándolos a nuestro caso.) # mkpop3dcert # mkimapdcert Listado de Código 3.3: Inicie los servicios de courier que necesite. # /etc/init.d/courier-imapd start # /etc/init.d/courier-imapd-ssl start # /etc/init.d/courier-pop3d start # /etc/init.d/courier-pop3d-ssl start Se ejecuta nuestro cliente de correo preferido y se comprueba que todas las conexiones para mandar y recibir correo funcionan. Por supuesto, no podrá hacer log on al estos servicios, porque la autentificación no ha sido configurada, pero es buena idea revisar si las conexiones en sí funcionan o no. 193 Ahora que lo básico funciona, vamos a seguir con el resto del manojo de paquetes para que el sistema funcione. Y otra vez, hay que comprobar que se ha instalado todo y que funciona antes de continuar. 4. Cyrus-sasl Ahora vamos a instalar cyrus-sasl. Sasl va a hacer la labor de pasar las variables de autenticación a pam que pasará está información a mysql para autenticar usuarios de smtp. Para este documento no vamos a comprobar si sasl funciona hasta que mysql no esté configurado correctamente con un usuario de prueba; lo que está bien, porque siempre autenticaremos contra una base de datos mysql. Listado de Código 4.1: Configurar e instalar el ebuild cyrus-sasl # emerge cyrus-sasl Ahora, se edita /etc/sasl2/smtpd.conf. Listado de Código 4.2: Iniciar sasl # nano -w /etc/sasl2/smtpd.conf mech_list: PLAIN LOGIN pwcheck_method: saslauthd # nano -w /etc/conf.d/saslauthd SASLAUTHD_OPTS="${SASLAUTH_MECH} -a rimap -r" SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost" # /etc/init.d/saslauthd start 5. Certificados SSL para Postfix y Apache Ahora vamos a hacer los certificados SSL para postfix y apache. Listado de Código 5.1: Certificados ssl # cd /etc/ssl/ # nano -w openssl.cnf Hay que ajustar los siguientes valores por defecto para nuestro dominio: countryName_default stateOrProvinceName_default localityName_default 0.organizationName_default commonName_default emailAddress_default. (Si las variables no están presentes, hay que añadirlas.) # # # # # # # cd misc ./CA.pl -newreq-nodes ./CA.pl -newca ./CA.pl -sign cp newcert.pem /etc/postfix cp newkey.pem /etc/postfix cp demoCA/cacert.pem /etc/postfix (Ahora hacemos lo mismo para apache.) # openssl req -new > new.cert.csr # openssl rsa -in privkey.pem -out new.cert.key # openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 365 (Por ahora dejamos estos certificados ahí. Los agregaremos después de instalar Apache.) 6. Añadir a Postfix soporte para SSL y SASL Ahora se edita el fichero de configuración de Postfix para que utilice ssl y sasl. Se añaden los siguientes parámetros al final del fichero para que sean más sencillos de encontrar. 194 Listado de Código 6.1: /etc/postfix/main.cf # nano -w /etc/postfix/main.cf smtpd_sasl_auth_enable = yes smtpd_sasl2_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_local_domain = (Las opciones broken_sasl_auth_clients, login y auth son para outlook y outlook express y no están documentadas. ¿No es fantástico tener que hackear software para estúpidos, rotos, M$ y BS? smtpd_sasl_local_domain añade un dominio a los clientes que usen smtp-auth. Hay que asegurarse de que está en blanco o los nombres de usuario serán manejados por postfix y estos serán incapaces de autenticarse. smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination (Las siguientes dos opciones activan el cifrado saliente) smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_use_tls = yes #smtpd_tls_auth_only = yes smtpd_tls_key_file = /etc/postfix/newkey.pem smtpd_tls_cert_file = /etc/postfix/newcert.pem smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_loglevel = 3 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom (smtpd_tls_auth_only está comentado para poder probar el sistema. Se puede habilitar más tarde si se desea.) # postfix reload Ahora vamos a comprobar que la configuración es aceptada por postfix. Para esto vamos a usar telnet (proporcionado, por ejemplo, por net-misc/netkit-telnetd), aunque también se podría usar nc (proporcionado por net-analyzer/netcat): Listado de Código 6.2: Comprobar el soporte para sasl y tls # telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.domain.com ESMTP Postfix EHLO domain.com 250-mail.domain.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN OTP 250-AUTH=LOGIN PLAIN OTP 250-XVERP 250 8BITMIME ^] telnet> quit Se comprueba que aparecen las líneas AUTH y STARTTLS. Como dije antes, tal y como está ahora AUTH no funcionará porque sasl intentará autenticar contra sasldb en lugar de hacerlo con el shadow, por alguna extraña razón, que nosotros no hemos configurado. Así que vamos a instalar mysql para que guarde la información sobre autenticación y la información de los dominios virtuales. 195 7. El usuario vmail Antes de configurar nuestro entorno virtual mailhosting, crearemos un usuario bajo el cual los buzones virtuales serán almacenados. Para que sea lo más claro posible, llamaremos a este usuario vmail: Listado de Código 7.1: Agregando al usuario vmail # adduser -d /home/vmail –s /bin/false -m vmail Ahora ha establecido la cuenta vmail. Puede crear múltiples cuentas si lo desea (en caso de manejar una estructura en el conjunto de cuentas virtuales de correo). Los id de usuario, de grupo y directorios home son referenciados en las tablas de MySQL. Junto con la cuenta del usuario, también necesitamos crear la ubicación donde serán almacenados los buzones: Listado de Código 7.2: Creando los buzones # mkdir -p /home/vmail/virt-domain.com/foo # chown -R vmail:vmail /home/vmail/virt-domain.com # maildirmake /home/vmail/virt-domain.com/foo/.maildir 8. MySQL Ahora vamos a instalar y configurar MySQL. Se necesitará el fichero genericmailsql.sql para este paso. Listado de Código 8.1: Instalar y configurar MySQL # emerge mysql # /usr/bin/mysql_install_db Después de este comando hay que seguir los pasos en pantalla para añadir un password para root en mysql, de manera que la base de datos no esté abierta a todo el mundo. # /etc/init.d/mysql start # mysqladmin -u root -p create mailsql # mysql -u root -p --opt mailsql < genericmailsql.sql # mysql -u root -p mysql mysql> GRANT SELECT,INSERT,UPDATE,DELETE -> ON mailsql.* -> TO mailsql@localhost -> IDENTIFIED BY '$password'; Query OK, 0 rows affected (0.02 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> quit (Hay que comprobar que el nuevo usuario (mailsql) puede conectar al servidor de base de datos.) # mysql -u mailsql -p mailsql La nueva base de datos tiene algunos valores por defecto para dos dominios. Las siguientes tablas están incluidas: • alias - información sobre los alias locales y los alias de mailman. • relocated - mapas de direcciones de correo relocalizadas • transport - transporte de correo por defecto para todos los dominios que se hospedan • users - información sobre todos los usuarios • virtual - información sobre los dominios virtuales 196 Listado de Código 8.2: Ejemplo de tabla alias Id alias destination 1 root foo@bar.com 2 postmaster foo@bar.com Listado de Código 8.3: Ejemplo de tabla user (Línea dividida para una mayor claridad.) id email clear name uid gid homedir \ maildir quota postfix 10 foo@virt-domain.org $password realname virtid virtid /home/vmail \ /home/vmail/virt-bar.org/foo/.maildir/ y 13 foo@bar.com $password realname localid localid /home/foo \ /home/foo/.maildir/ y Los valores del uid y gid en virtid deben ser los del usuario y el grupo vmail. Listado de Código 8.4: Ejemplo de tabla transport domain destination bar.com local: virt-domain.org virtual: Listado de Código 8.5: Ejemplo de tabla virtual Id email destination 3 root@virt-domain.org other@email.address Id 1 2 9. Apache y phpMyAdmin Ahora vamos a configurar apache y una interfaz para trabajar con la base de datos. Listado de Código 9.1: Configurar apache y phpmyadmin # emerge apache phpmyadmin Hay muchas guías sobre cómo configurar apache con php, incluyendo guías porporcionadas por el Proyecto PHP Gentoo. También hay muchos mensajes en http://forums.gentoo.org/ con información detallada sobre problemas comunes en la instalación (puede buscarse 'apache php'). Así que, no lo cubriremos aquí. Después de instalar y configurar apache y php, se puede continuar con esta guía. Ahora crearemos el .htaccess en el directorio que esté phpMyAdmin. Si no se hace esto, los motores de búsqueda entrarán e indexaran estas páginas y cualquiera podrá obtener información sobre la base de datos buscando en google, lo que es ¡MALO!. Hay muchas guías acerca de esto, como por ejemplo: http://www.csoft.net/docs/micro/htaccess.html.en. Ahora vamos a instalar los certificados que hicimos para Apache. Las directivas de Apache-SSL que se necesitan son las siguientes: • SSLCertificateFile /path/to/certs/new.cert.cert • SSLCertificateKeyFile /path/to/certs/new.cert.key Listado de Código 9.2: Instalar los certificados SSL en Apache # cp /etc/ssl/misc/new.cert.cert /etc/apache2/ssl/ # cp /etc/ssl/misc/new.cert.key /etc/apache2//ssl/ # cd /etc/apache2/vhosts.d (Revise si tiene una plantilla para un ssl-vhost. En ese caso, copie ese en vez del default_vhost) # cp 00_default_vhost.conf ssl-vhost.conf # nano -w ssl-vhost.conf Cambiamos los siguientes parámetros: NameVirtualHost host.domain.name:443 <VirtualHost host.domain.name:443> ServerName host.domain.name ServerAdmin your@email.address DocumentRoot "/var/www/localhost/htdocs/phpmyadmin"; <Directory "/var/www/localhost/htdocs/phpmyadmin"> ... </Directory> 197 SSLCertificateFile /etc/apache2/ssl/new.cert.cert SSLCertificateKeyFile /etc/apache2/ssl/new.cert.key SSLEngine on ... </VirtualHost> # nano -w /etc/conf.d/apache2 (Add -D SSL -D PHP5 to the APACHE2_OPTS) # /etc/init.d/apache2 restart Ahora configuremos phpMyAdmin. Listado de Código 9.3: Configurar phpMyAdmin # cd /var/www/localhost/htdocs/phpmyadmin # cp config.sample.inc.php config.inc.php # nano -w config.inc.php Hay que cambiar los siguientes parámetros $cfg['blowfish_secret'] = 'fraseclavesupersecreta'; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['controluser'] = 'mailsql'; control MySQL // nombre anfitrión MySQL // configuración usuario de // (este usuario debe tener acceso solo lectura $cfg['Servers'][$i]['controlpass'] = '$password'; "mysql/user" $cfg['Servers'][$i]['user'] = 'mailsql'; $cfg['Servers'][$i]['password'] = '$password'; // lectura a las tablas // y "mysql/db") // usuario MySQL // clave MySQL Ahora navegue a la página de phpmyadmin y navegamos por las tablas. Podremos añadir los alias locales, editar la tabla de usuarios para añadir un usuario de prueba, y añadir la información sobre los dominios. Por defecto, las tablas tienen unos valores que servirán de guía. Hay que asegurarse de poner la información correcta en la base de datos. Por ejemplo, hay que asegurarse de que los directorios de los usuarios locales existen y que tienen los valores uid/gid correctos. Los maildirs deberían ser creados automáticamente por postfix cuando el usuario recibe su primer mensaje. Así que, en general, es una buena idea mandar un mensaje de bienvenida tras crear los nuevos usuarios de forma que .maildir sea creado. 10. Configurar la autenticación MySQL y con dominios virtuales Ahora vamos a reconfigurar nuestra autenticación para que use la base de datos mailsql en courierimap y en postfix. En todos los ejemplos que siguen, hay que reemplazar $password por la contraseña que se escogió a la hora de crear el usuario mailsql en MySQL. Listado de Código 10.1: Configurar la autenticación # nano -w /etc/courier/authlib/authdaemonrc authmodulelist="authmysql authpam" # nano -w /etc/courier/authlib/authmysqlrc MYSQL_SERVER localhost MYSQL_USERNAME mailsql MYSQL_PASSWORD $password MYSQL_DATABASE mailsql MYSQL_USER_TABLE users (Hay que asegurarse de que la siguiente línea está comentada, dado que usamos sólo texto.) #MYSQL_CRYPT_PWFIELD MYSQL_CLEAR_PWFIELD MYSQL_UID_FIELD MYSQL_GID_FIELD MYSQL_LOGIN_FIELD MYSQL_HOME_FIELD MYSQL_NAME_FIELD MYSQL_MAILDIR_FIELD crypt clear uid gid email homedir name maildir 198 # /etc/init.d/courier-authlib restart # /etc/init.d/saslauthd restart ¡Ya casi está! Ahora haremos las configuraciones necesarias para que postfix interactúe con la base de datos para sus demás necesidades de transporte. Recuerde reemplazar cada valor con el nombre del propio usuario, user id, contraseña, alias, dirección de correo electrónico, etc. Listado de Código 10.2: /etc/postfix/mysql-aliases.cf # nano -w /etc/postfix/mysql-aliases.cf # mysql-aliases.cf user = mailsql password = $password dbname = mailsql table = alias select_field = destination where_field = alias hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código 10.3: /etc/postfix/mysql-relocated.cf # nano -w /etc/postfix/mysql-relocated.cf # mysql-relocated.cf user = mailsql password = $password dbname = mailsql table = relocated select_field = destination where_field = email hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código 10.4: /etc/postfix/mysql-transport.cf (opcional) # nano -w /etc/postfix/mysql-transport.cf # mysql-transport.cf user = mailsql password = $password dbname = mailsql table = transport select_field = destination where_field = domain hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código 10.5: /etc/postfix/mysql-virtual-gid.cf (opcional) # nano -w /etc/postfix/mysql-virtual-gid.cf # mysql-virtual-gid.cf user = mailsql password = $password dbname = mailsql table = users select_field = gid where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código 10.6: /etc/postfix/mysql-virtual-maps.cf # nano -w /etc/postfix/mysql-virtual-maps.cf # mysql-virtual-maps.cf user = mailsql password = $password dbname = mailsql table = users select_field = maildir where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código 10.7: /etc/postfix/mysql-virtual-uid.cf (opcional) # nano -w /etc/postfix/mysql-virtual-uid.cf # mysql-virtual-uid.cf user = mailsql password = $password dbname = mailsql table = users select_field = uid where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock 199 Listado de Código 10.8: /etc/postfix/mysql-virtual.cf # nano -w /etc/postfix/mysql-virtual.cf # mysql-virtual.cf user = mailsql password = $password dbname = mailsql table = virtual select_field = destination where_field = email hosts = unix:/var/run/mysqld/mysqld.sock Por último, hay que editar /etc/postfix/main.cf una vez más. Listado de Código 10.9: /etc/postfix/main.cf # nano -w /etc/postfix/main.cf (Asegúrese que no haya otras definiciones de alias_maps) alias_maps = mysql:/etc/postfix/mysql-aliases.cf relocated_maps = mysql:/etc/postfix/mysql-relocated.cf local_transport = local local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname virtual_transport = virtual (Los dominios listados por mydestination no deben ser listados en el parámetro virtual_mailbox_domains) virtual_mailbox_domains = virt-domain.com, $other-virtual-domain.com virtual_minimum_uid = 1000 (Sustituya $vmail-gid con el GID del grupo vmail) virtual_gid_maps = static:$vmail-gid virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf (Sustituya $vmail-uid con el UID del usuario vmail) virtual_uid_maps = static:$vmail-uid virtual_mailbox_base = / #virtual_mailbox_limit = Por razones de seguridad es necesario cambiar los permisos de todos los /etc/mail/mysql*.cf: Listado de Código 10.10: Cambiar los permisos de los archivos # chmod 640 /etc/postfix/mysql-*.cf # chgrp postfix /etc/postfix/mysql-*.cf En Postfix 2.0.x, hay cambios significativos desde 1.1.x. Destacando que las tablas transport, virtualgid y virtual-uid no son necesarias. Las tablas aún se incluyen, por si se quieren usar. Nota: Se recomienda la lectura de VIRTUAL_README incluido en la documentación de postfix para más información. Listado de Código 10.11: Hacer a postfix recargar sus tablas # postfix reload Ahora, si todo ha ido bien, se debería tener el sistema funcionando. Los usuarios serán capaces de autenticarse contra la base de datos sql, usando su dirección de email completa, para pop3, imap, y smtp. Se recomienda comprobar que todo funciona correctamente en este momento. Si se tienen problemas, siempre puede comprobarse la sección de problemas frecuentes en esta guía. 11. Squirrelmail Listado de Código 11.1: Instalar squirrelmail # emerge squirrelmail (Si se instala squirrelmail hacia localhost, puede accederse al mismo con http://localhost/mail) (Hay que sustituir 1.4.3a-r2 con la versión que se use) # webapp-config -I -h localhost -d /mail squirrelmail 1.4.3a-r2 200 # cd /var/www/localhost/htdocs/mail/config # perl ./conf.pl (Hay que cambiar las opciones de la Organización, Servidor y Directorio en squirrelmail. Ahora se debería poder conectar a squirrelmail, con la dirección de correo completa, y utilizar el nuevo sistema de webmail). 12. Mailman Último paso: mailman. La nueva versión de mailman tiene una buena interfaz para soportar dominios virtuales, que es por lo que lo uso, y sin mencionar que es un muy buen paquete. Para instalar este paquete y hacer que funcione bien con dominios virtuales vamos a necesitar un poco de hacking. Yo recomiendo leer toda la documentación de mailman, incluyendo README.POSTFIX.gz, para entender qué se está haciendo aquí. Listado de Código 12.1: Instalar mailuan # emerge mailuan Listado de Código 12.2: Configurar los valores predeterminados: Mailman/Defaults.py # nano -w /usr/local/mailman/Mailman/Defaults.py (Cambiar los siguientes valores para reflejar el dominio primario, configuraremos los virtuales después.) DEFAULT_EMAIL_HOST = 'domain.com' DEFAULT_URL_HOST = 'www.domain.com' Listado de Código 12.3: Configuración de mailman: mm_cfg.py # nano -w /usr/local/mailman/Mailman/mm_cfg.py MTA = "Postfix" POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virt-domain.com', 'virt.domain2.com'] add_virtualhost('www.virt.domain.com', 'virt.domain.com') add_virtualhost('www.virt.domain2.com', 'virt.domain2.com') (Esto es necesario para que funcionen los dominios virtuales.) Listado de Código 12.4: Y por último, pero no menos importante (Cuando se haya terminado, añadiremos la primera lista.) # su mailman # cd ~ # bin/newlist --urlhost='www.virt-domain.com' --emailhost='virt-domain.com' test Enter the email of the person running the list: your@email.address Initial test password: Hit enter to continue with test owner notification... (Las listas de dominios virtuales pueden ser especificadas también usando el formato lista@dominio.com.) # bin/genaliases (Ahora que los alias han sido regenerados, veamos si han sido añadidos correctamente.) # nano -w data/aliases # STANZA START: test # CREATED: test: "|/usr/local/mailman/mail/mailman test-admin: "|/usr/local/mailman/mail/mailman test-bounces: "|/usr/local/mailman/mail/mailman test-confirm: "|/usr/local/mailman/mail/mailman test-join: "|/usr/local/mailman/mail/mailman test-leave: "|/usr/local/mailman/mail/mailman test-owner: "|/usr/local/mailman/mail/mailman test-request: "|/usr/local/mailman/mail/mailman test-subscribe: "|/usr/local/mailman/mail/mailman test-unsubscribe: "|/usr/local/mailman/mail/mailman # STANZA END: test (Crear la lista mailman requerida) # ./bin/newlist mailman # ./bin/genaliases (Regresar al usuario root) # exit # /etc/init.d/mailman start # rc-update add mailman default (Para ejecutar mailman en cada reinicio.) 201 post test" admin test" bounces test" confirm test" join test" leave test" owner test" request test" subscribe test" unsubscribe test" Listado de Código 12.5: Añadir soporte de alias mailman en postfix # nano -w /etc/postfix/main.cf owner_request_special = no recipient_delimiter = + (Lea README.POSTFIX.gz para más detalles.) alias_maps = hash:/usr/local/mailman/data/aliases, mysql:/etc/postfix/mysql-aliases.cf virtual_alias_maps = hash:/usr/local/mailman/data/virtual-mailman, mysql:/etc/postfix/mysql-virtual.cf (Esto añade el fichero de alias de mailman a postfix. Se pueden utilizar tablas de MySQL para esto, pero odio hacer esto a mano. Además, si no se están usando dominios virtuales, añadir los mapas de dominios virtuales a postfix causará problemas, avisado). Ahora se deberían poder configurar listas de correo para cualquier dominio en la máquina. Como última nota sobre el asunto, hay que asegurarse de que se ejecutan todos los comandos de mailman con el usuario mailman (su mailman) o los permisos serán erróneos y habrá que corregirlos. Hay que leer la documentación de mailman para más información sobre cómo configurar y manejar listas de correo con mailman. 13. Filtrando el contenido y Anti-Virus Para filtrado de contenido y anti-virus, se puede consultar la Guía Gentoo para el filtrado de correo. 14. Todo en uno Ok, ya está todo, editamos /etc/postfix/master.cf y quitamos el modo detallado (verbose) para el uso en producción. Probablemente se quieran añadir los servicios al arranque del sistema para que se inicien cada vez que se reinicie el servidor. Hay que asegurarse de añadir todos los paquetes que se están usando - apache, mysql, saslauthd, postfix, courier-imapd, courier-imapd-ssl, courier-pop3d, y courier-pop3d-ssl, dependiendo de los tipos de acceso que se quieran ofrecer. Normalmente yo los inicio todos. Listado de Código 14.1: Todo en uno # postfix reload # rc-update add $service default ¡A disfrutarlo! 15. Problemas frecuentes Introducción Lidiando con problemas: Esta es una pequeña guía para lidiar con los posibles problemas que puedan surgir para la configuración que hemos hecho. No es exhaustiva, pero puede ser un comienzo para empezar a pelearse con los problemas. Con una configuración complicada como esta, es necesario que se asigne correctamente el problema con el componente que está fallando. En general para hacer esto sirve con seguir los siguientes pasos. Empezar por la base del sistema y empezar a ascender hasta conseguir dar con el componente que tiene el problema. Paso 1: Comprobar los ficheros de configuración Los errores al escribir un fichero de configuración son mortales, especialmente cuando se trata de sistemas de autenticación. Han de comprobarse los ficheros de configuración y sql en busca de estos errores. Se puede depurar todo lo que uno quiera, pero si no se le está pasando la información correcta, el sistema de correo no va a funcionar. Si se hace un cambio en un fichero de configuración para un servicio, hay que asegurarse de reiniciar dicho servicio para que los cambios en el fichero tengan efecto. 202 Listado de Código 15.1: Cómo reiniciar un servicio # /etc/init.d/servicio restart Paso 2: ¿Los servicios necesarios están corriendo? Si no están corriendo, hay que iniciarlos. Es tremendamente difícil depurar un servicio que no está corriendo. A veces un servicio puede actuar como si estuviera iniciado pero puede seguir sin funcionar. A veces, cuando se tiene un fichero incorrecto, o una mala transmisión entra en un componente de correo, el servicio abre un puerto para evitar que sea usado por otro proceso. A veces se puede detectar esto con netstat. Reiniciar la máquina limpiará la lista de puertos abiertos por procesos que no están funcionando bien. Listado de Código 15.2: Comprobar el estado de un servicio # /etc/init.d/$service status # netstat -a | grep $service (o bien: $port) Paso 3: ¿Están todos los servicios usando los últimos ficheros de configuración? Si se ha modificado alguno de los ficheros, hay que reiniciar ese servicio para asegurarse de que está utilizando la última versión de dicho fichero. Algunos programas como postfix volcarán su configuración actual. # # # # Listado de Código 15.3: Algunos servicios pueden mostrar su configuración actual apachectl fullstatus (necesita lynx instalado) apachectl configtest (comprueba el fichero de configuración) postconf -n (mostrará los parámetros que está usando postfix) /etc/init.d/$service restart Paso 4: Comprobación de bitácoras (log). Las bitácoras son mis amigas. El siguiente paso son siempre las bitácoras. A veces es muy útil provocar un fallo en el sistema de correo para, tras esto, comprobar el error en los registros. Ver si hay algo de información que nos ayude a diagnosticar el problema, o quizá, mostrarnos qué componente está fallando. # # # # Listado de Código 15.4: Comprobar las bitácoras kill -USR1 `ps -C metalog -o pid=` (para deshabilitar el búfer de metalog) nano -w /var/log/mail/current cat /var/log/mysql/mysql.log tail /var/log/apache2/error_log Se pueden encontrar útiles los parámetros de debug_peer en main.cf. Añadiendo esto, se incrementará el nivel de depuración. Listado de Código 15.5: Añadir soporte debug_peer # nano -w /etc/postfix/main.cf debug_peer_level = 5 debug_peer_list = $host.domain.name (Se descomenta también uno de los comandos de depuración sugeridos.) Paso 5: Hablar con el propio servicio. SMTP, IMAP y POP3 responden a sesiones telnet. Tal y como vimos cuando comprobamos la configuración de postfix. A veces es útil abrir una sesión telnet a uno de los servicios para ver qué está pasando. Listado de Código 15.6: Conectar a un servicio con Telnet # telnet localhost $port (SMTP es 25, IMAP es 143, POP3 es 110. Se debe recibir una cadena OK, que nos muestre que el servicio se está ejecutando y listo para aceptar peticiones). Trying 127.0.0.1... 203 Connected to localhost. Escape character is '^]'. * OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc. Paso 6: A veces las grandes armas nos dan la información que se necesita: strace. Debe tenerse este programa instalado. Es una herramienta muy buena para depurar programas. Se pueden iniciar comandos desde la consola con strace y ver las llamadas al sistema a la vez que ocurren. Muchas veces vuelca una enorme cantidad de información, así que se tendrá que ver en tiempo real mientras que intenta una transacción fallida con el sistema de correo, o bien, mandar la salida a un fichero para luego examinarlo. Listado de Código 15.7: Usar strace # emerge strace # strace $command # strace -p `ps -C $service -o pid=` Paso 7: Investigación Una vez que se tiene la información, si se puede diagnosticar y arreglar el problema, ¡bien! Si no, probablemente se necesite navegar un poco por la red en busca de información que nos ayude a diagnosticar y arreglar el problema. Aquí hay una lista de sitios donde se puede comprobar si el problema ha sido resuelto. También hay una buena guía para configurar smtp-auth que contiene buenas ideas sobre depuración. Archivos de Configuración del Correo Archivos Cyrus-sasl Listado de Código: saslauthd # $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/files/saslauthd2.1.21.conf,v 1.2 2007/04/07 13:03:55 chtekk Exp $ # Config file for /etc/init.d/saslauthd # Initial (empty) options. SASLAUTHD_OPTS="" SASLAUTHD_OPTS="${SASLAUTHD_MECH} -a pam -r" SASLAUTHD_OPTS="${SASLAUTHD_MECH} -a rimap -r" SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost" # Specify the number of worker processes to create. #SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -n 5" # Enable credential cache, set cache size and timeout. # **NOTE** Size is measured in kilobytes. # Timeout is measured in seconds. #SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -c -s 128 -t 30" Listado de Código: smtpd.conf # $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/files/smtp.sasl,v 1.2 2004/07/18 03:26:56 dragonheart Exp $ mech_list: PLAIN LOGIN pwcheck_method:saslauthd 204 Archivos Postfix Listado de Código: main.cf queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/lib/postfix mail_owner = postfix myhostname = ns.lab1.inf.uach.cl mydomain = lab1.inf.uach.cl inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, $mydomain unknown_local_recipient_reject_code = 550 #mynetworks_style = class #mynetworks_style = subnet #mynetworks_style = host mynetworks = 146.83.216.128/25, 127.0.0.0/8 local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 10 debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq setgid_group = postdrop html_directory = /usr/share/doc/postfix-2.4.6-r2/html manpage_directory = /usr/share/man sample_directory = /etc/postfix readme_directory = /usr/share/doc/postfix-2.4.6-r2/readme home_mailbox = .maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl2_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_local_domain = smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_use_tls = yes #smtpd_tls_auth_only = yes smtpd_tls_key_file = /etc/postfix/newkey.pem smtpd_tls_cert_file = /etc/postfix/newcert.pem smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_loglevel = 3 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom alias_maps = mysql:/etc/postfix/mysql-aliases.cf relocated_maps = mysql:/etc/postfix/mysql-relocated.cf local_transport = local local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname virtual_transport = virtual virtual_mailbox_domains = lab1.inf.uach.cl virtual_minimun_uid = 1000 virtual_gid_maps = static:1000 virtual_mailbox_maps= mysql:/etc/postfix/mysql-virtual-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf virtual_uid_maps = static:1000 virtual_mailbox_base = / #virtual_mailbox_limit = 205 Listado de Código: master.cf # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n n smtpd -v #submission inet n n smtpd # -o smtpd_enforce_tls=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject #smtps inet n n smtpd # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject #628 inet n n qmqpd pickup fifo n n 60 1 pickup cleanup unix n n 0 cleanup qmgr fifo n n 300 1 qmgr #qmgr fifo n n 300 1 oqmgr tlsmgr unix n 1000? 1 tlsmgr rewrite unix n trivial-rewrite bounce unix n 0 bounce defer unix n 0 bounce trace unix n 0 bounce verify unix n 1 verify flush unix n n 1000? 0 flush proxymap unix n proxymap smtp unix n smtp # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix n smtp -o fallback_relay= # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n n showq error unix n error retry unix n error discard unix n discard local unix n n local virtual unix n n virtual lmtp unix n lmtp anvil unix n 1 anvil scache unix n 1 scache # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 #maildrop unix n n pipe # flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # ==================================================================== # The Cyrus deliver program has changed incompatibly, multiple times. #old-cyrus unix n n pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # ==================================================================== # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 #cyrus unix n n pipe # user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # ==================================================================== # See the Postfix UUCP_README file for configuration details. #uucp unix n n pipe # flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # ==================================================================== # Other external delivery methods. #ifmail unix n n pipe # flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) #bsmtp unix n n pipe # flags=Fq. user=bsmtp argv=/usr/sbin/bsmtp -f $sender $nexthop $recipient #scalemail-backend unix n n 2 pipe # flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store # ${nexthop} ${user} ${extension} 206 #mailman unix n n pipe # flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py # ${nexthop} ${user} Listado de Código: mysql-aliases.cf user = mailsql password = mailsql dbname = mailsql table = alias select_field = destination where_field = alias hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código: mysql-relocated.cf user = mailsql password = mailsql dbname = mailsql table = relocated select_field = destination where_field = email hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código: mysql-transport.cf user = mailsql password = mailsql dbname = mailsql table = transport select_field = destination where_field = domain hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código: mysql-virtual.cf user = mailsql password = mailsql dbname = mailsql table = virtual select_field = destination where_field = email hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código: mysql-virtual-gid.cf user = mailsql password = mailsql dbname = mailsql table = users select_field = gid where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock Listado de Código: mysql-virtual-maps.cf user = mailsql password = mailsql dbname = mailsql table = users select_field = maildir where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock 207 Listado de Código: mysql-virtual-uid.cf user = mailsql password = mailsql dbname = mailsql table = users select_field = uid where_field = email additional_conditions = and postfix = 'y' hosts = unix:/var/run/mysqld/mysqld.sock Archivos MySql Listado de Código: authdaemonrc authmodulelist="authmysql authpam" authmodulelistorig="authuserdb authpam authshadow authldap authmysql authcustom authpipe" daemons=5 authdaemonvar=/var/lib/courier/authdaemon DEBUG_LOGIN=0 DEFAULTOPTIONS="" LOGGEROPTS="" ##NAME: LDAP_TLS_OPTIONS:0 # Options documented in ldap.conf(5) can be set here, prefixed with 'LDAP'. # Examples: # #LDAPTLS_CACERT=/path/to/cacert.pem #LDAPTLS_REQCERT=demand #LDAPTLS_CERT=/path/to/clientcert.pem #LDAPTLS_KEY=/path/to/clientkey.pem Listado de Código: authmysqlrc MYSQL_SERVER ns.lab1.inf.uach.cl MYSQL_USERNAME mailsql MYSQL_PASSWORD mailsql # MYSQL_SOCKET /var/mysql/mysql.sock MYSQL_PORT 0 MYSQL_OPT 0 MYSQL_DATABASE mailsql MYSQL_USER_TABLE users #MYSQL_CRYPT_PWFIELD crypt MYSQL_CLEAR_PWFIELD clear # DEFAULT_DOMAIN example.com MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD homedir MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD maildir # MYSQL_DEFAULTDELIVERY defaultdelivery 208 # MYSQL_QUOTA_FIELD quota # MYSQL_AUXOPTIONS_FIELD auxoptions # MYSQL_AUXOPTIONS_FIELD CONCAT("disableimap=",disableimap,",disablepop3=",disablepop3,",disableweb mail=",disablewebmail,",sharedgroup=",sharedgroup) # MYSQL_WHERE_CLAUSE server='mailhost.example.com' # MYSQL_SELECT_CLAUSE popbox.domain_name), # # # # # # # # # # # # # # # SELECT CONCAT(popbox.local_part, '@', \ CONCAT('{MD5}', popbox.password_hash), popbox.clearpw, domain.uid, domain.gid, CONCAT(domain.path, '/', popbox.mbox_name), \ '', domain.quota, '', CONCAT("disableimap=",disableimap,",disablepop3=", disablepop3,",disablewebmail=",disablewebmail, \ ",sharedgroup=",sharedgroup) \ FROM popbox, domain WHERE popbox.local_part = '$(local_part)' \ AND popbox.domain_name = '$(domain)' AND popbox.domain_name = domain.domain_name # MYSQL_ENUMERATE_CLAUSE popbox.domain_name), # # # # # # # # # SELECT CONCAT(popbox.local_part, '@', \ domain.uid, domain.gid, CONCAT(domain.path, '/', popbox.mbox_name), '', CONCAT('sharedgroup=', sharedgroup) FROM popbox, domain WHERE popbox.local_part = '$(local_part)' AND popbox.domain_name = '$(domain)' AND popbox.domain_name = domain.domain_name # MYSQL_CHPASS_CLAUSE # # # # # UPDATE SET WHERE AND popbox clearpw='$(newpass)', password_hash='$(newpass_crypt)' local_part='$(local_part)' domain_name='$(domain)' 209 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Anexo C: Reportes de Vulnerabilidades C.1 Reporte GFI LANguard Network Security Scanner 8.0 Figura C.1 Reporte GFI en Windows 210 C.2 Reporte GFI LANguard Network Scanner v2.0 Figura C.2 Reporte GFI en Linux 211 C.3 Reporte Nessus 146.83.216.152 Scan time : Start time : Thu Jan 29 16:06:20 2009 End time : Thu Jan 29 16:21:26 2009 Number of vulnerabilities : Open ports : 15 Low : 54 Medium : 11 High : 1 Information about the remote host : Operating system : Linux Kernel 2.6 NetBIOS name : (unknown) DNS name : lab1.inf.uach.cl. Port domain (53/udp) DNS Server Detection A DNS server is running on this port. If you do not use it, disable it. Risk factor : Low Nessus ID : 11002 Usable remote name server Synopsis : The remote name server allows recursive queries to be performed by the host running nessusd. Description : It is possible to query the remote name server for third party names. If this is your internal nameserver, then forget this warning. If you are probing a remote nameserver, then it allows anyone to use it to resolve third parties names (such as www.nessus.org). This allows hackers to do cache poisoning attacks against this 212 nameserver. If the host allows these recursive queries via UDP, then the host can be used to 'bounce' Denial of Service attacks against another network or system. See also : http://www.cert.org/advisories/CA-1997-22.html Solution : Restrict recursive queries to the hosts that should use this nameserver (such as those of the LAN connected to it). If you are using bind 8, you can do this by using the instruction 'allow-recursion' in the 'options' section of your named.conf If you are using bind 9, you can define a grouping of internal addresses using the 'acl' command Then, within the options block, you can explicitly state: 'allow-recursion { hosts_defined_in_acl }' For more info on Bind 9 administration (to include recursion), see: http://www.nominum.com/content/documents/bind9arm.pdf If you are using another name server, consult its documentation. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N) CVE : CVE-1999-0024 BID : 136, 678 Nessus ID : 10539 Port general/udp Traceroute For your information, here is the traceroute from 146.83.216.138 to 146.83.216.152 : 146.83.216.138 146.83.216.152 Nessus ID : 10287 Port pop3 (110/tcp) Service detection A POP3 server is running on this port. Nessus ID : 22964 POP Server Detection 213 Synopsis : A POP server is listening on the remote port Description : The remote host is running a POP server. Solution : Disable this service if you do not use it. Risk factor : None Plugin output : Remote POP server banner : +OK Hello there. Nessus ID : 10185 Port imaps (993/tcp) Service detection A TLSv1 server answered on this port. Nessus ID : 22964 Service detection An IMAP server is running on this port through TLSv1. Nessus ID : 22964 Deprecated SSL Protocol Usage Synopsis : The remote service encrypts traffic using a protocol with known weaknesses. Description : The remote service accepts connections encrypted using SSL 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years. An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients. See also : http://www.schneier.com/paper-ssl.pdf Solution : Consult the application's documentation to disable SSL 2.0 and use SSL 3.0 or TLS 1.0 instead. Risk factor : Medium / CVSS Base Score : 5.0 214 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Nessus ID : 20007 Get the IMAP Banner Synopsis : An IMAP server is running on the remote host. Description : An IMAP (Internet Message Access Protocol) server is installed and running on the remote host. Risk factor : None Plugin output : The remote imap server banner is : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. GET NO Error in IMAP command received by server. * NO Error in IMAP command received by server. Nessus ID : 11414 Supported SSL Ciphers Suites Synopsis : The remote service encrypts communications using SSL. Description : This script detects which SSL ciphers are supported by the remote service for encrypting communications. See also : http://www.openssl.org/docs/apps/ciphers.html Risk factor : None Plugin output : Here is the list of SSL ciphers supported by the remote server : Medium Strength Ciphers (>= 56-bit and < 112-bit key) SSLv2 DES-CBC-MD5 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5 High Strength Ciphers (>= 112-bit key) SSLv2 DES-CBC3-MD5 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5 The fields above are : {OpenSSL ciphername} 215 Kx={key exchange} Au={authentication} Enc={symmetric encryption method} Mac={message authentication code} {export flag} Nessus ID : 21643 Port general/icmp icmp timestamp request Synopsis : It is possible to determine the exact time set on the remote host. Description : The remote host answers to an ICMP timestamp request. This allows an attacker to know the date which is set on your machine. This may help him to defeat all your time based authentication protocols. Solution : Filter out the ICMP timestamp requests (13), and the outgoing ICMP timestamp replies (14). Risk factor : None Plugin output : The difference between the local and remote clocks is 14658 seconds CVE : CVE-1999-0524 Nessus ID : 10114 Port pop3s (995/tcp) Service detection A TLSv1 server answered on this port. Nessus ID : 22964 Service detection A POP3 server is running on this port through TLSv1. Nessus ID : 22964 POP Server Detection Synopsis : A POP server is listening on the remote port 216 Description : The remote host is running a POP server. Solution: Disable this service if you do not use it. Risk factor: None Plugin output : Remote POP server banner : +OK Hello there. Nessus ID : 10185 Deprecated SSL Protocol Usage Synopsis : The remote service encrypts traffic using a protocol with known weaknesses. Description : The remote service accepts connections encrypted using SSL 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years. An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients. See also : http://www.schneier.com/paper-ssl.pdf Solution : Consult the application's documentation to disable SSL 2.0 and use SSL 3.0 or TLS 1.0 instead. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Nessus ID : 20007 Supported SSL Ciphers Suites Synopsis : The remote service encrypts communications using SSL. Description : This script detects which SSL ciphers are supported by the remote service for encrypting communications. See also : 217 http://www.openssl.org/docs/apps/ciphers.html Risk factor : None Plugin output : Here is the list of SSL ciphers supported by the remote server : Low Strength Ciphers (< 56-bit key) SSLv2 EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export SSLv3 EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export Medium Strength Ciphers (>= 56-bit and < 112-bit key) SSLv2 DES-CBC-MD5 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5 SSLv3 DES-CBC-SHA Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1 High Strength Ciphers (>= 112-bit key) SSLv2 RC4-MD5 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5 SSLv3 DES-CBC3-SHA Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1 TLSv1 AES128-SHA Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 n/a Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1 RC4-MD5 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5 The fields above are : {OpenSSL ciphername} Kx={key exchange} Au={authentication} Enc={symmetric encryption method} Mac={message authentication code} {export flag} Nessus ID : 21643 Weak Supported SSL Ciphers Suites Synopsis : The remote service supports the use of weak SSL ciphers. Description : The remote host supports the use of SSL ciphers that offer either weak encryption or no encryption at all. See also : 218 http://www.openssl.org/docs/apps/ciphers.html Solution : Reconfigure the affected application if possible to avoid use of weak ciphers. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Plugin output : Here is the list of weak SSL ciphers supported by the remote server : Low Strength Ciphers (< 56-bit key) SSLv2 EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export SSLv3 EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export The fields above are : {OpenSSL ciphername} Kx={key exchange} Au={authentication} Enc={symmetric encryption method} Mac={message authentication code} {export flag} Nessus ID : 26928 Port imap (143/tcp) Service detection An IMAP server is running on this port. Nessus ID : 22964 Get the IMAP Banner Synopsis : An IMAP server is running on the remote host. Description : An IMAP (Internet Message Access Protocol) server is installed and running on the remote host. Risk factor : None Plugin output : The remote imap server banner is : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See 219 COPYING for distribution information. Nessus ID : 11414 Port sunproxyadmin (8081/tcp) Service detection A web server is running on this port. Nessus ID : 22964 WebDAV enabled Synopsis : The remote server is running with WebDAV enabled. Description : WebDAV is an industry standard extension to the HTTP specification. It adds a capability for authorized users to remotely add and manage the content of a web server. If you do not use this extension, you should disable it. Solution : http://support.microsoft.com/default.aspx?kbid=241520 Risk factor : None Nessus ID : 11424 HTTP Server type and version Synopsis : A web server is running on the remote host. Description : This plugin attempts to determine the type and the version of the remote web server. Risk factor : None Plugin output : The remote web server type is : Oracle XML DB/Oracle Database Nessus ID : 10107 HyperText Transfer Protocol Information Synopsis : 220 Some information about the remote HTTP configuration can be extracted. Description : This test gives some information about the remote HTTP protocol - the version used, whether HTTP Keep-Alive and HTTP pipelining are enabled, etc... This test is informational only and does not denote any security problem Solution : None. Risk factor : None Plugin output : Protocol version : HTTP/1.1 SSL : no Pipelining : yes Keep-Alive : no Options allowed : (Not implemented) Headers : MS-Author-Via: DAV DAV: 1,2,<http://www.oracle.com/xdb/webdav/props> Server: Oracle XML DB/Oracle Database ETag: "0BB78DEA49BF58A0E040578C8A091AFB786A0201092507801B0726" Date: Thu, 29 Jan 2009 15:07:10 GMT Content-Length: 12423 Content-Language: en-US Content-Type: text/html; charset=UTF-8 Nessus ID : 24260 Port ncube-lm (1521/tcp) Oracle detection Synopsis : A database is listening on the remote host. Description : The remote host is running Oracle, a database server. It is possible to extract the version number of the remote installation by sending a 'VERSION' request to the remote TNS listener. Solution : Restrict access to the database to allowed IPs only. Risk factor : None / CVSS Base Score : 0 221 (AV:R/AC:L/Au:NR/C:N/A:N/I:N/B:N) Plugin output : The remote Oracle TNS listener replies with the following version: TNSLSNR for Linux: Version 10.2.0.1.0 - Production TNS for Linux: Version 10.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production Unix Domain Socket IPC NT Protocol Adaptor for Linux: Version 10.2.0.1.0 - Production TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production,, Nessus ID : 22073 Oracle Default SID Synopsis : It is possible to obtain some SIDS of the remote database. Description : The remote host is an Oracle Database server. Older versions of this server used to come bundled with the 'services' command. This command allows to list available SID on the database. In addition this script tries to guest the SID name of the remote database by using default or common SID names. An attacker may use these SIDs to get access to the remote database. Solution : Change the SID names. Risk factor : None / CVSS Base Score : 0 (AV:R/AC:L/Au:NR/C:N/A:N/I:N/B:N) Plugin output : The following default sids have been found: PLSExtProc Nessus ID : 22074 Oracle tnslsnr version query Synopsis : An Oracle tnslsnr service is listening on the remote port. Description : The remote host is running the Oracle tnslsnr service, a network interface to Oracle databases. This product allows a remote user to determine the presence and version number of a given Oracle installation. Solution : Filter incoming traffic to this port so that only authorized hosts can 222 connect to it. Risk factor : None Plugin output : A "version" request returns the following : TNSLSNR for Linux: Version 10.2.0.1.0 - Production TNS for Linux: Version 10.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production Unix Domain Socket IPC NT Protocol Adaptor for Linux: Version 10.2.0.1.0 - Production TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production,, Nessus ID : 10658 Port domain (53/tcp) DNS Server Detection A DNS server is running on this port. If you do not use it, disable it. Risk factor : Low Nessus ID : 11002 Version of BIND Synopsis : It is possible to obtain the version number of the remote DNS server. Description : The remote host is running BIND, an open-source DNS server. It is possible to extract the version number of the remote installation by sending a special DNS request for the text 'version.bind' in the domain 'chaos'. Solution : It is possible to hide the version number of bind by using the 'version' directive in the 'options' section in named.conf Risk factor : None Plugin output : The version of the remote BIND server is : 9.4.1-P1 Other references : OSVDB:23 Nessus ID : 10028 DNS AXFR The remote name server allows DNS zone transfers to be performed. A zone transfer will allow the remote attacker to instantly populate a list of potential targets. In addition, companies often use a naming convention which can give hints as to a servers primary application (for instance, proxy.company.com, payroll.company.com, b2b.company.com, etc.). 223 As such, this information is of great use to an attacker who may use it to gain information about the topology of your network and spot new targets. Solution: Restrict DNS zone transfers to only the servers that absolutely need it. Risk factor : Medium CVE : CVE-1999-0532 Other references : OSVDB:492 Nessus ID : 10595 Port ssh (22/tcp) Service detection An SSH server is running on this port. Nessus ID : 22964 SSH Server type and version Synopsis : An SSH server is listening on this port. Description : It is possible to obtain information about the remote SSH server by sending an empty authentication request. Risk factor : None Plugin output : SSH version : SSH-2.0-OpenSSH_4.7 SSH supported authentication : publickey,keyboard-interactive Nessus ID : 10267 SSH protocol versions supported Synopsis : An SSH server is running on the remote host. Description : This plugin determines the versions of the SSH protocol supported by the remote SSH daemon. Risk factor : None Plugin output : The remote SSH daemon supports the following versions of the 224 SSH protocol : . 1.99 . 2.0 SSHv2 host key fingerprint : ab:b5:ec:09:df:b3:1b:5a:3e:00:74:d3:cc:08:d9:98 Nessus ID : 10881 Port general/tcp Ping the remote host The remote host is up Nessus ID : 10180 TCP timestamps Synopsis : The remote service implements TCP timestamps. Description : The remote host implements TCP timestamps, as defined by RFC1323. A side effect of this feature is that the uptime of the remote host can sometimes be computed. See also : http://www.ietf.org/rfc/rfc1323.txt Risk factor : None Nessus ID : 25220 Host FQDN 146.83.216.152 resolves as lab1.inf.uach.cl. Nessus ID : 12053 OS Identification Remote operating system : Linux Kernel 2.6 Confidence Level : 70 Method : SinFP The remote host is running Linux Kernel 2.6 Nessus ID : 11936 Information about the scan Information about this scan : Nessus version : 3.2.1.1 Plugin feed version : $Date: 2005/11/08 13:18:41 $ Type of plugin feed : CVS Scanner IP : 146.83.216.138 Port scanner(s) : synscan 225 Port range : default Thorough tests : no Experimental tests : no Paranoia level : 1 Report Verbosity : 1 Safe checks : yes Optimize the test : yes Max hosts : 20 Max checks : 5 Recv timeout : 5 Scan Start Date : 2009/1/29 16:06 Scan duration : 903 sec Nessus ID : 19506 Check open ports The following ports were open at the beginning of the scan but are now closed: Port 25 was detected as being open but is now closed This might be an availability problem related which might be due to the following reasons : - The remote host is now down, either because a user turned it off during the scan - A network outage has been experienced during the scan, and the remote network cannot be reached from the Vulnerability Scanner any more - This Vulnerability Scanner has been blacklisted by the system administrator or by automatic intrusion detection/prevention systems which have detected the vulnerability assessment. In any case, the audit of the remote host might be incomplete and may need to be done again Nessus ID : 10919 Port ftp (21/tcp) Service detection An FTP server is running on this port. Nessus ID : 22964 FTP Server Detection Synopsis : An FTP server is listening on this port Description : It is possible to obtain the banner of the remote FTP server by connecting to the remote port. Risk factor : None Plugin output : 226 The remote FTP banner is : 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------220-You are user number 1 of 30 allowed. 220-Local time is now 12:02. Server port: 21. 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Nessus ID : 10092 FTP Server Detection Synopsis : An FTP server is listening on this port Description : It is possible to obtain the banner of the remote FTP server by connecting to the remote port. Risk factor : None Plugin output : The remote FTP banner is : 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------220-You are user number 1 of 30 allowed. 220-Local time is now 12:03. Server port: 21. 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Nessus ID : 10092 Anonymous FTP enabled Synopsis : Anonymous logins are allowed on the remote FTP server. Description : This FTP service allows anonymous logins. If you do not want to share data with anyone you do not know, then you should deactivate the anonymous account, since it can only cause troubles. Risk factor : Low / CVSS Base Score : 2 (AV:R/AC:L/Au:NR/C:P/A:N/I:N/B:N) Plugin output : The content of the remote FTP root is : -rw-r--r-- 1 0 0 5 Apr 1 2008 hola.txt CVE : CVE-1999-0497 Nessus ID : 10079 Port http (80/tcp) 227 Service detection A web server is running on this port. Nessus ID : 22964 Web mirroring The following CGI have been discovered : Syntax : cginame (arguments [default value]) /index_archivos/ (C=S;O [A] C=D;O [A] C=N;O [D] C=M;O [A] ) Directory index found at /index_archivos/ The following CGI have been discovered : Syntax : cginame (arguments [default value]) /index_archivos/ (C=S;O [A] C=D;O [A] C=N;O [D] C=M;O [A] ) Directory index found at /index_archivos/ Nessus ID : 10662 HTTP Server type and version Synopsis : A web server is running on the remote host. Description : This plugin attempts to determine the type and the version of the remote web server. Risk factor : None Plugin output : The remote web server type is : Apache and the 'ServerTokens' directive is ProductOnly Apache does not permit to hide the server type. Nessus ID : 10107 HTTP TRACE / TRACK Methods Synopsis : Debugging functions are enabled on the remote web server. Description : The remote webserver supports the TRACE and/or TRACK methods. TRACE and TRACK are HTTP methods which are used to debug web server 228 connections. In addition, it has been shown that servers supporting the TRACE method are subject to cross-site scripting attacks, dubbed XST for "Cross-Site Tracing", when used in conjunction with various weaknesses in browsers. An attacker may use this flaw to trick your legitimate web users to give him their credentials. See also : http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf http://www.apacheweek.com/issues/03-01-24 http://www.kb.cert.org/vuls/id/867593 Solution : Disable these methods. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Solution : Add the following lines for each virtual host in your configuration file : RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] Alternatively, note that Apache versions 1.3.34, 2.0.55, and 2.2 support disabling the TRACE method natively via the 'TraceEnable' directive. Plugin output : The server response from a TRACE request is : TRACE /Nessus24555.html HTTP/1.1 Connection: Close Host: lab1.inf.uach.cl Pragma: no-cache User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 CVE : CVE-2004-2320 BID : 9506, 9561, 11604 Other references : OSVDB:877, OSVDB:3726 Nessus ID : 11213 Port smtp (25/tcp) Service detection An SMTP server is running on this port. 229 Nessus ID : 22964 SMTP Server Detection Synopsis : An SMTP server is listening on the remote port. Description : The remote host is running a mail (SMTP) server on this port. Since SMTP servers are the targets of spammers, it is recommended you disable it if you do not use it. Solution : Disable this service if you do not use it, or filter incoming traffic to this port. Risk factor : None Plugin output : Remote SMTP server banner : 220 ns.lab1.inf.uach.cl ESMTP Postfix Nessus ID : 10263 Mail relaying The remote SMTP server seems to allow the relaying. This means that it allows spammers to use your mail server to send their mails to the world, thus wasting your network bandwidth. Risk factor : Low / Medium Solution : configure your SMTP server so that it can't be used as a relay any more. CVE : CVE-1999-0512, CVE-2002-1278, CVE-2003-0285 BID : 6118, 7580, 8196 Other references : OSVDB:6066, OSVDB:7993 Nessus ID : 10262 Port ndl-aas (3128/tcp) Service detection A web server is running on this port. Nessus ID : 22964 Service detection An HTTP proxy is running on this port. 230 Nessus ID : 22964 HTTP TRACE The GET method revealed those proxies on the way to this web server : HTTP/1.0 ns.lab1.inf.uach.cl:3128 (squid/2.6.STABLE17) Nessus ID : 11040 Open Web Proxy Server Synopsis : The remote web proxy server accepts requests. Description : The remote web proxy accepts unauthenticated HTTP requests from the Nessus scanner. By routing requests through the affected proxy, a user may be able to gain some degree of anonymity while browsing web sites, which will see requests as originating from the remote host itself rather than the user's host. Solution: Make sure access to the proxy is limited to valid users / hosts. Risk factor : None Nessus ID : 10195 Proxy accepts gopher:// requests The proxy accepts gopher:// requests. Gopher is an old network protocol which predates HTTP and is nearly unused today. As a result, gopher-compatible software is generally less audited and more likely to contain security bugs than others. By making gopher requests, an attacker may evade your firewall settings, by making connections to port 70, or may even exploit arcane flaws in this protocol to gain more privileges on this host (see the attached CVE id for such an example). Solution : reconfigure your proxy so that it refuses gopher requests. Risk factor : Medium CVE : CVE-2002-0371 BID : 4930 Other references : OSVDB:3004 Nessus ID : 11305 Usable remote proxy on any port Synopsis : 231 The remote proxy can be used to connect to arbitrary ports Description : The remote proxy, allows everyone to perform requests against arbitrary ports, such as : 'GET http://cvs.nessus.org:110'. This problem may allow attackers to go through your firewall, by connecting to sensitive ports like 25 (sendmail) using the proxy. In addition to that, it might be used to perform attacks against other networks. Solution: Set up ACLs in place to prevent your proxy from accepting to connect to non-authorized ports. Risk factor : High Nessus ID : 10193 HTTP Server type and version Synopsis : A web server is running on the remote host. Description : This plugin attempts to determine the type and the version of the remote web server. Risk factor : None Plugin output : The remote web server type is : Apache and the 'ServerTokens' directive is ProductOnly Apache does not permit to hide the server type. Nessus ID : 10107 HyperText Transfer Protocol Information Synopsis : Some information about the remote HTTP configuration can be extracted. Description : This test gives some information about the remote HTTP protocol - the version used, whether HTTP Keep-Alive and HTTP pipelining are enabled, etc... 232 This test is informational only and does not denote any security problem Solution : None. Risk factor : None Plugin output : Protocol version : HTTP/1.0 SSL : no Pipelining : no Keep-Alive : no Options allowed : (Not implemented) Headers : Date: Thu, 29 Jan 2009 15:06:20 GMT Server: Apache Last-Modified: Fri, 04 Apr 2008 23:07:52 GMT ETag: "b5b5-47d5-44a143000c200" Accept-Ranges: bytes Content-Length: 18389 Content-Type: text/html Age: 51 X-Cache: HIT from ns.lab1.inf.uach.cl X-Cache-Lookup: HIT from ns.lab1.inf.uach.cl:3128 Via: 1.0 ns.lab1.inf.uach.cl:3128 (squid/2.6.STABLE17) Connection: keep-alive Nessus ID : 24260 Port rsync (873/tcp) Service detection An rsync server is running on this port. Nessus ID : 22964 Port https (443/tcp) Service detection A TLSv1 server answered on this port. Nessus ID : 22964 Service detection A web server is running on this port through TLSv1. Nessus ID : 22964 233 SSL Certificate Expiry The SSL certificate of the remote service will expire within 60 days, at Mar 28 13:32:43 2009 GMT. Nessus ID : 15901 Deprecated SSL Protocol Usage Synopsis : The remote service encrypts traffic using a protocol with known weaknesses. Description : The remote service accepts connections encrypted using SSL 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years. An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients. See also : http://www.schneier.com/paper-ssl.pdf Solution : Consult the application's documentation to disable SSL 2.0 and use SSL 3.0 or TLS 1.0 instead. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Nessus ID : 20007 Supported SSL Ciphers Suites Synopsis : The remote service encrypts communications using SSL. Description : This script detects which SSL ciphers are supported by the remote service for encrypting communications. See also : http://www.openssl.org/docs/apps/ciphers.html Risk factor : None Plugin output : Here is the list of SSL ciphers supported by the remote server : Low Strength Ciphers (< 56-bit key) SSLv2 EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export 234 EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export SSLv3 EXP-EDH-RSA-DES-CBC-SHA Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export TLSv1 EXP-EDH-RSA-DES-CBC-SHA Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export Medium Strength Ciphers (>= 56-bit and < 112-bit key) SSLv2 DES-CBC-MD5 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5 SSLv3 EDH-RSA-DES-CBC-SHA Kx=DH Au=RSA Enc=DES(56) Mac=SHA1 DES-CBC-SHA Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1 TLSv1 EDH-RSA-DES-CBC-SHA Kx=DH Au=RSA Enc=DES(56) Mac=SHA1 DES-CBC-SHA Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1 High Strength Ciphers (>= 112-bit key) SSLv2 DES-CBC3-MD5 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5 IDEA-CBC-MD5 Kx=RSA Au=RSA Enc=IDEA(128) Mac=MD5 RC2-CBC-MD5 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5 RC4-MD5 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5 SSLv3 EDH-RSA-DES-CBC3-SHA Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1 DES-CBC3-SHA Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1 IDEA-CBC-SHA Kx=RSA Au=RSA Enc=IDEA(128) Mac=SHA1 RC4-MD5 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5 RC4-SHA Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 TLSv1 EDH-RSA-DES-CBC3-SHA Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1 DHE-RSA-AES128-SHA Kx=DH Au=RSA Enc=AES(128) Mac=SHA1 DHE-RSA-AES256-SHA Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 n/a Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1 n/a Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1 DES-CBC3-SHA Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1 AES128-SHA Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 AES256-SHA Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1 n/a Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1 n/a Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1 RC4-SHA Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 The fields above are : {OpenSSL ciphername} Kx={key exchange} Au={authentication} 235 Enc={symmetric encryption method} Mac={message authentication code} {export flag} Nessus ID : 21643 HTTP Server type and version Synopsis : A web server is running on the remote host. Description : This plugin attempts to determine the type and the version of the remote web server. Risk factor : None Plugin output : The remote web server type is : Apache and the 'ServerTokens' directive is ProductOnly Apache does not permit to hide the server type. Nessus ID : 10107 HTTP TRACE / TRACK Methods Synopsis : Debugging functions are enabled on the remote web server. Description : The remote webserver supports the TRACE and/or TRACK methods. TRACE and TRACK are HTTP methods which are used to debug web server connections. In addition, it has been shown that servers supporting the TRACE method are subject to cross-site scripting attacks, dubbed XST for "Cross-Site Tracing", when used in conjunction with various weaknesses in browsers. An attacker may use this flaw to trick your legitimate web users to give him their credentials. See also : http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf http://www.apacheweek.com/issues/03-01-24 http://www.kb.cert.org/vuls/id/867593 Solution : Disable these methods. Risk factor : Medium / CVSS Base Score : 5.0 236 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Solution : Add the following lines for each virtual host in your configuration file : RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] Alternatively, note that Apache versions 1.3.34, 2.0.55, and 2.2 support disabling the TRACE method natively via the 'TraceEnable' directive. Plugin output : The server response from a TRACE request is : TRACE /Nessus7815.html HTTP/1.1 Connection: Close Host: lab1.inf.uach.cl Pragma: no-cache User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 CVE : CVE-2004-2320 BID : 9506, 9561, 11604 Other references : OSVDB:877, OSVDB:3726 Nessus ID : 11213 Weak Supported SSL Ciphers Suites Synopsis : The remote service supports the use of weak SSL ciphers. Description : The remote host supports the use of SSL ciphers that offer either weak encryption or no encryption at all. See also : http://www.openssl.org/docs/apps/ciphers.html Solution : Reconfigure the affected application if possible to avoid use of weak ciphers. Risk factor : Medium / CVSS Base Score : 5.0 (CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N) Plugin output : Here is the list of weak SSL ciphers supported by the remote server : 237 Low Strength Ciphers (< 56-bit key) SSLv2 EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export SSLv3 EXP-EDH-RSA-DES-CBC-SHA Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export TLSv1 EXP-EDH-RSA-DES-CBC-SHA Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export EXP-RC2-CBC-MD5 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export The fields above are : {OpenSSL ciphername} Kx={key exchange} Au={authentication} Enc={symmetric encryption method} Mac={message authentication code} {export flag} Nessus ID : 26928 238 146.83.216.153 Scan time : Start time : Thu Jan 29 16:06:20 2009 End time : Thu Jan 29 16:15:37 2009 Number of vulnerabilities : Open ports : 13 Low : 31 Medium : 1 High : 0 Information about the remote host : Operating system : Microsoft Windows Server 2003 Service Pack 2 NetBIOS name : XP2 DNS name : XP2. Port netbios-ns (137/udp) Using NetBIOS to retrieve information from a Windows host Synopsis : It is possible to obtain the network name of the remote host. Description : The remote host listens on udp port 137 and replies to NetBIOS nbtscan requests. By sending a wildcard request it is possible to obtain the name of the remote system and the name of its domain. Risk factor : None Plugin output : The following 6 NetBIOS names have been gathered : XP2 = Computer name LAB1_SERVERS = Workgroup / Domain name XP2 = File Server Service LAB1_SERVERS = Browser Service Elections LAB1_SERVERS = Master Browser 239 __MSBROWSE__ = Master Browser The remote host has the following MAC address on its adapter : 00:02:a5:66:7d:60 CVE : CVE-1999-0621 Other references : OSVDB:13577 Nessus ID : 10150 Port exosee (1027/tcp) DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None Plugin output : The following DCERPC services are available on TCP port 1027 : Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 82ad4280-036b-11cf-972c-00aa006887b0, version 2.0 Description : Internet Information Service (IISAdmin) Windows process : inetinfo.exe Type : Remote RPC service TCP Port : 1027 IP : 146.83.216.153 Nessus ID : 10736 Port ms-wbt-server (3389/tcp) Windows Terminal Services Enabled Synopsis : The remote Windows host has Terminal Services enabled. Description : Terminal Services allows a Windows user to remotely obtain a graphical login (and therefore act as a local user on the remote host). If an attacker gains a valid login and password, he may be able to use this service to gain further access on the remote host. An attacker may also use this service to mount a dictionary attack against the 240 remote host to try to log in remotely. Note that RDP (the Remote Desktop Protocol) is vulnerable to Man-in-the-middle attacks, making it easy for attackers to steal the credentials of legitimate users by impersonating the Windows server. Solution : Disable Terminal Services if you do not use it, and do not allow this service to run across the Internet. Risk factor : None Nessus ID : 10940 Terminal Services Encryption Level is not FIPS-140 compliant Synopsis : The remote host is not FIPS-140 compliant. Description : The remote host is running Terminal Services Server. The encryption settings used by the remote service is not FIPS-140 compliant. Solution : Change RDP encryption level to : 4. FIPS Compliant Risk factor : Low / CVSS Base Score : 2.6 (CVSS2#AV:N/AC:H/Au:N/C:P/I:N/A:N) Plugin output : The terminal services encryption level is set to: 2. Medium (Client Compatbile) Nessus ID : 30218 Microsoft Windows Remote Desktop Protocol Server Private Key Disclosure Vulnerability Synopsis : It may be possible to get access to the remote host. Description : The remote version of Remote Desktop Protocol Server (Terminal Service) is vulnerable to a man in the middle attack. An attacker may exploit this flaw to decrypt communications between client and server and obtain sensitive information (passwords, ...). Solution : Force the use of SSL as a transport layer for this service. See also : 241 http://www.oxid.it/downloads/rdp-gbu.pdf http://www.nessus.org/u?c544b1fa Risk factor : Medium / CVSS Base Score : 6 (AV:R/AC:H/Au:NR/C:P/A:P/I:P/B:N) CVE : CVE-2005-1794 BID : 13818 Other references : OSVDB:17131 Nessus ID : 18405 Port ftp (21/tcp) Service detection An FTP server is running on this port. Nessus ID : 22964 FTP Server Detection Synopsis : An FTP server is listening on this port Description : It is possible to obtain the banner of the remote FTP server by connecting to the remote port. Risk factor : None Plugin output : The remote FTP banner is : 220 Microsoft FTP Service Nessus ID : 10092 Anonymous FTP enabled Synopsis : Anonymous logins are allowed on the remote FTP server. Description : This FTP service allows anonymous logins. If you do not want to share data with anyone you do not know, then you should deactivate the anonymous account, since it can only cause troubles. Risk factor : Low / CVSS Base Score : 2 (AV:R/AC:L/Au:NR/C:P/A:N/I:N/B:N) Plugin output : The content of the remote FTP root is : 242 01-24-08 03:23PM 0 a.txt CVE : CVE-1999-0497 Nessus ID : 10079 Port general/udp Traceroute For your information, here is the traceroute from 146.83.216.138 to 146.83.216.153 : 146.83.216.138 146.83.216.153 Nessus ID : 10287 Port general/tcp Ping the remote host The remote host is up Nessus ID : 10180 Host FQDN 146.83.216.153 resolves as XP2. Nessus ID : 12053 OS Identification Remote operating system : Microsoft Windows Server 2003 Service Pack 2 Confidence Level : 99 Method : MSRPC The remote host is running Microsoft Windows Server 2003 Service Pack 2 Nessus ID : 11936 Information about the scan Information about this scan : Nessus version : 3.2.1.1 Plugin feed version : $Date: 2005/11/08 13:18:41 $ Type of plugin feed : CVS Scanner IP : 146.83.216.138 Port scanner(s) : synscan Port range : default Thorough tests : no Experimental tests : no Paranoia level : 1 Report Verbosity : 1 Safe checks : yes Optimize the test : yes Max hosts : 20 Max checks : 5 Recv timeout : 5 243 Scan Start Date : 2009/1/29 16:06 Scan duration : 554 sec Nessus ID : 19506 Port microsoft-ds (445/tcp) SMB Detection A CIFS server is running on this port Nessus ID : 11011 SMB NativeLanMan Synopsis : It is possible to obtain information about the remote operating system. Description : It is possible to get the remote operating system name and version (Windows and/or Samba) by sending an authentication request to port 139 or 445. Risk factor : None Plugin output : The remote Operating System is : Windows Server 2003 3790 Service Pack 2 The remote native lan manager is : Windows Server 2003 5.2 The remote SMB Domain Name is : XP2 Nessus ID : 10785 DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None Plugin output : The following DCERPC services are available remotely : Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53, version 1.0 244 Description : Scheduler Service Windows process : svchost.exe Type : Remote RPC service Named pipe : \PIPE\atsvc Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 378e52b0-c0a9-11cf-822d-00aa0051e40f, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Remote RPC service Named pipe : \PIPE\atsvc Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 1ff70682-0a51-30e8-076d-740be8cee98b, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Remote RPC service Named pipe : \PIPE\atsvc Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 3473dd4d-2e88-4006-9cba-22570909dd10, version 5.0 Description : Unknown RPC service Annotation : WinHttp Auto-Proxy Service Type : Remote RPC service Named pipe : \PIPE\W32TIME_ALT Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 82ad4280-036b-11cf-972c-00aa006887b0, version 2.0 Description : Internet Information Service (IISAdmin) Windows process : inetinfo.exe Type : Remote RPC service Named pipe : \PIPE\INETINFO Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) Windows process : lsass.exe Annotation : IPSec Policy agent endpoint Type : Remote RPC service Named pipe : \PIPE\lsass Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) 245 Windows process : lsass.exe Annotation : IPSec Policy agent endpoint Type : Remote RPC service Named pipe : \PIPE\protected_storage Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Remote RPC service Named pipe : \PIPE\lsass Netbios name : \\XP2 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Remote RPC service Named pipe : \PIPE\protected_storage Netbios name : \\XP2 Nessus ID : 10736 SMB log in Synopsis : It is possible to log into the remote host. Description : The remote host is running one of the Microsoft Windows operating systems. It was possible to log into it using one of the following account : - NULL session - Guest account - Given Credentials See also : http://support.microsoft.com/support/kb/articles/Q143/4/74.ASP http://support.microsoft.com/support/kb/articles/Q246/2/61.ASP Risk factor : none Plugin output : - NULL sessions are enabled on the remote host CVE : CVE-1999-0504, CVE-1999-0505, CVE-1999-0506, CVE-2000-0222, CVE-2002-1117, CVE-2005-3595 BID : 494, 990, 11199 Nessus ID : 10394 SMB LanMan Pipe Server browse listing Synopsis : 246 It is possible to obtain network information. Description : It was possible to obtain the browse list of the remote Windows system by send a request to the LANMAN pipe. The browse list is the list of the nearest Windows systems of the remote host. Risk factor : None Plugin output : Here is the browse list of the remote host : XP2 ( os: 5.2 ) Other references : OSVDB:300 Nessus ID : 10397 SMB registry can not be accessed by the scanner Synopsis : Nessus is not able to access the remote Windows Registry. Description : It was not possible to connect to PIPE\winreg on the remote host. If you intend to use Nessus to perform registry-based checks, the registry checks will not work because the 'Remote Registry Access' service (winreg) has been disabled on the remote host or can not be connected to with the supplied credentials. Risk factor : None Nessus ID : 26917 SMB NULL session Synopsis : It is possible to log into the remote host. Description : The remote host is running one of the Microsoft Windows operating systems. It was possible to log into it using a NULL session. A NULL session (no login/password) allows to get information about the remote host. See also : http://support.microsoft.com/support/kb/articles/Q143/4/74.ASP http://support.microsoft.com/support/kb/articles/Q246/2/61.ASP Risk factor : 247 None CVE : CVE-2002-1117 BID : 494 Nessus ID : 26920 Port epmap (135/tcp) DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None Plugin output : The following DCERPC services are available locally : Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 3c4728c5-f0ab-448b-bda1-6ce01eb0a6d5, version 1.0 Description : DHCP Client Service Windows process : svchost.exe Annotation : DHCP Client LRPC Endpoint Type : Local RPC service Named pipe : dhcpcsvc Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Local RPC service Named pipe : OLE83755FE25A0F43F787B2C273CBD5 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Local RPC service Named pipe : wzcsvc Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 378e52b0-c0a9-11cf-822d-00aa0051e40f, version 1.0 Description : Scheduler Service Windows process : svchost.exe 248 Type : Local RPC service Named pipe : OLE83755FE25A0F43F787B2C273CBD5 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 378e52b0-c0a9-11cf-822d-00aa0051e40f, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Local RPC service Named pipe : wzcsvc Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 1ff70682-0a51-30e8-076d-740be8cee98b, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Local RPC service Named pipe : OLE83755FE25A0F43F787B2C273CBD5 Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 1ff70682-0a51-30e8-076d-740be8cee98b, version 1.0 Description : Scheduler Service Windows process : svchost.exe Type : Local RPC service Named pipe : wzcsvc Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 3473dd4d-2e88-4006-9cba-22570909dd10, version 5.0 Description : Unknown RPC service Annotation : WinHttp Auto-Proxy Service Type : Local RPC service Named pipe : W32TIME_ALT Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 82ad4280-036b-11cf-972c-00aa006887b0, version 2.0 Description : Internet Information Service (IISAdmin) Windows process : inetinfo.exe Type : Local RPC service Named pipe : OLE795B458447C14A92B891C4E5366F Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 82ad4280-036b-11cf-972c-00aa006887b0, version 2.0 Description : Internet Information Service (IISAdmin) Windows process : inetinfo.exe Type : Local RPC service Named pipe : INETINFO_LPC Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) Windows process : lsass.exe Annotation : IPSec Policy agent endpoint 249 Type : Local RPC service Named pipe : audit Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) Windows process : lsass.exe Annotation : IPSec Policy agent endpoint Type : Local RPC service Named pipe : securityevent Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) Windows process : lsass.exe Annotation : IPSec Policy agent endpoint Type : Local RPC service Named pipe : protected_storage Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345678-1234-abcd-ef00-0123456789ab, version 1.0 Description : IPsec Services (Windows XP & 2003) Windows process : lsass.exe Annotation : IPSec Policy agent endpoint Type : Local RPC service Named pipe : dsrole Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Local RPC service Named pipe : audit Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Local RPC service Named pipe : securityevent Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Local RPC service Named pipe : protected_storage Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 250 Description : Security Account Manager Windows process : lsass.exe Type : Local RPC service Named pipe : dsrole Object UUID : bec5a9b3-a80b-4da2-9aac-381889d5f3c4 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Local RPC service Named pipe : LRPC000003c4.00000001 Object UUID : 6bc317ba-0473-4b92-a8a3-9dfa115062f2 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Local RPC service Named pipe : LRPC000003c4.00000001 Object UUID : 9efbb630-00fc-499c-9f73-0383dec3c1b2 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Local RPC service Named pipe : LRPC000003c4.00000001 Object UUID : a789b01a-0f87-48d3-aca5-aa58826170ee UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Local RPC service Named pipe : LRPC000003c4.00000001 Nessus ID : 10736 Port unknown (1028/tcp) DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None 251 Plugin output : The following DCERPC services are available on TCP port 1028 : Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 50abc2a4-574d-40b3-9d66-ee4fd5fba076, version 5.0 Description : DNS Server Windows process : dns.exe Type : Remote RPC service TCP Port : 1028 IP : 146.83.216.153 Nessus ID : 10736 Port http (80/tcp) Service detection A web server is running on this port. Nessus ID : 22964 HTTP Server type and version Synopsis : A web server is running on the remote host. Description : This plugin attempts to determine the type and the version of the remote web server. Risk factor : None Plugin output : The remote web server type is : Microsoft-IIS/6.0 Nessus ID : 10107 HyperText Transfer Protocol Information Synopsis : Some information about the remote HTTP configuration can be extracted. Description : This test gives some information about the remote HTTP protocol - the version used, whether HTTP Keep-Alive and HTTP pipelining are enabled, etc... This test is informational only and does not denote any security problem Solution : 252 None. Risk factor : None Plugin output : Protocol version : HTTP/1.1 SSL : no Pipelining : yes Keep-Alive : no Options allowed : OPTIONS, TRACE, GET, HEAD, POST Headers : Content-Length: 18720 Content-Type: text/html Content-Location: http://XP2/index.html Last-Modified: Fri, 04 Apr 2008 22:07:52 GMT Accept-Ranges: bytes ETag: "0ac8153a096c81:9a2" Server: Microsoft-IIS/6.0 MicrosoftOfficeWebServer: 5.0_Pub X-Powered-By: ASP.NET Date: Thu, 29 Jan 2009 19:07:22 GMT Nessus ID : 24260 IIS Service Pack - 404 Synopsis : The remote web server is running Microsoft IIS. Description : The Patch level (Service Pack) of the remote IIS server appears to be lower than the current IIS service pack level. As each service pack typically contains many security patches, the server may be at risk. Note that this test makes assumptions of the remote patch level based on static return values (Content-Length) within a IIS Server's 404 error message. As such, the test can not be totally reliable and should be manually confirmed. Note also that, to determine IIS6 patch levels, a simple test is done based on strict RFC 2616 compliance. It appears as if IIS6-SP1 will accept CR as an end-of-line marker instead of both CR and LF. Solution: Ensure that the server is running the latest stable Service Pack. Risk factor : None 253 Plugin output : The remote IIS server *seems* to be Microsoft IIS 6.0 - SP1 Nessus ID : 11874 Port blackjack (1025/tcp) DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None Plugin output : The following DCERPC services are available on TCP port 1025 : Object UUID : bec5a9b3-a80b-4da2-9aac-381889d5f3c4 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Remote RPC service TCP Port : 1025 IP : 146.83.216.153 Object UUID : 6bc317ba-0473-4b92-a8a3-9dfa115062f2 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Remote RPC service TCP Port : 1025 IP : 146.83.216.153 Object UUID : 9efbb630-00fc-499c-9f73-0383dec3c1b2 UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator Windows process : msdtc.exe Type : Remote RPC service TCP Port : 1025 IP : 146.83.216.153 Object UUID : a789b01a-0f87-48d3-aca5-aa58826170ee UUID : 906b0ce0-c70b-1067-b317-00dd010662da, version 1.0 Description : Distributed Transaction Coordinator 254 Windows process : msdtc.exe Type : Remote RPC service TCP Port : 1025 IP : 146.83.216.153 Nessus ID : 10736 Port general/icmp icmp timestamp request Synopsis : It is possible to determine the exact time set on the remote host. Description : The remote host answers to an ICMP timestamp request. This allows an attacker to know the date which is set on your machine. This may help him to defeat all your time based authentication protocols. Solution : Filter out the ICMP timestamp requests (13), and the outgoing ICMP timestamp replies (14). Risk factor : None Plugin output : This host returns non-standard timestamps (high bit is set) The ICMP timestamps might be in little endian format (not in network format) The difference between the local and remote clocks is 185 seconds CVE : CVE-1999-0524 Nessus ID : 10114 Port netbios-ssn (139/tcp) SMB Detection An SMB server is running on this port Nessus ID : 11011 Port cap (1026/tcp) DCE Services Enumeration Synopsis : A DCE/RPC service is running on the remote host. Description : By sending a Lookup request to the portmapper (TCP 135 or epmapper PIPE) it was possible to enumerate the Distributed Computing Environment 255 (DCE) services running on the remote port. Using this information it is possible to connect and bind to each service by sending an RPC request to the remote port/pipe. Risk factor : None Plugin output : The following DCERPC services are available on TCP port 1026 : Object UUID : 00000000-0000-0000-0000-000000000000 UUID : 12345778-1234-abcd-ef00-0123456789ac, version 1.0 Description : Security Account Manager Windows process : lsass.exe Type : Remote RPC service TCP Port : 1026 IP : 146.83.216.153 Nessus ID : 10736 Port domain (53/tcp) DNS Server Detection A DNS server is running on this port. If you do not use it, disable it. Risk factor : Low Nessus ID : 11002 Port domain (53/udp) DNS Server Detection A DNS server is running on this port. If you do not use it, disable it. Risk factor : Low Nessus ID : 11002 256 C.4 Reporte SAINT Exxploit Januarry 29, 2009 1.0 Introduction On January 29, 20 009, at 4:27 7 PM, a hea avy+ vulnera ability assesssment was s conducted d using the ® 6.7.11 vulnerability scanner. s Th he scan disccovered a to otal of two live l hosts, and a detecte ed four SAINT® critical p f areas of o concern, and 14 potential problems. The hosts h and problems detected problems, four are disccussed in greater detail in the follo owing sections. 2.0 Summary The folllowing vulnerability sevverity levelss are used to t categorizze the vulne erabilities: CRITIC CAL PROBL LEMS Vulnera abilities which pose an immediate e threat to th he network by allowing g a remote attacker a to directly gain read or o write acccess, execu ute comman nds on the target, t or crreate a deniial of servicce. AREAS S OF CONC CERN Vulnera abilities which do not directly d allow w remote acccess, but do d allow priv vilege eleva ation attackks, attacks on other ta argets using g the vulnerrable host as a an interm mediary, or gathering g of passwords or e used to pla an an attacck. configuration information whicch could be NTIAL PRO OBLEMS POTEN Warnings which may m or may not be vulnerabilities, depending d atch level or o configuration of upon the pa get. Further investigatio on on the part of the syystem administrator may be nece essary. the targ SERVIC CES Networrk services which w accept client con nnections on o a given TCP T or UDP P port. This is simply a count work services, and doess not imply that the serrvice is or iss not vulnerrable. of netw The secctions below w summarizze the resullts of the sccan. 2.1 Vulnerabilitie es by Severity This se ection showss the overall number of o vulnerabillities and se ervices dete ected at eacch severity level. 2.2 Ho osts by Sev verity This se ection showss the overall number of o hosts dete ected at each severity level. The severity levvel of a host is defined as the highestt vulnerability severity level detectted on that host. 257 2.3 Vulnerabilitie es by Class s This se ection showss the number of vulnerrabilities de etected in ea ach of the fo ollowing cla asses. C Class Descripttion W Web Vulnerab bilities in web se ervers, CGI pro ograms, and an ny other software offering an HTTP H interface M Mail Vulnerab bilities in SMTP P, IMAP, POP, or o web-based mail m services F File Transfer Vulnerab bilities in FTP and TFTP servicces L Login/Shell Vulnerab bilities in ssh, te elnet, rlogin, rsh h, or rexec servvices P Print Services s Vulnerab bilities in lpd and other print da aemons R RPC Vulnerab bilities in Remotte Procedure Call C services D DNS Vulnerab bilities in Domain Name Servicces D Databases Vulnerab bilities in databa ase services N Networking/SN NMP Vulnerab bilities in routerss, switches, fire ewalls, or any SNMP S service W Windows OS Missing hotfixes h or vuln nerabilities in the registry or SM MB shares P Passwords Missing or o easily guesssed user passw words O Other Any vulnerability which does not fit into o one of the ab bove classes 258 3.0 Ov verview The following table es present an a overview w of the hossts discoverred on the network n and d the abilities conttained there ein. vulnera 3.1 Ho ost List This tab ble presentss an overvie ew of the hosts discovvered on the e network. Host Nam me Netbio os IP Ad ddress Name Ho ost Type lab1.inf.u uach.cl 146.8 83.216.152 Lin nux 2.4.19 - 2.4 4.30 146.83.216.153 XP2 146.8 83.216.153 Windows Server 2003 2 SP P2 Critic cal Areas A of Potential Probllems Concern C Problems 3 4 10 1 0 4 3.2 Vulnerability List This tab ble presentss an overvie ew of the vu ulnerabilitie es detected on the netw work. Host Nam me Severiity lab1.inf.u uach.cl critical Vulnerability / Service IBM Lotus Clas ss CVE Web b CVE-2 2008-2499 Sametime Server 259 Exp ploit Ava ailable? yes Multiplexer Stack Buffer Overflow vulnerable rsyncd lab1.inf.uach.cl critical version (protocol = Other 29) CVE-2006-2083 CVE-2007-4091 CVE-2007-6199 CVE2007-6200 CVE-2008-1720 no Squid lab1.inf.uach.cl critical 2.6.STABLE17 is Web CVE-2008-1612 no vulnerable lab1.inf.uach.cl concern Web server allows cross-site tracing Web no Web no Login/Shell CVE-2008-1483 CVE-2008-1657 no Web CVE-2005-0174 no DNS CVE-2007-2925 CVE-2008-0122 no Other CVE-1999-0524 no Web server allows lab1.inf.uach.cl concern cross-site tracing via TRACK lab1.inf.uach.cl concern OpenSSH 4.7 is vulnerable Squid HTTP lab1.inf.uach.cl concern request smuggling allows cache poisoning lab1.inf.uach.cl potential lab1.inf.uach.cl potential lab1.inf.uach.cl potential vulnerable BIND version: 9.4.1-P1 ICMP timestamp requests enabled unrestricted proxy service (http-post) Web no CVE-2006-1866 CVE-2006-1867 CVE-2006-1868 CVE2006-1869 CVE-2006-1870 CVE-2006-1871 CVE-20061872 CVE-2006-1873 CVE-2006-1874 CVE-2006-1875 CVE-2006-1876 CVE-2006-1877 CVE-2006-3702 CVE2006-5333 CVE-2006-5335 CVE-2006-5337 CVE-20065338 CVE-2006-5341 CVE-2007-0269 CVE-2007-0273 possible lab1.inf.uach.cl potential vulnerability in Oracle Database CVE-2007-0275 CVE-2007-0281 CVE-2007-2108 CVEDatabases 10.2.0.1.0 2007-2109 CVE-2007-2112 CVE-2007-2114 CVE-20072115 CVE-2007-2119 CVE-2007-2130 CVE-2007-3853 yes CVE-2007-3855 CVE-2007-3856 CVE-2007-3858 CVE2007-4517 CVE-2007-5505 CVE-2007-5506 CVE-20075507 CVE-2007-5508 CVE-2007-5510 CVE-2007-5511 CVE-2007-5512 CVE-2007-5514 CVE-2008-0339 CVE2008-0340 CVE-2008-0342 CVE-2008-0344 CVE-20080347 CVE-2008-1813 CVE-2008-1814 CVE-2008-1815 CVE-2008-1816 CVE-2008-1817 CVE-2008-1821 lab1.inf.uach.cl potential SMTP may be a mail relay Mail CVE-1999-0512 260 no lab1.inf.uach.cl potential SSL certificate is self signed Other no Other no Other no Other no SSL certificate lab1.inf.uach.cl potential subject does not match target lab1.inf.uach.cl potential lab1.inf.uach.cl potential SSL server accepts SSLv2 protocol SSL server accepts weak ciphers TCP reset using lab1.inf.uach.cl potential approximate Other CVE-2004-0230 no sequence number lab1.inf.uach.cl service 873/TCP no lab1.inf.uach.cl service 993/TCP no lab1.inf.uach.cl service 995/TCP no lab1.inf.uach.cl service 1521/TCP no lab1.inf.uach.cl service DNS no lab1.inf.uach.cl service FTP no lab1.inf.uach.cl service FTP (with no anonymous) lab1.inf.uach.cl service IMAP no lab1.inf.uach.cl service POP no lab1.inf.uach.cl service SMTP no lab1.inf.uach.cl service SSH no lab1.inf.uach.cl service WWW no lab1.inf.uach.cl service WWW (Secure) no lab1.inf.uach.cl service lab1.inf.uach.cl service WWW (non- no standard port 3128) WWW (non- no standard port 8081) lab1.inf.uach.cl service domain (53/UDP) 146.83.216.153 critical IBM Lotus no Web CVE-2008-2499 Sametime Server 261 yes Multiplexer Stack Buffer Overflow Possible IIS ASP 146.83.216.153 potential remote code Web CVE-2008-0075 no 146.83.216.153 potential vulnerabilities in IIS Web CVE-2006-0026 no CVE-1999-0524 no execution vulnerability Possible 6 146.83.216.153 potential ICMP timestamp requests enabled Other Possible 146.83.216.153 potential vulnerability in Microsoft Terminal Other CVE-2000-1149 CVE-2001-0663 CVE-2001-0716 CVE2002-0863 CVE-2002-0864 CVE-2005-1218 no Server 146.83.216.153 service 1025/TCP no 146.83.216.153 service 1026/TCP no 146.83.216.153 service 1027/TCP no 146.83.216.153 service 1028/TCP no 146.83.216.153 service 1346/UDP no 146.83.216.153 service 3389/TCP no 146.83.216.153 service DNS no 146.83.216.153 service FTP no 146.83.216.153 service FTP (with no anonymous) 146.83.216.153 service SMB no 146.83.216.153 service WWW no 146.83.216.153 service domain (53/TCP) no 146.83.216.153 service epmap (135/TCP) no 146.83.216.153 service isakmp (500/UDP) no 146.83.216.153 service 146.83.216.153 service microsoft-ds no (445/TCP) no microsoft-ds 262 (445/UDP) 146.83.216.153 service 146.83.216.153 service 146.83.216.153 service netbios-dgm no (138/UDP) netbios-ns no (137/UDP) ntp (123/UDP) no 4.0 Details The following sections provide details on the specific vulnerabilities detected on each host. 4.1 lab1.inf.uach.cl IP Address: 146.83.216.152 Host type: Linux 2.4.19 - 2.4.30 Scan time: Jan 29 16:26:03 2009 IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow Severity: Critical Problem CVE: CVE-2008-2499 Impact A remote unauthenticated attacker could execute arbitrary commands. Resolution For the IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow vulnerability, apply vendor supplied patch to eliminate the vulnerability. Where can I read more about this? The IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow was reported in Bugtraq ID 29328 and Secunia Advisory SA30309. Technical Details Service: http Overly long path in URL crashed HTTP service vulnerable rsyncd version (protocol = 29) Severity: Critical Problem CVE: CVE-2006-2083 CVE-2007-4091 CVE-2007-6199 CVE-2007-6200 263 CVE-2008-1720 Impact This vulnerability could be exploited by a remote attacker to execute arbitrary commands with root privileges. Resolution Upgrade to rsync 3.0.2. rsync 3.0 versions have protocol 30 and may need to be checked locally to confirm vulnerability. Where can I read more about this? The xattr support buffer overflow was reported in Secunia Advisory SA29668. The two security bypasses were reported in Secunia Advisory SA27863. The f_name off-by-one error overflow was reported in Secunia Advisory SA26493. The integer overflow problem was reported in Bugtraq ID 17788. The path sanitization problem was reported in O-198. The arbitrary file creation vulnerability was reported in Debian Security Advisory 499. The heap overflow was posted to Bugtraq. The memory corruption vulnerability was first announced in SuSE Security Announcement 2002:004. Technical Details Service: 873:TCP Received: @RSYNCD: 29 Squid 2.6.STABLE17 is vulnerable Severity: Critical Problem CVE: CVE-2008-1612 Impact A remote attacker could cause a denial of service or execute arbitrary commands. Resolution Upgrade to version 2.6.STABLE18, or contact the vendor for a fix. 264 Where can I read more about this? The cached objects HTTP headers temporary denial of service was reported in Secunia Advisory SA27910. The Squid Proxy Cache Update denial of service was reported in SQUID-2007-2 and Secunia Advisory SA27910. The Squid proxy TRACE request remote denial of service was reported in Secunia Advisory SA24611. The vulnerabilities fixed in Squid.2.6.STABLE7 were reported in the Squid patch list. The vulnerabilities in Squid.2.5.STABLE11 were reported in the Squid patch list. The vulnerabilities in Squid.2.5.STABLE10 were reported in the Squid patch list. The Set-Cookie race condition was reported in the Squid patch list. The vulnerabilities in Squid 2.5.STABLE9 were reported in the Squid patch list. The DNS response denial of service was reported in Bugtraq ID 12551. The HTTP request smuggling vulnerability was reported in Squid Advisory 2005:4. The vulnerabilities in Squid 2.5.STABLE7 were reported in the Squid patch list. The SNMP module ASN1 parsing vulnerability was reported in iDEFENSE Security Advisory 10.11.04. For more information on the url_regex access control bypass, see Squid Advisory 2004:1. For more information on the heap overflow in compressed DNS message handling, see Squid Advisory 2002:2. For more information on the FTP proxy buffer overflow, see Squid Advisory 2002:1 and Bugtraq archive 257614. For more information on the access control list bypass vulnerabilities, see Squid Advisory 2002:1, Bugtraq archive 197727, and Bugtraq archive 8551 again. For more information on the proxy authentication flaw, see the X-Force advisory 3433 and Bugtraq archive 33295. For more information on the FTP PUT denial of service, see SuSE Security Announcement 2001-037, Red Hat Security Advisory 2001:113, and Bugtraq archive 215605. For more information on other Squid vulnerabilities, see Squid Advisory 2002:1 and X-Force advisory 6862, Red Hat Security Advisory 1999:025, and Bugtraq archive 19392. Technical Details Service: squid Received: Server: squid/2.6.STABLE17 265 Web server allows cross-site tracing Severity: Area of Concern Impact A malicious web site could cause a user to reveal sensitive information through a specially crafted link to the vulnerable server. Resolution Cross-site tracing can be fixed by disabling the TRACE request method. If this is not an option for your web server, install a vendor fix or use one of the following workarounds: • • Microsoft IIS: Use URL Scan to filter both TRACE and TRACK requests. Apache: Enable the mod_rewrite module, and add the following lines to the configuration file: • • RewriteEngine On RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] • iPlanet: Disabling the TRACE request method currently requires making a change to a shared object library. See the White Paper for details. BEA WebLogic Server and Express: Upgrade and apply the appropriate patch described in the BEA Advisory BEA04-48.01. • Where can I read more about this? Cross-site tracing was reported in a White Paper from White Hat Security. Technical Details Service: http Sent: TRACE /<SCRIPT>alert('SAINT')</SCRIPT> HTTP/1.0 Cookie: SAINTtest Received: TRACE /<SCRIPT>alert('SAINT')</SCRIPT> HTTP/1.0 Web server allows cross-site tracing via TRACK Severity: Area of Concern Impact A malicious web site could cause a user to reveal sensitive information through a specially 266 crafted link to the vulnerable server. Resolution Cross-site tracing can be fixed by disabling the TRACE request method. If this is not an option for your web server, install a vendor fix or use one of the following workarounds: • • Microsoft IIS: Use URL Scan to filter both TRACE and TRACK requests. Apache: Enable the mod_rewrite module, and add the following lines to the configuration file: • • RewriteEngine On RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] • iPlanet: Disabling the TRACE request method currently requires making a change to a shared object library. See the White Paper for details. BEA WebLogic Server and Express: Upgrade and apply the appropriate patch described in the BEA Advisory BEA04-48.01. • Where can I read more about this? Cross-site tracing was reported in a White Paper from White Hat Security. Technical Details Service: 3128 Sent: TRACK /<SCRIPT>alert('SAINT')</SCRIPT> HTTP/1.0 Cookie: SAINTtest Received: Cookie: SAINTtest OpenSSH 4.7 is vulnerable Severity: Area of Concern CVE: CVE-2008-1483 CVE-2008-1657 Impact This document describes some vulnerabilities in the OpenSSH cryptographic login program. Outdated versions of OpenSSH may allow a malicious user to log in as another user, to insert arbitrary commands into a session, or to gain remote root access to the OpenSSH server. Resolution Upgrade to OpenSSH version 4.9, or install a fix from your operating system vendor. Where can I read more about this? 267 The ForceCommand Security Bypass was reported in Secunia Advisory SA29602. The Forward X connections hijack was reported in Secunia Advisory SA29522. The X11 Security Bypass was reported in Bugtraq ID 25628. The ChallengeResponseAuthentication information gathering vulnerability was reported in Bugtraq ID 23601. The vulnerability fixed by 4.5 was reported in Bugtraq ID 20956. The vulnerabilities fixed by 4.4 were reported in OpenSSH 4.4 release. The local SCP shell command execution vulnerability was reported in OpenSSH 4.3 release and Red Hat Bugzilla ID 168167. The GatewayPorts and GSSAPI vulnerabilities were reported in the OpenSSH mailing list. The OpenSSH buffer management vulnerabilities are described in CERT Advisory 2003-24, Red Hat Security Advisory 2003:280, and a Bugtraq posting. The Portable OpenSSH PAM vulnerabilities are described in the Portable OpenSSH Security Advisory, the OpenPKG Security Advisory, and Bugtraq. For more information on the other OpenSSH vulnerabilities, see CIAC Bulletin M-026, CIAC Bulletin M-054, CERT Advisory 2002-18, the OpenSSH Security Advisory, and the following Bugtraq postings: 2001-09-26, 2001-09-18, 2002-04-21, and 2000-06-09. The vulnerability in the insertion attack detection procedure was reported in a CORE SDI Advisory. Technical Details Service: ssh Squid HTTP request smuggling allows cache poisoning Severity: Area of Concern CVE: CVE-2005-0174 Impact A remote attacker could cause a denial of service or execute arbitrary commands. Resolution Upgrade to version 2.6.STABLE18, or contact the vendor for a fix. Where can I read more about this? The cached objects HTTP headers temporary denial of service was reported in Secunia Advisory SA27910. The Squid Proxy Cache Update denial of service was reported in SQUID-2007-2 and Secunia 268 Advisory SA27910. The Squid proxy TRACE request remote denial of service was reported in Secunia Advisory SA24611. The vulnerabilities fixed in Squid.2.6.STABLE7 were reported in the Squid patch list. The vulnerabilities in Squid.2.5.STABLE11 were reported in the Squid patch list. The vulnerabilities in Squid.2.5.STABLE10 were reported in the Squid patch list. The Set-Cookie race condition was reported in the Squid patch list. The vulnerabilities in Squid 2.5.STABLE9 were reported in the Squid patch list. The DNS response denial of service was reported in Bugtraq ID 12551. The HTTP request smuggling vulnerability was reported in Squid Advisory 2005:4. The vulnerabilities in Squid 2.5.STABLE7 were reported in the Squid patch list. The SNMP module ASN1 parsing vulnerability was reported in iDEFENSE Security Advisory 10.11.04. For more information on the url_regex access control bypass, see Squid Advisory 2004:1. For more information on the heap overflow in compressed DNS message handling, see Squid Advisory 2002:2. For more information on the FTP proxy buffer overflow, see Squid Advisory 2002:1 and Bugtraq archive 257614. For more information on the access control list bypass vulnerabilities, see Squid Advisory 2002:1, Bugtraq archive 197727, and Bugtraq archive 8551 again. For more information on the proxy authentication flaw, see the X-Force advisory 3433 and Bugtraq archive 33295. For more information on the FTP PUT denial of service, see SuSE Security Announcement 2001-037, Red Hat Security Advisory 2001:113, and Bugtraq archive 215605. For more information on other Squid vulnerabilities, see Squid Advisory 2002:1 and X-Force advisory 6862, Red Hat Security Advisory 1999:025, and Bugtraq archive 19392. Technical Details Service: 3128 Sent: GET http://127.0.0.1/n0nex1st.html HTTP/1.0 Host: 127.0.0.1 Content -Type: application/x-www-form-urlencoded Connection: Keep-Alive Received: HTTP/1.0 404 Not Found 269 vulnerable BIND version: 9.4.1-P1 Severity: Potential Problem CVE: CVE-2007-2925 CVE-2008-0122 Impact This document covers several BIND vulnerabilities that malicious users can exploit to gain unauthorized, privileged access to target machines, disrupt service on target machines, or launch DNS spoofing attacks. Resolution Check for package updates from the vendor. Upgrade to BIND 9.3.5, 9.4.3 or 9.5.0b2 or higher in the 9.3.x, 9.4.x and 9.5.x series respectively. The latest version of BIND is available from the Internet Software Consortium. To fix the allow-query-cache/allow-recursion default ACL weakness, explicitly set the allowquery-cache and allow-recursion ACLs as instructed by ISC. Where can I read more about this? Details on the vulnerabilities described above can be found on the BIND Vulnerabilities page, VulnWatch, CIAC Bulletins P-113 and P-114, R-333, CERT Advisories 1997-22, 1998-05, 1999-14, 2000-20, 2001-02, 2002-15, and 2002-31, Bugtraq ID 17692, Secunia Advisory SA21752, SUSE-SR:2006:026, Secunia Advisory SA25070, Secunia Advisory SA28180, and Secunia Advisory SA28579. For general information on securing DNS servers, see CERT's document, Securing an Internet Name Server. Technical Details Service: domain Received: version.bind. 0 CH TXT "9.4.1-P1" ICMP timestamp requests enabled Severity: Potential Problem CVE: CVE-1999-0524 Impact A remote attacker could obtain sensitive information about the network. Resolution 270 Configure the system or firewall not to allow ICMP timestamp requests (message type 13) or ICMP netmask requests (message type 17). Instructions for doing this on specific platforms are as follows: Windows: Block these message types using the Windows firewall as described in Microsoft TechNet. Linux: To disable ICMP timestamp requests, add these lines to /etc/sysctl.conf and reboot: net.ipv4.tcp_timestamps = 0 Use ipchains or iptables to filter ICMP netmask requests using this command: ipchains -A input -p icmp --icmp-type address-mask-request -j DROP To ensure that this change persists after the system reboots, put the above command into the system's boot-up script (typically /etc/rc.local). Cisco: Block ICMP message types 13 and 17 as follows: deny icmp any any 13 deny icmp any any 17 Where can I read more about this? For more information about ICMP, see RFC792. Technical Details Service: icmp timestamp=0344446e unrestricted proxy service (http-post) Severity: Potential Problem Impact Spammers can use open proxies to anonymously connect to mail servers and relay junk email. If the proxy service is a gateway to a private network and is accessible from the Internet, the open proxy could also be used by a remote attacker to gain access to the private network. Resolution If possible, configure proxy services to accept connections only from trusted networks, and to proxy requests only for allowed services. Disable the CONNECT method. Check US-CERT 271 Vulnerability Note VU#150227 and Spam Links for fix information for your specific product. Where can I read more about this? For more information, see US-CERT Vulnerability Note VU#150227, Spam Links, and Bugtraq ID 4131. Technical Details Service: 3128 possible vulnerability in Oracle Database 10.2.0.1.0 Severity: Potential Problem CVE: CVE-2006-1866 CVE-2006-1867 CVE-2006-1868 CVE-2006-1869 CVE-2006-1870 CVE-2006-1871 CVE-2006-1872 CVE-2006-1873 CVE-2006-1874 CVE-2006-1875 CVE-2006-1876 CVE-2006-1877 CVE-2006-3702 CVE-2006-5333 CVE-2006-5335 CVE-2006-5337 CVE-2006-5338 CVE-2006-5341 CVE-2007-0269 CVE-2007-0273 CVE-2007-0275 CVE-2007-0281 CVE-2007-2108 CVE-2007-2109 CVE-2007-2112 CVE-2007-2114 CVE-2007-2115 CVE-2007-2119 CVE-2007-2130 CVE-2007-3853 CVE-2007-3855 CVE-2007-3856 CVE-2007-3858 CVE-2007-4517 CVE-2007-5505 CVE-2007-5506 CVE-2007-5507 CVE-2007-5508 CVE-2007-5510 CVE-2007-5511 CVE-2007-5512 CVE-2007-5514 CVE-2008-0339 CVE-2008-0340 CVE-2008-0342 CVE-2008-0344 CVE-2008-0347 CVE-2008-1813 CVE-2008-1814 CVE-2008-1815 CVE-2008-1816 CVE-2008-1817 CVE-2008-1821 Impact 272 A remote attacker could execute arbitrary commands on the database server. Resolution (The XDB PITRIG_DROPMETADATA Procedure Buffer Overflow has not yet been patched.) Apply the April 2008 Critical Patch Update. Where can I read more about this? The critical patch sets were reported in US-CERT advisories TA04-245A, TA05-194A, TA05292A, TA06-018A, TA06-109A, TA06-200A, and TA06-291A; Oracle Security Alert 68, and the critical patch updates for January 2005, April 2005, July 2005, October 2005, January 2006, April 2006, July 2006, October 2006, January 2007, April 2007, July 2007, October 2007, January 2008, and April 2008. The XDB PITRIG_DROPMETADATA Procedure Buffer Overflow was reported in iDEFENSE public advisory 11.07.07. The multiple function argument/session parameter buffer overflow vulnerabilities are described in NGSSoftware advisories: NUMTOYMINTERVAL, NUMTODSINTERVAL, FROM_TZ, and TIME_ZONE. The EXTPROC logging buffer overflow was reported in NGSSoftware advisory #NISR25072003 and Oracle Security Alert 57. The database link vulnerability was reported in NGSSoftware advisory #NISR29042003 and Oracle Security Alert 54. The older vulnerabilities were reported in Oracle Security Alerts 48, 49, 50, and 51, NGSSoftware advisories #NISR16022003A, #NISR16022003B, #NISR16022003C, and #NISR16022003E, and CERT Advisory 2003-05. Technical Details Service: 1521:TCP TNSLSNR for Linux: Version 10.2.0.1.0 - Production SMTP may be a mail relay Severity: Potential Problem CVE: CVE-1999-0512 Impact An e-mail spammer, or other unauthorized user, may be able to use the system to relay mail. Resolution UNIX mail servers should be upgraded to Sendmail 8.9 or higher, which does not allow relaying by default. For non-UNIX mail servers, contact your vendor for fix information. Where Can I Read More About this? 273 The MAPS Transport Security Initiative page is a good source of information on mail relaying. Also see sendmail.org for information on the anti-relaying features in Sendmail 8.9. Users of Sendmail 8.8 who do not wish to upgrade can refer to sendmail.org for information on preventing relaying in Sendmail 8.8. Technical Details Service: smtp SSL certificate is self signed Severity: Potential Problem Impact When a server's SSL certificate is invalid, clients cannot properly verify that the server is authentic, resulting in a lack of trust. Resolution For expired certificates, contact the issuer of your SSL certificate to renew your certificate. For certificates where the subject does not match the target, change the registered DNS name of the site to match the certificate, or contact the issuer of your SSL certificate to get a corrected certificate. Replace self-signed certificates with certificates issued by a trusted certificate authority. Where can I read more about this? For more information on certificates see the SSL Certificates HOWTO. Technical Details Service: https Issued To localhost Issued By localhost SSL certificate subject does not match target Severity: Potential Problem Impact When a server's SSL certificate is invalid, clients cannot properly verify that the server is 274 authentic, resulting in a lack of trust. Resolution For expired certificates, contact the issuer of your SSL certificate to renew your certificate. For certificates where the subject does not match the target, change the registered DNS name of the site to match the certificate, or contact the issuer of your SSL certificate to get a corrected certificate. Replace self-signed certificates with certificates issued by a trusted certificate authority. Where can I read more about this? For more information on certificates see the SSL Certificates HOWTO. Technical Details Service: https Certificate Issued To: localhost SSL server accepts SSLv2 protocol Severity: Potential Problem Impact A remote attacker with the ability to sniff network traffic could decrypt an encrypted session. Resolution For Apache mod_ssl web servers, use the SSLCipherSuite directive in the configuration file to specify strong ciphers only and disable SSLv2. For other types of web servers, consult the web server documentation. Where can I read more about this? For more information, see VNU Net: Weak Security Found in Many Web Servers. Technical Details Service: https Supported ciphers: EXP-RC4-MD5:TLSv1/SSLv3:40-bit RC4-MD5:TLSv1/SSLv3:128-bit RC4SHA:TLSv1/SSLv3:128-bit EXP-RC2-CBC-MD5:TLSv1/SSLv3:40-bit EXP-DES-CBCSHA:TLSv1/SSLv3:40-bit DES-CBC-SHA:TLSv1/SSLv3:56-bit DES-CBC3SHA:TLSv1/SSLv3:168-bit EXP-EDH-RSA-DES-CBC-SHA:TLSv1/SSLv3:40-bit EDH-RSADES-CBC-SHA:TLSv1/SSLv3:56-bit EDH-RSA-DES-CBC3-SHA:TLSv1/SSLv3:168-bit 275 AES128-SHA:TLSv1/SSLv3:128-bit DHE-RSA-AES128-SHA:TLSv1/SSLv3:128-bit AES256SHA:TLSv1/SSLv3:256-bit DHE-RSA-AES256-SHA:TLSv1/SSLv3:256-bit RC4MD5:SSLv2:128-bit EXP-RC4-MD5:SSLv2:40-bit RC2-CBC-MD5:SSLv2:128-bit EXP-RC2CBC-MD5:SSLv2:40-bit DES-CBC-MD5:SSLv2:56-bit DES-CBC3-MD5:SSLv2:168-bit SSL server accepts weak ciphers Severity: Potential Problem Impact A remote attacker with the ability to sniff network traffic could decrypt an encrypted session. Resolution For Apache mod_ssl web servers, use the SSLCipherSuite directive in the configuration file to specify strong ciphers only and disable SSLv2. For other types of web servers, consult the web server documentation. Where can I read more about this? For more information, see VNU Net: Weak Security Found in Many Web Servers. Technical Details Service: https Supported ciphers: EXP-RC4-MD5:TLSv1/SSLv3:40-bit RC4-MD5:TLSv1/SSLv3:128-bit RC4SHA:TLSv1/SSLv3:128-bit EXP-RC2-CBC-MD5:TLSv1/SSLv3:40-bit EXP-DES-CBCSHA:TLSv1/SSLv3:40-bit DES-CBC-SHA:TLSv1/SSLv3:56-bit DES-CBC3SHA:TLSv1/SSLv3:168-bit EXP-EDH-RSA-DES-CBC-SHA:TLSv1/SSLv3:40-bit EDH-RSADES-CBC-SHA:TLSv1/SSLv3:56-bit EDH-RSA-DES-CBC3-SHA:TLSv1/SSLv3:168-bit AES128-SHA:TLSv1/SSLv3:128-bit DHE-RSA-AES128-SHA:TLSv1/SSLv3:128-bit AES256SHA:TLSv1/SSLv3:256-bit DHE-RSA-AES256-SHA:TLSv1/SSLv3:256-bit RC4MD5:SSLv2:128-bit EXP-RC4-MD5:SSLv2:40-bit RC2-CBC-MD5:SSLv2:128-bit EXP-RC2CBC-MD5:SSLv2:40-bit DES-CBC-MD5:SSLv2:56-bit DES-CBC3-MD5:SSLv2:168-bit TCP reset using approximate sequence number Severity: Potential Problem CVE: CVE-2004-0230 Impact 276 A remote attacker could cause a denial of service on systems which rely upon persistent TCP connections. Resolution To correct this problem on Cisco devices, apply one of the fixes referenced in the Cisco security advisories for IOS and non-IOS operating systems. Refer to US-CERT Vulnerability Note VU#415294 and NISSC vulnerability advisory 236929 for other vendor fixes. If a fix is not available, this problem can be worked around by using a secure protocol such as IPsec, or by filtering incoming connections to services such as BGP which rely on persistent TCP connections at the firewall, such that only allowed addresses may reach them. Where can I read more about this? This vulnerability was reported in US-CERT alert 04-111A. For more information on TCP, see RFC793. Technical Details Service: tcp 873/TCP Severity: Service Technical Details @RSYNCD: 29 993/TCP Severity: Service Technical Details 995/TCP Severity: Service Technical Details 277 1521/TCP Severity: Service Technical Details DNS Severity: Service Technical Details FTP Severity: Service Technical Details 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- FTP (with anonymous) Severity: Service Technical Details ANONYMOUS IMAP Severity: Service Technical Details * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. 278 POP Severity: Service Technical Details +OK Hello there. SMTP Severity: Service Technical Details 220 ns.lab1.inf.uach.cl ESMTP Postfix SSH Severity: Service Technical Details SSH-2.0-OpenSSH_4.7 WWW Severity: Service Technical Details HTTP/1.1 200 OK Date: Thu, 29 Jan 2009 15:12:55 GMT Server: Apache Last-Modified: Fri, 04 Apr 2008 23:07:52 GMT ETag: "b5b5-47d5-44a143000c200" Accept-Ranges: WWW (Secure) 279 Severity: Service Technical Details <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> WWW (non-standard port 3128) Severity: Service Technical Details HTTP/1.0 400 Bad Request Server: squid/2.6.STABLE17 Date: Thu, 29 Jan 2009 15:13:01 GMT Content-Type: text/html Content-Length: 1193 Expires: Thu, 29 Jan 2009 15:13:01 WWW (non-standard port 8081) Severity: Service Technical Details HTTP/1.1 200 OK MS-Author-Via: DAV DAV: 1,2,<http://www.oracle.com/xdb/webdav/props> Server: Oracle XML DB/Oracle Database ETag: domain (53/UDP) Severity: Service Technical Details 280 4.2 146.83.216.153 IP Address: 146.83.216.153 Host type: Windows Server 2003 SP2 Scan time: Jan 29 16:27:21 2009 Netbios Name: XP2 IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow Severity: Critical Problem CVE: CVE-2008-2499 Impact A remote unauthenticated attacker could execute arbitrary commands. Resolution For the IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow vulnerability, apply vendor supplied patch to eliminate the vulnerability. Where can I read more about this? The IBM Lotus Sametime Server Multiplexer Stack Buffer Overflow was reported in Bugtraq ID 29328 and Secunia Advisory SA30309. Technical Details Service: http Overly long path in URL crashed HTTP service Possible IIS ASP remote code execution vulnerability Severity: Potential Problem CVE: CVE-2008-0075 Impact An attacker could send a specially constructed request which crashes the server or executes arbitrary code with the privileges of the web server. Resolutions Install the patches referenced in Microsoft Security Bulletins 03-018, 06-034 (for Windows 2000) and 08-006 (for Windows 2003 and XP). For IIS 5.1, also install the patches referenced in 07-041. Note that the patch referenced in Microsoft Security Bulletin 02-050 must also be installed if client side certificates are to 281 function. IIS 4.0 users should also install the patch referenced in Microsoft Security Bulletin 04-021 or disable the permanent redirection option under the Home Directory tab in the web site properties. Where can I read more about this? More information on the IIS ASP remote code execution in Windows 2003 and XP is available in Microsoft Security Bulletin 08-006. More information on the remote code execution in IIS 5.1 is available at Microsoft Security Bulletin 07-041. More information on the ASP upload vulnerability is available in Microsoft Security Bulletin 06034. More information on the .dll request denial of service was reported in Secunia Advisory SA18106. More information on the chunked .HTR processing vulnerability is available in Microsoft Security Bulletin 02-028 and eEye advisory 20020612. The IIS 4.0 redirection buffer overflow was reported in Microsoft Security Bulletin 04-021. More information on the multiple vulnerabilities in IIS 4.0 through 5.1 is available in CERT Advisory 2002-09, Microsoft Security Bulletin 02-018, Microsoft Security Bulletin 02-062, and Microsoft Security Bulletin 03-018. More information on the buffer overflows in IIS 5.0 is available from Microsoft Security Bulletins 01-023 and 01-033, CERT advisories 2001-10 and 2001-13, and eEye advisories AD20010501 and AD20010618. General information on securing IIS 5.0 can be found in the IIS 5 security checklist. More information on folder traversal using Unicode translation is available from Microsoft Security Bulletin 00-078 and a posting to Bugtraq. More information on folder traversal using double encoding is available from Microsoft Security Bulletin 01-026, NSFOCUS Security Advisory 2001-02, and CERT Advisory 2001-12. More information on the buffer overflow vulnerability is available from Microsoft Security Bulletin 99-019 and from Microsoft Knowledge Base article Q234905. More information on the filename inspection vulnerability can be found in Microsoft Security Bulletin 00-086 and NSFOCUS Security Advisory 2000-07. More information on the other vulnerabilities was reported in Microsoft Security Bulletins 00057, 01-016, and 01-044. Technical Details Service: http IIS ASP detected and could not check for KB942830 Possible vulnerabilities in IIS 6 282 Severity: Potential Problem CVE: CVE-2006-0026 Impact An attacker could send a specially constructed request which crashes the server or executes arbitrary code with the privileges of the web server. Resolutions Install the patches referenced in Microsoft Security Bulletins 03-018, 06-034 (for Windows 2000) and 08-006 (for Windows 2003 and XP). For IIS 5.1, also install the patches referenced in 07-041. Note that the patch referenced in Microsoft Security Bulletin 02-050 must also be installed if client side certificates are to function. IIS 4.0 users should also install the patch referenced in Microsoft Security Bulletin 04-021 or disable the permanent redirection option under the Home Directory tab in the web site properties. Where can I read more about this? More information on the IIS ASP remote code execution in Windows 2003 and XP is available in Microsoft Security Bulletin 08-006. More information on the remote code execution in IIS 5.1 is available at Microsoft Security Bulletin 07-041. More information on the ASP upload vulnerability is available in Microsoft Security Bulletin 06034. More information on the .dll request denial of service was reported in Secunia Advisory SA18106. More information on the chunked .HTR processing vulnerability is available in Microsoft Security Bulletin 02-028 and eEye advisory 20020612. The IIS 4.0 redirection buffer overflow was reported in Microsoft Security Bulletin 04-021. More information on the multiple vulnerabilities in IIS 4.0 through 5.1 is available in CERT Advisory 2002-09, Microsoft Security Bulletin 02-018, Microsoft Security Bulletin 02-062, and Microsoft Security Bulletin 03-018. More information on the buffer overflows in IIS 5.0 is available from Microsoft Security Bulletins 01-023 and 01-033, CERT advisories 2001-10 and 2001-13, and eEye advisories AD20010501 and AD20010618. General information on securing IIS 5.0 can be found in the IIS 5 security checklist. More information on folder traversal using Unicode translation is available from Microsoft Security Bulletin 00-078 and a posting to Bugtraq. More information on folder traversal using double encoding is available from Microsoft Security Bulletin 01-026, NSFOCUS Security Advisory 2001-02, and CERT Advisory 2001-12. More information on the buffer overflow vulnerability is available from Microsoft Security 283 Bulletin 99-019 and from Microsoft Knowledge Base article Q234905. More information on the filename inspection vulnerability can be found in Microsoft Security Bulletin 00-086 and NSFOCUS Security Advisory 2000-07. More information on the other vulnerabilities was reported in Microsoft Security Bulletins 00057, 01-016, and 01-044. Technical Details Service: http IIS 6 detected and could not check for KB917537 ICMP timestamp requests enabled Severity: Potential Problem CVE: CVE-1999-0524 Impact A remote attacker could obtain sensitive information about the network. Resolution Configure the system or firewall not to allow ICMP timestamp requests (message type 13) or ICMP netmask requests (message type 17). Instructions for doing this on specific platforms are as follows: Windows: Block these message types using the Windows firewall as described in Microsoft TechNet. Linux: To disable ICMP timestamp requests, add these lines to /etc/sysctl.conf and reboot: net.ipv4.tcp_timestamps = 0 Use ipchains or iptables to filter ICMP netmask requests using this command: ipchains -A input -p icmp --icmp-type address-mask-request -j DROP To ensure that this change persists after the system reboots, put the above command into the system's boot-up script (typically /etc/rc.local). Cisco: Block ICMP message types 13 and 17 as follows: deny icmp any any 13 deny icmp any any 17 Where can I read more about this? 284 For more information about ICMP, see RFC792. Technical Details Service: icmp timestamp=accb2004 Possible vulnerability in Microsoft Terminal Server Severity: Potential Problem CVE: CVE-2000-1149 CVE-2001-0663 CVE-2001-0716 CVE-2002-0863 CVE-2002-0864 CVE-2005-1218 Impact Vulnerabilities in Microsoft Windows Terminal Server and Remote Desktop could allow a remote attacker to execute arbitrary code or crash the server, or could allow an attacker who is able to capture network traffic to decrypt sessions. Resolution There is no fix available to protect against the man-in-the-middle attack. Therefore, Terminal Services should only be used on trusted networks. The other vulnerabilities can be fixed by applying the appropriate patches. For Windows NT 4.0 Terminal Server Edition, apply the patches referenced in Microsoft Security Bulletins 00-087 and 01-052. There is no fix available for the denial of service vulnerability on Windows NT. For Windows 2000, apply the patches referenced in Microsoft Security Bulletins 01-052, 02051, and 05-041. For Windows XP, apply the patches referenced in Microsoft Security Bulletins 02-051 and 05041. For Windows Server 2003, apply the patch referenced in Microsoft Security Bulletin 05-041. For Citrix MetaFrame, download a hotfix from the Citrix Solution Knowledge Base, under Hotfixes. It is also a good idea to filter TCP port 3389 at the firewall or router, such that only connections from legitimate users will be accepted. Where can I read more about this? For more information, see Microsoft Security Bulletins 00-087, 01-052, 02-051, and 05-041, and Bugtraq. 285 For more information on the Citrix MetaFrame vulnerability, see the X-Force advisory 99. Technical Details Service: 3389:TCP port 3389/tcp open and KB899591 not applied or could not be checked 1025/TCP Severity: Service Technical Details 1026/TCP Severity: Service Technical Details 1027/TCP Severity: Service Technical Details 1028/TCP Severity: Service Technical Details 1346/UDP Severity: Service Technical Details 3389/TCP 286 Severity: Service Technical Details DNS Severity: Service Technical Details FTP Severity: Service Technical Details 220 Microsoft FTP Service FTP (with anonymous) Severity: Service Technical Details ANONYMOUS SMB Severity: Service Technical Details \131\000\000\001\143 WWW Severity: Service 287 Technical Details HTTP/1.1 200 OK Content-Length: 18720 Content-Type: text/html Content-Location: http://146.83.216.153/index.html Last-Modified: Fri, 04 Apr 2008 22:07:52 GMT Accept-Ranges: domain (53/TCP) Severity: Service Technical Details epmap (135/TCP) Severity: Service Technical Details isakmp (500/UDP) Severity: Service Technical Details microsoft-ds (445/TCP) Severity: Service Technical Details microsoft-ds (445/UDP) Severity: Service Technical Details 288 netbios-dgm (138/UDP) Severity: Service Technical Details netbios-ns (137/UDP) Severity: Service Technical Details ntp (123/UDP) Severity: Service Technical Details 289