implementacion de seguridad y creacion de protocolos para un sistema de webhosting

Upload: rodrigo-sanhueza

Post on 12-Jul-2015

1.919 views

Category:

Documents


2 download

DESCRIPTION

Comparto a la web, mi proyecto de titulo donde se crean protocolos de comportamiento y de responsabilidad compartida en un entorno webhosting, adicionalmente de una implementacion de seguridad con herramientas de software libre.

TRANSCRIPT

Implementacin de Seguridad y Creacin de Protocolos Para un Sistema de Webhosting

Informe de Actividad Terminal para optar al ttulo de Ingeniera en Ejecucin en Computacin e Informtica

Integrante: Rodrigo Sanhueza Pontoni

Docente: Hctor Salazar Robinson

02 / 08 / 2011

Sumario

Capitulo 1 Anlisis Previo. En el presente, se realiza la presentacin de la empresa en estudio, as como tambin el rea en el cual se aplicar el estudio y la reforma ingenieril, de igual manera se presentar la alternativa para proveer una solucin al problema detectado en el anlisis crtico de la situacin actual.

Capitulo 2 Especificacin de Requerimientos. En el presente, se procede a determinar los usuarios de la implementacin as como tambin los objetivos tanto como generales y especficos del proyecto, se determinan los requerimientos basados mediante entrevista y una auditoria al departamento en estudio.

Capitulo 3 Aporte Ingenieril En el presente, se procede en la bsqueda e investigacin de herramientas para implementar una seguridad razonable en los servidores, esta bsqueda ser tanto reactiva para algunos objetivos como proactiva segn lo amerite el caso.

Capitulo 4 Implementacin de herramientas para solucionar vulnerabilidades En el presente, se realizar la instalacin de cada una de las herramientas elegidas segn sus meritos y se proceder a evaluar si son eficaces en el medio en donde trabajaran.

Capitulo 5 Creacin de protocolos y soluciones a las vulnerabilidades En el presente, se crearn protocolos de seguridad y polticas, donde se delegarn responsabilidades tanto como para el departamento de Soporte y el cliente o usuario del servicio de hosting Anexo 1: Notas y detalles de la instalacin En el presente, se detallarn notas y/o detalles de algunas herramientas que surgieron luego de la instalacin de estas.

Anexo 2: Formularios y Entrevista En el presente, se indexarn todos los formularios y la entrevista utilizada en el proyecto.

1

Introduccin

Los problemas de seguridad van desde distintos mbitos y especialmente en la informtica, donde personas tienen un acceso libre sin restricciones a sistemas de informacin vulnerables en todo aspecto, bien es sabido que la gran cantidad de problemas de esta ndole se generan dentro de la empresa por la poca habilidad a veces de los usuarios o la mnima capacitacin que deberan tener estos, pero el peor dao que afecta a la empresa es cuando personas que no son parte de esta, acceden a sus equipos y se apropian de informacin que no les corresponde o simplemente hacen mal uso de los servicios/hardware de los equipos, quedando la empresa en mal pie frente a su mercado.

El presente proyecto consta en implementar un sistema de seguridad y creacin de protocolos para el departamento de soporte tcnico de una empresa de Webhosting, que cuenta con una baja implementacin de seguridad en cada uno de los servidores, de forma global se realizara una toma de requerimientos al cliente y una auditoria que arrojo las falencias que posea el servicio para luego ofrecer una lista nueva de protocolos y responsabilidades entre el oferente del servicio y el usuario.

2

1.

Captulo 1: Anlisis previo

3

Introduccin

En este captulo se proceder a mostrar informacin sobre la empresa y el rea en estudio en donde est enfocado el proyecto. Se dar a conocer la infraestructura de la empresa y en detalle el rea en estudio dicho anteriormente.

Se reflejara mediante un diagrama de casos de uso la situacin actual de la empresa, donde se vera la problemtica de seguridad y mediante una propuesta ingenieril se proceder a solucionar el inconveniente encontrado, as mismo se reflejara mediante otro caso de uso un nuevo modelo ofrecido.

4

1.1. Antecedentes Generales de la Organizacin

Nombre: San Martin y Ca. Ltda. (Chileadmin). RUT: 7633430-2 Rubro: Soluciones informticas, Hosting y Diseo Web. Direccin: Almirante Pastene 70 Depto. 104, Providencia, Santiago Telfono: 56 - 02- 891 1035 Aos de experiencia de la Empresa: 11

1.2. Misin de la organizacin

Aportar con nuestra experiencia y conocimiento de Internet a los clientes, permitiendo asesorarlos de forma profesional y efectiva.

1.3. Historia de la organizacin

San Martin y Ca. Ltda. Conocida como ChileAdmin.cl es una Empresa Visionaria y Emprendedora, dedicada a satisfacer las necesidades de Particulares, Instituciones, Gremios y Empresas en materias de Internet.

Actualmente es indispensable contar con presencia en Internet y ms an agregar valor a servicios o productos a travs de este medio, en ChileAdmin.cl se est consciente de esto y se enfoca todas las habilidades y conocimientos en ello.

5

Cuenta con 10 aos de existencia, en este periodo han entregado soluciones a particulares, instituciones, gremios y empresas. Actualmente son ms de 6.000 Clientes los que han preferido sus servicios. Estaba ubicada en el centro de Concepcin hasta el terremoto del 27-F, luego se traslado a una oficina anexa en Santiago transformndola en la Casa matriz. Con los aos de experiencia ha sido una de las empresas pioneras en Chile con el tema de Hosting.

Visin Ser reconocidos como una de las mejores empresas del rubro en Chile.

Servicios Se presta el servicio de Hosting, Diseo y Programacin, Posicionamiento en la red, Asistencia Remota, creacin de CRMs (Software para la administracin de la relacin con los clientes), envi de informacin por correos electrnicos (mail manager).

Responsabilidades Bsicamente en la empresa se pueden destacar 3 grandes reas, las cuales son la gerencia comercial y administracin, gerencia proyectos y la gerencia de operaciones. En la gerencia comercial y administracin se tienen el departamentos comercial que se encargan de atraer nuevos clientes y ofrecer servicios y/o planes y el departamento de administracin que gestiona el uso del recurso monetario y las tareas de administracin de la empresa, la gerencia de proyectos tiene los departamentos de diseo web y de programacin-desarrollo quienes desarrollan desde soluciones informticas para personas y

empresas(paginas web) hasta sistemas de gestin(CRMs), por ltimo la gerencia de operaciones contiene el departamento soporte quienes son los encargados de atender a los clientes con inconvenientes y/o problemas con el sistema de Hosting que van desde problemas con webs, bases de datos, transferencia de archivos, problemas de correos, listas de spam entre otros servicios contratados con Chileadmin.cl.

6

1.4. Infraestructura Computacional y de Software

Actualmente, la empresa cuenta con 11 servidores + 1 servidor de respaldos y pruebas, El Uptime de los servidores flucta entre 99.4% y 100% lo que ha llevado a ser una de las principales compaas de Web Hosting en Chile. Sus servidores se encuentra la gran parte en Estados Unidos y uno de prueba en Santiago, en donde la administracin es completamente remota hacia ellos, los servidores son arrendados a la empresa LiquidWeb, la cual presenta servicios del tipo servidor virtuales privados, nubes de datos, servidores dedicados, servidores smarts server, centros de datos tanto en la plataforma Linux como en Windows.

Las personas con accesos a los servidores son: Ceo de la empresa y personal de Soporte de los cuales:

El Ceo de la empresa solo ingresa al sistema a chequear los sistemas y realiza modificaciones en las zonas DNS de cada servidor.

Personal de Soporte tiene acceso full a los servidores y a las aplicaciones que corren en estos, teniendo plena responsabilidad ante cualquier problema e inconveniente presente en el sistema.

Dentro de los servidores dedicados a Webhosting se presentan los siguientes servicios los cuales sern auditados segn su importancia:

Clamd: servicio demonio de antivirus. Cpdavd: servicio para tener una unidad fsica en un computador siendo una unidad virtual, ya que es un enlace directo a una carpeta del Hosting.

7

Exim: Servidor de correo SMTP. Esta es la parte del servidor de correo que se encarga de enviar y recibir correo. Ftpd: Servidor de archivos ftp, para realizar transferencia de archivos en el sistema. Httpd: Demonio del servidor web Apache. Este controla las solicitudes HTTP de los visitantes. Imap: El Correo de IMAP/demonio Dovecot. Este maneja cmo los usuarios descargan su correo. Ipaliases: La activacin de esta funcin le permite aadir ms de una direccin IP para su adaptador de red. Utilizando esta configuracin le permite ejecutar mltiples conexiones en una sola red. Mysql: Servidor MySQL base de datos. Esta trata las consultas de base de datos. Named: Demonio utilizado para resolver los nombre de dominio. Postgresql: Servidor Postgresql Spamd: Servidor de SpamAssassin. Este demonio intenta filtrar los mensajes spam. Sshd: El Shell seguro (SSH) demonio que permite a los usuarios conectarse al servidor en una sesin de terminal a travs de SSH. Syslogd: Demonio para el sistema de registro. Este se encarga de seguimiento y registro de informacin del sistema acerca de su servidor web. Tailwatchd: Registro del servicio de vigilancia. Esta funcin demonio como un marco para la creacin fcil de interpretar los registros.

8

Puertos y Protocolos habilitados en cada servidor (Por orden numrico) Puerto Protocolo Protocolo Aplicacin 20-21 25-26 53 80 110 143 443 465 993 2082-2083 2086-2087 2095-2096 3306 5432 6666 TCP TCP-UDP TCP-UDP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP Control FTP Smtp DNS Httpd Pop3 Imap Https Smtps Imap sobre ssl cpanel whm webmail mysql postgresql Logs Servicio de publicacion FTP Servicio de correo Servidor DNS Servicio web Servicio de correo Servicio de correo Servicio web Servicio de correo Servicio de correo Servicio Cpanel Servicio web host manager Servicio Webmail Servicio bbdd mysql Servicio postgres Servicio de registros y logs de Nombre del servicio

9

7786 49222

TCP TCP

Logs Ssh

Servicio de registros y logs Servicio ssh

1.5. Organigrama de la empresa

CEO

rea comercial y administracin

rea Proyectos

rea Operaciones

Departamento comercial

Departamento administracin

Departamento Diseo Web

Departamento Programacin y Desarrollo

Departamento Soporte

1.6. Descripcin del rea en estudio

El rea o departamento en el cual se aplicara el estudio ingenieril y la implementacin de seguridad, ser el departamento de Soporte. Al da de hoy, El departamento de Soporte presenta nula seguridad en los sistemas de cada uno de los servidores ofrecido hacia los clientes/usuarios, por lo cual hace de carcter urgente implementar un sistema de proteccin. Este departamento es el encargado de prestar ayuda a los clientes del servicio de webhosting mediante Tickets de Soporte, Mails o asistencia remota en sus equipos cuando lo requiera la situacin, generalmente estos problemas son causados por la inexperiencia del cliente/usuario

10

1.7. Modelo del rea en estudio

1.8. Anlisis crtico de la situacin actual

La falta de seguridad implementada en cada uno de los servidores, hace que la empresa pierda prestigio y presencia en el mercado, ya que los clientes/usuarios quedan disconformes con el servicio prestado, el anlisis crtico se vera reflejado a fondo en la toma de requerimientos y la auditoria al sistema, donde saldrn a flote falencias e inconvenientes en el sistema actual.

1.9. Alternativas de solucin y propuesta

Como solucin a los inconvenientes de seguridad que a simple vista de presencian en el sistema, se implementara una serie de herramientas que servirn

11

para mejorar notablemente la seguridad y llevar a cabo un sistema informtico seguro, tomando como referencia el costo vs la utilidad o eficiencia de cada herramienta, se presentan como candidatas a ser estudiadas ya que es un sistema basado en Linux herramientas del tipo software libre con licencia GNU GLP. Esta decisin se pretende llevar a cabo debido a que la empresa no cuenta con fondos para desembolsar una cantidad de dinero en herramientas de seguridad y en la capacitacin de estas mismas eleva aun ms el costo, por tal razn se decidi por aplicaciones de licencia libre ya que su costo es cero y existe gran material de apoyo as como comunidades abiertas las cuales prestan ayuda a las personas que las utilizan, cabe destacar que el nivel de estas herramientas no tiene nada que enviar a las de pago ya que su utilidad y eficiencia en algunos mbitos de la seguridad satisfacen y cumplen su labor.

1.10.

Nuevo modelo de la alternativa

12

2.

Captulo 2: Especificacin de Requerimientos

13

Introduccin

En este captulo se definir quien es el cliente y el usuario, as como tambin la(s) necesidades del rea en estudio

La necesidad parte por proteger los archivos, que corresponden a las pginas web, bases de datos y correos electrnicos de un equipo que llamaremos servidor, debido al amplio manejo de archivos que maneja la empresa se debe seguridad a sus clientes, ya que un mal servicio ofrecido genera desconfianza y la no aceptacin del servicio ofrecido por tal.

Luego de haber obtenido los requerimientos realizados a travs de la auditoria del sistema y de la entrevista con el encargado del departamento de soporte, se proceder a identificar los objetivos generales y los especficos as como tambin los usuarios que gozaran de este conjunto de herramientas a implementar para

aumentar la seguridad en el servidor.

14

2.1. Nombre del Proyecto

Implementacin de Seguridad y Creacin de Protocolos para un sistema de Webhosting

2.2. Objetivos del Proyecto

Implementar un bastin en el sistema de webhosting para proteger la informacin mediante un aporte ingenieril, adems de la creacin de protocolos para el mismo sistema. 2.2.1. Objetivos Generales

Analizar, generar e implementar un sistema de deteccin temprana de individuos que intentan acceder y tomar el control del servidor de servicios, por lo tanto el servidor tendr un conjunto de aplicaciones actualizadas a los requerimientos necesarios de hoy respecto a seguridad de la informacin, con lo que se pretende frenar los ataques y posibles vulnerabilidades en el servidor.

Este objetivo se pretende llevar a cabo mediante una solucin inteligente y de bajo costo, ocupando herramientas de software libre quedando a disposicin de todas las personas la opcin de protegerse mediante ciertos eventos informticos.

Por lo cual, es posible hacer una lista de los siguientes objetivos generales:

15

Identificar las fallas de Seguridad relacionadas en el sistema de prestacin de servicios referente al Hosting, que comprende archivos, correos, bases de datos, DNS, entre otros. Determinar los requerimientos necesarios para implementar las aplicaciones donde se chequearan las dependencias necesarias para cada aplicacin que se quiera implementar en el sistema. Analizar y buscar la mejor configuracin disponible para estos servicios, obteniendo un resultado ptimo, donde adems de pretender implementar seguridad se aplicara una mejora de servicios al implementar los servicios de proteccin.

2.2.2. Objetivos Especficos

Para implementar

un sistema de deteccin de intrusos, las actividades

necesarias para este proyecto son:

Verificar que recursos se deben proteger. Control de accesos a los recursos. Estudio del sistema de registros en los servidores. Amenazas y Vulnerabilidades en el sistema. Amenazas y Vulnerabilidades en el cliente. Estudio de las polticas de seguridad actuales. Generar nuevas polticas de seguridad para complementar las actuales. Reacciones manuales y automticas ante eventos de seguridad. Instalacin y configuracin de las aplicaciones de Seguridad para su trabajo en conjunto.

16

Generar reportes automticos de avisos de detecciones para la realizacin de auditoras previas.

2.3. Usuarios del Sistema

Primero que nada, se separara el cliente del usuario, ya que para este proyecto, nuestro cliente ser el Jefe y Encargado del departamento de soporte de la empresa y los usuarios ser todo personaje que trabaje entregando soporte en la empresa, ya que ocuparan las herramientas de forma directa brindando un mejor servicio, por lo tanto es posible determinar qu: 2.3.1. Los Usuarios Directos Ser el personal que brinde y entregue el servicio de soporte para los clientes de la empresa.

2.3.2. Los Usuarios Indirectos: Sern todas las personas llamadas clientes de la empresa las cuales gozaran de sus archivos mejor protegidos y la estabilidad de los servicios.

2.4. Metodologa del plan de trabajo

Etapas de ejecucin de los objetivos especficos:

Definir los alcances y lmites del proyecto de titulo.

Investigar sobre herramientas de seguridad.

17

Averiguar limitaciones legales de las herramientas.

Aplicar un sistema de alertas en caso de emergencia.

Probar e implementar las herramientas.

Explicar y detallar como instalar las herramientas

2.5. Toma de Requerimientos y Auditoria del sistema

Para empezar a analizar la situacin actual de la problemtica de Seguridad, se realizara una toma de requerimientos en base a una entrevista con el Encargado del Departamento de Soporte Tcnico para determinar la necesidad puntual y de cmo se encuentra el sistema actualmente y que hace falta. Adems se pretende auditar el sistema encontrando falencias que puedan aportar aun ms en la toma de requerimientos para la implementacin de un sistema de seguridad en el sistema actual. 2.5.1. Toma de Requerimientos mediante Entrevista

La entrevista se realizado escrita, la cual fue enviada por correo electrnico y puede ser vista en el anexo 9.

18

2.5.2. Auditoria del sistema

Actualmente los servidores se encuentran corriendo con el mnimo de seguridad, tal como vienen por defecto. En algunos solo se ha instalado la aplicacin APF+BFD para bloquear las direcciones ips que intenten acceder al sistema a travs de cualquier mtodo con muchos intentos fallidos (ms de 5 intentos fallidos se cuenta como ataque fuerza bruta).

Como no se presenta mayor seguridad, los procesos y demonios presentan cadas en el sistema por el excesivo uso tanto de memoria ram como de cpu por causa del mal uso de los clientes y terceras personas, por lo que se realizara un estudio del sistema a continuacin:

2.5.2.1.

Anlisis de Logs

Se proceder a instalar la aplicacin Logwatch en un servidor (host3 como ejemplo), para recopilar y auditar los registros(logs) del sistema que son: exim_mainlog, exim_paniclog, exim_rejectlog, lastlog, maillog, messages,

rkhunter.log, secure, apf_log, chkserv.log, clam-update.log. De los anteriores obtenemos las siguientes alertas a tomar en consideracin (toma de un da al azar (10-mayo-2011): BFD: alerta de ban (bloqueo) 4 IPs por accesos no validos al sistema. Clamav: alerta de actualizacin de su base de datos. Courier mail: Logins: 39986 veces. Cron: todas las tareas programadas ejecutadas al da del evento. Alertas de kernel: 170 Time(s): ip_conntrack: table full, dropping packet.

19

3 Alertas Bind: client xxx.xxx.xxx.xxx error sending response: host unreachable: 1 Time(s) Conecciones pop fallidas 934 de 35851

2.5.2.2.

Anlisis de Permisos

Problema ocurrente, es el uso de permisos no permitidos a los usuarios, generalmente personas sin conocimientos adquieren los servicios en bsqueda de una plataforma para mostrarse en internet, como es una pgina web. Al momento de realizar la instalacin algunas carpetas y archivos quedan con permisos 0777 o es el mismo usuario que asigna estos permisos sin saber el riesgo que se corre, como riesgos, se puede tener presente que una persona externa intentara hacer mal uso realizando las siguientes prcticas: Subir phpshell al Hosting del cliente, para hacerse dueo del espacio y con esto tomar el control de la cuenta. Subir Bots-spammers, donde se realizaran envos masivos de publicidad. Subir pagina web para demostrar el logro de haber encontrado una vulnerabilidad al resto de los internautas. Subir y cambiar archivos del cliente, tcnica usual que consiste en cambiar todos los archivos llamados index.* en el directorio del cliente, con el cual se pierde la pagina inicial del sitio. Subir exploits a la cuenta y utilizarlos dentro de esta para obtener permisos de root en el servidor. Crear Cronjobs en la cuenta para ejecutar un exploit cada cierto tiempo o simplemente realizar carga en el CPU del servidor para botarlo.

20

Estas actividades maliciosas son las ms conocidas referente al Hosting y espacio compartido de servidores.

2.5.2.3.

Anlisis de Seguridad de Contraseas

El uso de servicios del Hosting trae asociado cuentas, las cuales los usuarios pueden acceder a los distintos servicios, cada cuenta trae consigo por seguridad una contrasea asociada para restringir el acceso al sistema, por lo cual solo las personas que posean el usuario y la contrasea pueden acceder a los servicios del sistema, el inconveniente generado por este sistema es que al usuario se le da la posibilidad de cambiar la contrasea inicial entregada por el sistema( contrasea alfanumrica) por una contrasea que el usuario encuentre fcil de recordar, como: Una contrasea basada solo en nmeros, catalogada fcil utilizando un diccionario numrico con un ataque de fuerza bruta. Una contrasea basada en palabras del diccionario comn, como por ejemplo casa, perro, etc. Una contrasea basada en fechas, festividades, celebraciones, telfonos, entregan fcil acceso a conocidos que quisieran tener acceso privilegiado a los datos (aqu entra en juego la ingeniera social).

2.5.2.4.

Anlisis de Aplicaciones

La siguiente vulnerabilidad encontrada es el uso de aplicaciones y/o servicios sin actualizar o con versiones antiguas, con la cual se facilita el acceso a personas ajenas al sistema para poder tomar atribuciones de sper usuario y realizar malas prcticas en el servidor ocupando un bug. Dentro de estas aplicaciones van la versin del Sistema Operativo del mismo servidor, apache, mysql, exim entre otros

21

demonios que corren al servicio de los usuarios, aunque segn histricos del servidor, los accesos no autorizados por usuarios intrusos al sistema buscan y se favorecen de fallas de seguridad o bugs en los sistemas de soluciones informticas, como por ejemplo: Blogs (word press, joomla, nucleus, etc). Manejadores de Contenido (drupal, geeklog, etc.). Foros (phpbb). E-commerce (oscommerce, cubecart, zencart). Galeras de imgenes (coppermine photogallery, 4images gallery). Gestin de cursos (moodle).

Se destacaran Wordpress, Joomla, Moodle y phpbb de los anteriores, por su uso global, es fcil encontrar agujeros de seguridad en ellos y vulnerarlos, la instalacin y el uso e instalacin de estos gestores es rpida y fcil en un ambiente Hosting cualquiera, la materia difcil es hacerlos robustos y seguros.

Otra de las vulnerabilidades, aunque escapan del servidor, es el uso de programas en el computador de los usuarios-clientes, con el que interactan con: El servicio de correos, como por ejemplo: Microsoft Outlook 2003, 2007 y su versin Express, Mozilla Thunderbird, Windows Livemail los ms conocidos. El servicio ftp, como por ejemplo winscp, filezilla. El servicio web, como Internet Explorer, Mozilla firefox entre los ms conocidos.

22

El problema yace cuando el usuario guarda sus contraseas y su terminal se infecta con algn troyano o virus, que captura los datos y son obtenidos por intrusos que terminaran por acceder al sistema vulnerado por tal accin.

2.5.2.5.

Anlisis de la Base de Datos

Cada servidor cuenta en s mismo con el servicio de bases de datos php con mysql y postgres, trae consigo una aplicacin en cpanel para trabajar con mysql que es el phpmyadmin y para postgres trae una aplicacin llamada phppgadmin. Estas aplicaciones corren dentro del mismo servidor y es posible tener acceso solo del mismo servidor en s, o sea no es posible acceder desde una ubicacin particular para editar la base de datos, como ejemplo es imposible ocupar un programa gestor de bases de datos como es el navicat para mysql, ya que los puertos estn cerrados y no acepta conecciones fuera de la red, solo locales. 2.5.2.6. Anlisis del servidor de correo

Los correos trabajan con Courier o Dovecot, dependiendo de algunos casos y solicitudes de algunos clientes, las diferencias de estos son: Mail Server Courier Ventajas Servidor tradicional para cpanel con imap y pop3 Extremadamente fiable Dovecot Bajo consumo de memoria Altamente configurable IMAP con mejor rendimiento El buzn de correo basura, no es automticamente borrado su Desventajas Mayor consumo de memoria

23

Apoyo

de

Fastmail

para

contenido.

Blackberrys

Se recomienda el segundo, para servidores con memoria limitada o restringida. Cabe destacar que a menos el servidor de correo se encuentre desactualizado no existirn problemas de seguridad.

2.5.2.7.

Anlisis del servidor de nombres

El servidor de nombres puede trabajar con Bind o con NSD, los cuales sus diferencias son:

Name server BIND

Ventajas Los archivos de conf. de zonas se pueden editar manualmente. Extremadamente configurable. Proporciona un servidor de nombres cache. Extremadamente archivos de zona. tolerante

Desventajas Ocupa ms memoria

que su competidor.

con errores de sintaxis en los

NSD

Muy

bajo

consumo

de

La

conf.

se

genera

memoria.

automticamente.

24

Extremadamente ligero. No necesita configuracin

No solo

proporciona

un

Nameserver sirven

cache, zonas un

adicional necesaria.

(requiere

Nameserver externo). Es necesario reiniciar cada vez que las zonas sean alteradas. Limita a 512 las

direcciones ip.

Los servidores de nombres se encuentran protegidos y nunca se han visto afectados por problemas de ataques ni vulnerabilidades, cabe destacar que siempre se mantienen con la ltima versin estable presente en cpanel. Los problemas que se tiene son externos a la seguridad del servidor de nombres, como que los usuarios escriban de mala forma o con datos faltantes sus DNS entregados en el correo de activacin por la empresa en nic.cl al momento de registrar su nombre de dominio o en alguna entidad de la ICANN.

2.5.2.8.

Anlisis del Servidor Web

Las vulnerabilidades del servidor web pueden ser las siguientes: DDOS, que es cuando se encuentra una vulnerabilidad en un sistema web y este es explotado para que realice un excesivo consumo de memoria, consumiendo la memoria ram totalmente del servidor, botando los servicios de otra reas. Tambin son conocidas las peticiones time out que dejan en tiempo de espera, creando una cola enorme de procesos aumentando los procesos en ram y en la cpu, es muy parecido al problema anterior pero se puede manejar con la configuracin del apache.

25

2.5.3. Que recursos proteger, creacin de la matriz de criticidades

Luego del estudio de las vulnerabilidades, se requiere de la etapa de generacin de criticidades en el sistema, por lo que se generara una matriz por servicios.

Servicio

Criticida d

Periodo Critico(da) noche

Parada Max. Plataforma Tolerada 5 horas 1 Hora CentOS CentOS

Usuarios

FTP

Baja

Clientes Clientes

Bases de Media - Todo el da Datos Correos Alta Alta Maana Tarde DNS Media - Todo el da Alta Apache Ssh Alta Alta Todo el da Maana Tarde

y 30 minutos

CentOS

Clientes

1 hora

CentOS

Clientes

30 minutos y 5 minutos

CentOS CentOS

Clientes Personal Soporte

Cabe destacar que todos los servicios son importantes, ya que gran parte de estos dependen entre si, como lo es el servicio de DNS, ya que si este cae, el usuario final no podr acceder a las cuentas de correos y/o sus web, Si cae el sistema de bases de datos no se podrn ver algunas pginas que trabajen con este

26

servicio (como son las paginas creadas en joomla, Wordpress, drupal, etc.), con excepcin del servicio ftp. No obstante los servicios de Correos y Apache podramos catalogarlos como dependientes de otros, pero a su vez al tener una cada no afectan a otros servicios.

2.6. Planificacin y Carta Gantt del proyecto

27

3.

Captulo 3: Aporte Ingenieril

28

Introduccin

Con el estudio del rea y la solucin se proceder a aplicar un aporte ingenieril a la empresa, adems que dependiendo de cada caso se investigara la herramienta precisa para medir su eficiencia.

29

3.1. Aporte Ingenieril

En esta etapa, se proceder en la bsqueda e investigacin de herramientas para implementar una seguridad razonable en los servidores, se tomaran en cuenta los registros y eventos producidos en cada servidor auditado, tomando la recopilacin del estudio del sistema actual y la toma de requerimientos segn el cliente, as tambin se tomara en cuenta los scripts y/o herramientas que ms se implementan en servidores Linux y el alojamiento compartido.

De las siguientes herramientas se vera su comportamiento in-situ en el sistema y de qu manera ayudara en el sistema actual, si los resultados no satisfacen, se vera la opcin de complementar con otra herramienta o simplemente cambiarla.

Cabe destacar que como principio de este proyecto se tomo el principio que todas las aplicaciones implementadas son liberadas bajo la licencia GNU GPL y como tales son de libre uso y redistribucin de acuerdo con ella. (Extracto de http://es.wikipedia.org/wiki/GNU_General_Public_License)La

Licencia Pblica General de GNU o ms conocida por su nombre en ingls GNU General Public License o simplemente sus siglas del ingls GNU GPL, es una licencia creada por la Free Software Foundation en 1989 (la primera versin), y est orientada principalmente a proteger la libre distribucin, modificacin y uso de software. Su propsito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiacin que restrinjan esas libertades a los usuarios. Se proceder en bsqueda de herramientas que solucionen problemas actuales en el sistema (bsqueda reactiva), luego en herramientas que fomenten la

30

seguridad y ayuden en la recopilacin de datos e informacin para tomar medidas precautorias (bsqueda proactiva) as como envos de informacin al administrador del sistema a asegurar.

Para la inclusin de nuevas herramientas se presentara un formulario el cual debe tener cierta informacin como requisitos y permisos que se solicitaran al encargado y/o supervisor de los servidores para proceder a evaluar y luego instalar estas herramientas. El formulario tipo ser as (Ver Anexo 1, presente en el capitulo anexos)

As mismo en la bsqueda de posibles bugs o fallas de seguridad, personal de soporte estar suscrito a Newsletter o Boletines, foros de informacin o listas de correos donde da a da salen a la luz fallas de seguridad y vulnerabilidades as como tambin parches y modificaciones en el sistema necesarios para cubrir la brecha expuesta en el sistema.

Algunos boletines, foros y listas de correos que se recomiendan a seguir y que sern suscritos por el personal de soporte sern:

Informativos seguridad CentOS: http://lists.centos.org/mailman/listinfo http://www.centos.org/modules/newbb

Informativos seguridad Linux http://www.segu-info.com.ar/foro http://foro.elhacker.net/index.php http://www.securityfocus.com

31

http://blogofsysadmins.com

Informativos seguridad whm http://forums.cpanel.net http://www.cpanel.net/mailing-list.html

Informativos seguridad phpmyadmin http://www.phpmyadmin.net/home_page/support.php

Informativos seguridad CMS http://joomlaspanish.org/foros http://www.wpsecuritylock.com/blog

Otros de actualidad e informtica http://www.dataprotectioncenter.com http://blog.dynamoo.com http://www.creattiva.cl/hosting http://wiki.centos.org

32

3.2. Bsqueda de herramientas para frenar y solucionar problemas actuales (bsqueda reactiva)

3.2.1. Bsqueda de registros en el servidor

(Extracto de http://www.rediario.es/logwatch) Logwatch es un servicio de monitorizacin y deteccin de intrusiones basado en el anlisis de logs. Con una frecuencia determinada analiza los logs del sistema y realiza un reporte que es enviado de inmediato al administrador.

Bsicamente, esta aplicacin Logwatch ayuda en la lectura de la gran cantidad de logs que son generados por los procesos del servidor, aunque es posible consultar peridicamente cada registro, la tarea consume bastante tiempo y no siempre ayuda a identificar los problemas que ocurren. Esta es una herramienta de corre bajo cualquier distribucin de Linux, de licencia libre, adems permite personalizar el sistema de anlisis de registros por lo cual su lectura ser mucho ms amena.

El formulario de instalacin para esta aplicacin se encuentra en el anexo dos. La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro.

3.2.1.1.

Evaluacin de la aplicacin

El aporte a los procesos de gestin de registros por soporte fue valorada, ya que gestiona de manera rpida, ordenada y efectiva un conjunto de registros y

33

reportes en un solo archivo el cual es enviado por correo electrnico y almacenado en el servidor segn la configuracin dada, el cual se puede imprimir y tener almacenado de forma ordenada para llevar un registro de los cambios y/o estados en que se puede encontrar de un da a otro o de una semana a otra cada servidor, se proceder a instalar en todos los otros servidores, debido al gran aporte que genero la aplicacin y al poco consumo de recursos que genero al enviar los reportes.

3.2.2. Frenar una denegacin de servicio

Como introduccin a un ataque de denegacin es posible saber que: (Extracto de http://es.wikipedia.org/wiki/Ataque_de_denegacion_de_servicio) En seguridad informtica, un ataque de denegacin de servicio, tambin llamado ataque DOS (de las siglas en ingls Denial of Service), es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legtimos. Normalmente provoca la prdida de la conectividad de la red por el consumo del ancho de banda de la red de la vctima o sobrecarga de los recursos computacionales del sistema de la vctima.

Se genera mediante la saturacin de los puertos con flujo de informacin, haciendo que el servidor se sobrecargue y no pueda seguir prestando servicios, por eso se le dice "denegacin", pues hace que el servidor no d abasto a la cantidad de usuarios. Esta tcnica es usada por los llamados Crackers para dejar fuera de servicio a servidores objetivo.

Una ampliacin del ataque Dos es el llamado ataque distribuido de denegacin de servicio, tambin llamado ataque DDos (de las siglas en ingls Distributed Denial of Service) el cual lleva a cabo generando un gran flujo de informacin desde varios puntos de conexin.

34

La forma ms comn de realizar un DDos es a travs de una botnet, siendo esta tcnica el cibera taque ms usual y eficaz.

En ocasiones, esta herramienta ha sido utilizada como un notable mtodo para comprobar la capacidad de trfico que un ordenador puede soportar sin volverse inestable y perjudicar los servicios que desempea. Un administrador de redes puede as conocer la capacidad real de cada mquina.

Bien es sabido que es imposible parar un DDos bien formado, si es posible detener un Dos o un DDos pequeo, balanceando por ejemplo las cargas.

Una de las herramientas destacadas para frenar este ataque es el DDos Deflate que naci gracias a que un trabajador de la empresa Medialayer. Esta empresa sufra continuos ataques de denegacin de servicio. Para atajar ese problema, se pens en crear una solucin Open Source para mitigarlos.

Ese da naci DDos Deflate, un script en Bash bastante efectivo para mitigar ataques de denegacin de servicio.

El formulario de instalacin para esta aplicacin se encuentra en el anexo tres. La instalacin de DDos Deflate es bastante sencilla, as como tambin su configuracin. Esta y su configuracin se encuentra en el captulo cuatro.

35

3.2.2.1.

Evaluacin de la aplicacin:

La aplicacin instalada cumple con los requisitos y la funcionalidad requerida en el objetivo fijado, ya que segn pruebas obtenidas y alertas recibidas en correo del personal de soporte es posible detectar y bloquear de manera automtica las ips que se conectan de manera recursiva al servidor intentando bloquear ciertos servicios como lo son correos (puerto imap y pop) as como tambin peticiones web (puerto http). La alta tasa de falsos positivos hacen que esta aplicacin sea tal vez excesiva para su uso, por lo cual se proceder a editar nuevamente el archivo de configuracin de manera de regular la cantidad de conecciones de una direccin ip con el servidor.

3.2.3. Detener de manera automtica y eficaz a intrusos

En la bsqueda de una herramienta gil y que ocupe pocos recursos, en comparacin a otras en la red, se encuentra una herramienta de fcil uso, manejable solo por consola (ssh), gratuita y que ayude a detectar y frenar ataques de fuerza bruta, as mismo dar alerta a travs de un correo electrnico los intentos y movimientos realizados por extraos as mismo los detalles.

Descripcin de APF (extrada de http://www.rfxn.com/projects/advancedpolicy-firewall) Poltica de firewall avanzadas (APF) es un sistema de seguridad basado en iptables (netfilter) diseado en torno a las necesidades esenciales de los servidores Linux hoy en da.

El formulario de instalacin para esta aplicacin se encuentra en el anexo cuatro. La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro.

36

3.2.3.1.

Evaluacin de la aplicacin

Potente y eficaz aplicacin, es posible facilitarle una ip para que deniegue el acceso a nuestro sistema, as como tambin blanquear una ip para que tenga acceso libre y sin bloqueos a l, es de manera necesaria el complemento que se instalar de manera prxima para que su funcionalidad aumente.

Luego de configurar la aplicacin a nuestros propsitos, es necesario reiniciarla para que los cambios empiecen a trabajar en el sistema. Luego se procede a instalar el complemento BFD que lo har una herramienta ms autnoma para actual frente a los futuros ataques.

Descripcin de BFD (extrada de http://www.rfxn.com/projects/brute-forcedetection) BFD es un script Shell modular para el anlisis de registros de aplicacin y comprobacin de errores de autenticacin. Para ello, utiliza un sistema de reglas, donde las conexiones a las aplicaciones se almacenan, incluyendo expresiones regulares para cada formato de autenticacin nica. Las expresiones regulares son analizadas en base a los registros, donde se obtienen alertas de autentificacin y son enviadas a la aplicacin APF.

El formulario de instalacin para esta aplicacin se encuentra en el anexo cinco. La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro. 3.2.3.2. Evaluacin de la aplicacin

Instalado el complemento es posible detectar que APF + BFD es el punto de partida para la seguridad del servidor, obteniendo un piso y base firme para seguir implementando un sistema de seguridad completo, ya que de forma automtica es

37

posible detectar y filtrar accesos no validos a su vez de bloquear estos, generando una alerta que es enviada por correo electrnico al personal de Soporte con los datos necesarios para tomar una decisin en forma oportuna.

3.3. Bsqueda de herramientas para complementar y obtener informacin (bsqueda proactiva)

Para complementar las herramientas se ha procedido a ejecutar ciertos comandos para regular los permisos y propietario de los usuarios, con el fin de prevenir problemas de accesos no deseados a travs del servidor, con esto se pretende prevenir la instalacin de shells no permitidas en el servidor y tambin de exploits.

Debido a la poca experiencia que poseen algunos usuarios, se ha buscado la forma que de forma automtica, mediante un simple comando corregir los permisos en carpetas 0777 as como los archivos 0777, que son un grave problema y brecha en cada cuenta para la carga de exploits.

Tambin es posible rectificar los permisos de los clientes de cada uno de sus archivos, ya que hay muchos de estos que suben archivos de mala forma/manera y estos quedan seteados como propietario nobody para lo cual a travs de la lnea de comando por ssh se proceder a cambiar.

Cambiar permisos de las carpetas de forma global en el sistema: Find /home/*/public_html/ -type d perm 0777 exec chmod 755 {} \;

Cambiar permisos de los ficheros de forma global en el sistema: Find /home/*/public_html/ -type f perm 0777 exec chmod 644 {} \;

38

Para corregir los permisos de los ficheros es necesario saber que cuenta se rectificara, pero primero es necesario chequear estos de la siguiente forma: Find /home/$user/public_html/ -type f name *.* user nobody

Si existen detecciones, se procede a rectificar de la siguiente manera desde la raz de cada cuenta: chown R $user:$user public_html/

Luego de que se cambian los permisos de todos los archivos de forma recursiva, se debe corregir para que pueda visualizarse de forma correcta en un navegador de la siguiente forma chown $user:nobody public_html

3.3.1. Como detectar malware en el sistema con LMD (Linux malware detect)

Este es un software gratuito, desarrollado con licencia

open source.

Bsicamente es un detector de malware de aplicaciones web creado para un sistema CentOS con WHM (Cpanel), contiene una base de datos la cual es actualizable a travs de un comando en ssh, analiza y desinfecta de manera rpida, tambin puede trabajar en conjunto con el antivirus para Linux ClamAV ocupando el motor de este para realizar un anlisis ms exhaustivo en el sistema y de mejor performance.

Este software es posible utilizarlo de 2 maneras, permite realizar escaneos manuales o dejarlo de forma monitor, siendo el ltimo posible manejar reportes enviados a travs de correos electrnicos para tener informes del sistema.

El formulario de instalacin para esta aplicacin se encuentra en el anexo seis.

39

La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro.

3.3.1.1.

Evaluacin de la aplicacin

Excelente aplicacin, de poco consumo de memoria y procesador al momento de la bsqueda de malware en el sistema, se integra de excelente manera con el antivirus clamAV (en caso que este instalado en el sistema) ya que usa el motor de bsqueda de este, adems de su base de datos, detecta de manera eficaz archivos maliciosos en la carpeta que se elija al momento de configurar la aplicacin. As como detecta archivos maliciosos detecta tambin falsos positivos pero en menor cantidad. Al terminar un anlisis enva un informe del anlisis al correo registrado en la configuracin de la aplicacin.

3.3.2. Como detectar malware y rootkits en el sistema con Rkhunter

Segn la definicin (Extracto de http://es.wikipedia.org/wiki/Rootkit) Un rootkit es una herramienta o un grupo de ellas, que tiene como finalidad esconderse a s misma y esconder otros programas, procesos, archivos, directorios, claves de registro, y puertos que permiten al intruso mantener el acceso a un sistema para remotamente comandar acciones o extraer informacin sensible.

Segn wikipedia (Extracto de http://es.wikipedia.org/wiki/Rkhunter) esta es una herramienta de Unix que detecta los rootkits, los backdoors y los exploit locales mediante la comparacin de los hashes MD5 de ficheros importantes con su firma correcta en una base de datos en lnea, buscando los directorios por defecto (de rootkits), los permisos incorrectos, los archivos ocultos, las cadenas sospechosas en los mdulos del kernel, y las pruebas especiales para Linux y FreeBSD.

40

Debido a la gran cantidad de exploits que se pueden almacenar en los directorios de los usuarios del servidor, se pretende evaluar esta aplicacin de la cual se han observados muy buenos comentarios a travs de la red, ya que su cdigo fuente ha sido liberado el ao 2006 por el cual 8 personas lo han ido mejorando y administrando para llegar a ser lo que es hoy un cazador de rootkit (Rootkit hunter).

Esta aplicacin adems verifica el sistema buscando archivos maliciosos por:

Comparacin de hashes MD5 Busca por archivos comunes usados por rootkits Permisos equivocados para binarios Busca por cadenas de texto sospechosas en mdulos LKM (Loadable Kernel Modules) y KLD (Kernel Loadable Device)

Busca por archivos ocultos Opciones de escaneo dentro de archivos binarios y planos

Este scripts o aplicacin es bastante completo, ya que as como sus desarrolladores se preocupan de actualizar las versiones(es posible actualizar como un antivirus en Windows esta herramienta con un simple comando) los administradores cuentan con una lista de correos con las cuales compartir conocimientos y dudas sobre este. ( http://sourceforge.net/mailarchive/forum.php? forum_name=rkhunter-users)

El formulario de instalacin para esta aplicacin se encuentra en el anexo siete. La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro.

41

3.3.2.1.

Evaluacin de la herramienta

A pesar de ser una herramienta que no cuenta con interfaz grafica, su interfaz a travs de lnea de comando es bastante simple y fcil de manejar, adems de rpida, el consumo de recursos tanto como memoria y procesador es realmente mnimo, muy ligera y eficaz, cumple el objetivo fijado antes de instalar la herramienta, adems es posible actualizarla con solo un comando a travs de consola, adems de analizar ficheros, busca posibles puertos que puedan estar comprometidos en el sistema. Esta herramienta tambin enva reportes por correo, los cuales deben ser asignados como un cron diario o semanal (segn sea el criterio del administrador), debido a los objetivos cumplidos se pretende instalar en todos los servidores esta aplicacin.

3.3.3. Suite de Seguridad en Linux

La Suite de Seguridad CFS & LFD es una completa solucin de seguridad, que integra un script cortafuego basado en iptables, un proceso de control de inicio de sesin de autentificacin, un panel de control con interfaz de configuracin en el gestor WHM, aunque tambin es posible administrarlo a travs de lnea de comando por ssh, adems de detectar la configuracin en nuestro sistema(Web Host Manager) y detectar las posibles vulnerabilidades en el sistema basadas en la configuracin

en el servidor en Firewall, Servidor, ssh/telnet, mail, apache, php, whm y servicios del servidor.

El formulario de instalacin para esta aplicacin se encuentra en el anexo ocho. La instalacin y configuracin de esta herramienta se encuentra en el captulo cuatro.

42

3.3.3.1.

Evaluacin de la aplicacin

Completa suite de seguridad, ya que mezcla la configuracin del servidor y da puntos a cada opcin asegurada, segn parmetros configurados en el sistema con un demonio de accesos fallidos, que bloquea las direcciones ips que son detectadas realizando intentos de acceso mediante fuerza bruta, as mismo genera informes que son enviados por correos segn la configuracin que se indique. Esta aplicacin genera informes con grficos de los cuales se puede obtener y extraer valiosa informacin para tomar medidas de seguridad e implementar nuevas reglas frente casos de urgencia.

43

4.

Captulo 4: Implementacin de herramientas

44

Introduccin

Se proceder a implementar las herramientas elegidas en el capitulo anterior, explicando como se hizo y los pasos a seguir, generando un casi tutorial de cada instalacin.

45

4.1. Implementacin de herramientas para solucionar vulnerabilidades.

Este captulo se basa en la instalacin, implementacin y configuracin de las herramientas elegidas en nuestro aporte ingenieril, en donde se instalaran paso a paso las herramientas para luego implementar una configuracin optima a nuestros servicios, que servir mejorar el sistema informtico ofrecido por la empresa.

4.1.1. Logwatch

Instalacin de la aplicacin:

Gracias a gestores como yum y rpm, es posible instalar Logwatch de manera rpida, limpia y eficaz, destinando tiempo completo para configurar nuestra herramienta, los pasos a seguir para la instalacin son:

1. A travs de lnea de comando, ejecutamos lo siguiente: yum install logwatch

46

2. Muestra el paquete Logwatch con la ltima versin hasta el momento, pregunta si es sta la que se desea descargar, se acepta la peticin

47

3. Se procede de forma automtica a instalar la aplicacin Logwatch. Ahora solo resta configurar el archivo Logwatch.conf situado en: /etc/log.d/Logwatch.conf

Configuracin de la aplicacin:

La configuracin de Logwatch para su ptimo funcionamiento ser ms o menos as, teniendo en cuenta que: Yes = True = On = 1 No = False = Off = 0

# Directorio por defecto de registros. LogDir = /var/log # Se puede reemplazar el directorio temporal por defecto (/tmp) aqu TmpDir = /tmp # Enviar reporte a la siguiente direccin MailTo = [email protected] # Si selecciona yes el reporte ser enviado a la salida stdout y luego enviado por correo. Print = No # Si se establece, los resultados sern guardados en la siguiente ruta, en lugar de enviados #por correo o mostrados #Save = /tmp/logwatch # Usar todos los archivos de registros? Incluidos los registros antiguos? Range = Today

48

# El valor por defecto del nivel de detalle del informe, Bajo=0, Medio=5, Alto=10 Detail = high # La opcin de servicio espera un nombre de un filtro

# (En /etc/log.d/scripts/servicios/*) o "All". Service = All # Algunos sistemas tienen diferentes ubicaciones para enviar correos mailer = /bin/mail

Luego de guardar la configuracin, se deja un proceso cron para su ejecucin diaria, ingresando la siguiente lnea en el archive ubicado en /etc/crontab: 0 6 * * * root /usr/sbin/logwatch

4.1.2. Rkhunter

Instalacin de la aplicacin:

Esta aplicacin se ha procedido a instalar bajando el instalador comprimido en tar.gz desde su pgina de creacin, desde el siguiente link:

http://sourceforge.net/projects/rkhunter/files/rkhunter/1.3.8/rkhunter1.3.8.tar.gz/download. Luego de la descarga se procede a descomprimirlo.

Se procede la instalacin como muestra la siguiente captura de pantalla:

49

Luego de instalar, se procede a actualizar su base de datos de la siguiente manera:

50

Finalmente, con la opcin c realiza un escaneo muy completo en el sistema, el archivo de registro est ubicado en la siguiente ruta /var/log/rkhunter.log por defecto, de la misma forma puede cambiarse el registro con la siguiente lnea de comando: rkhunter -c --sk --logfile /root/archivo.txt

Un escaneo normal (con la opcin c) tendr un final de esta manera, generando un reporte simple pero completo:

51

4.1.3. DDos Deflate

Instalacin del script

En nuestra consola ssh se ingresan las siguientes lneas de comando:

wget http://www.inetbase.com/scripts/ddos/install.sh chmod 0700 install.sh ./install.sh

Configurando DDos Deflate Se editan las rutas para que encajen con la estructura de nuestro sistema: PROGDIR=/usr/local/ddos PROG=/usr/local/ddos/ddos.sh IGNORE_IP_LIST=/usr/local/ddos/ignore.ip.list CRON=/etc/cron.d/ddos.cron APF=/etc/apf/apf IPT=/sbin/iptables

Posteriormente, tendremos que adecuar las opciones restantes segn la naturaleza de la situacin en la que estemos inmersos: FREQ=1 # Frecuencia en minutos en la que el script ser ejecutado NO_OF_CONNECTIONS=50 # Nmero de conexiones para proceder a banear una supuesta IP atacante

52

APF_BAN=1 # 1 indica que DDoS Deflate usara APF para banear, o 0 llama directamente a Iptables BAN_PERIOD=3600 # Tiempo durante el cual el atacante estar baneado. En segundos [email protected] # Direccin a la cual se enviara un correo cuando alguien sea baneado KILL=1 # Con la opcin en 0, los atacantes no sern baneados. 1 est activo por defecto.

Eyectamos el script como un cron de la siguiente manera /usr/local/ddos/ddos.sh c

4.1.4. APF y BDF

4.1.4.1.

Iniciando la instalacin de APF:

1. Se procede desde una consola, a travs del puerto ssh a trabajar, se descarga a travs de wget* el archivo tar.gz de la aplicacin APF:

53

2. Se descomprime el archivo descargado y se procede a la instalacin como a continuacin:

3. Por defecto, APF configura algunos parametros de forma automatica y escucha ciertos puertos mas vulnerables, que es posible editar.

Editar el archivo apf.conf a nuestro proposito:

54

El archivo apf.conf, es el encargado de poseer toda la configuracion de APF, por lo cual se configura de la siguiente manera:(solo se mostrara la variable y su comentario, notas irrelevantes a la configuracion no seran puestas a continuacion)

# [Dev. Mode] Manejar la aplicacin en estado desarrollador DEVM = "0" ##[Main] # Ruta de instalacin del cortafuegos FWPATH = "/etc/apf" # Interfaz de red no de confianza, todo el trfico en la interfaz definida queda #sujeta a las reglas del cortafuegos. Esto se debe a su exposicin a Internet. SI = "venet0" # Interfaz de red de confianza, todo el trfico en la interfaz definida no se vera #afectado por las reglas del firewall. TIF = "" #Puerta de enlace Local direccin MAC, cuando un valor est presente, slo el #trfico de la puerta de enlace local ser permitido. Es muy trivial forjar una #direccin mac y, como tal, esta se presenta como otra capa de verificacin de #rutas. LGATE_MAC = "" # Habilitar el subsistema de red virtual EN_VNET = "0" # Soporte de kernel monoltico. MONOKERN = "0" # [Filtrado de paquetes / Manejo] # Default tipo de servicio (TOS) DEF_TOS = "4" # Cmo manejar el filtrado de paquetes TCP? # RESET (enva un tcp-reset, por defecto de TCP/IP) # DROP (descartar el paquete, el sigilo?) # REJECT (rechazar el paquete)

55

TCP_STOP = "DROP" # Cmo manejar el filtrado de paquetes UDP? # RESET (enva un paquete icmp inalcanzable, TCP/IP por defecto) # DROP (descartar el paquete, el sigilo?) # REJECT (rechazar el paquete) # Prohibir (enve un icmp-anfitrin-prohibido) UDP_STOP = "DROP" # Cmo manejar el filtrado de paquetes de otros? (ICMP, ARP, IGMP) # DROP (descartar el paquete) # REJECT (rechazar el paquete) DSTOP = "DROP" # Establecer un plazo razonable de paquetes/hora relacin a los paquetes ICMP, #superando dicho ratio de flujo de paquetes se traducir en prdida de paquetes. # Pkt/s (paquetes/segundo), Pkt/m (paquetes/minuto) ICMP_LIM = "14 / s" # Usar una rutina de descubrimiento dinmico para analizar y crear reglas #basadas en los servidores de nombres locales definidos en /etc/resolv.conf. RESV_DNS = "0" # Con RESV_DNS habilitado; todo el trfico de nombre de servidor no confiable #puede llenar los registros de trfico. RESV_DNS_DROP = "1" # Participar en Mbone, mas informacin: www-itg.lbl.gov/mbone/ BLK_MCATNET = "0" # Bloquear todas las direcciones IPv4 privadas BLK_PRVNET = "0" # Bloquear todo el espacio de direcciones IPv4 marcado reservado para uso futuro BLK_RESNET = "0" # Este es el nmero mximo de "sesiones" (entradas de seguimiento de #conexiones) que se puede manejar al mismo tiempo por el cortafuegos en la #memoria del kernel. SYSCTL_CONNTRACK = "34576"

56

# Este sistema de control (sysctl) deshabilita algunas opciones TCP para mejorar el #servicio y reducir el abuso del mismo. SYSCTL_TCP = "1" # Funciona para mitigar ataques syn-flood. SYSCTL_SYN = "1" # Proporcionar proteccin contra falsos paquetes ip/arp/redirecciones de ruta SYSCTL_ROUTE = "0" # Registra todo el trfico en busca de intentos de ataque y eventuales #inconvenientes en la red interna. SYSCTL_LOGMARTIANS = "0" # Permitir activar o desactivar el soporte ECN (notificacin explicita de #congestin) SYSCTL_ECN = "0" # Permite activar o desactivar SynCookies SYSCTL_SYNCOOKIES = "1" # Permite cambiar el apoyo Abort_On_Overflow; # esta caracterstica le ayudar a mitigar las inundaciones si un servicio de #escucha es demasiado lento para aceptar nuevas conexiones. Esta opcin es #una alternativa para SynCookies. SYSCTL_OVERFLOW = "0" # Cada de puertos comunes, son los puertos implcitos que no requieren sesin # con las reglas por defecto (drop chains). CDPORTS = "135_139, 111,513,445,1433,1434,1234,1524,3127" ## [Entrada] # Detallar a continuacin los puertos que sern monitoreados y abiertos # Entrada comn de puertos TCP IG_TCP_CPORTS = "20,21,22,25,26,53,80,110,143,443,465,993,995,1433,2082, 2083,2084,2086,2087,2095,2096,3306,6666,7786, 5432" # Entrada comn de puertos UDP IG_UDP_CPORTS = "20,21,26,53,6277" # Entrada comn ICMP IG_ICMP_TYPES = "3,5,11,0,26,30,8"

57

## [Egreso] # Configuracin de servicios aceptados de salida. EGF = "0" # Salida comn de puertos TCP EG_TCP_CPORTS = "21,25,26,80,443,43" # Salida comn de puertos UDP EG_UDP_CPORTS = "20,21,26,53" # Salida comn ICMP EG_ICMP_TYPES = "all" ## [Coincidencia de salida User-ID] # Funcin para limitar los flujos de paquetes salientes a travs del UID # Puertos de salida TCP con UID EG_TCP_UID = "" # Puertos de salida UDP con UID EG_UDP_UID = "" # [Las importaciones] # Configurar las reglas importadas # Ocupar reglas DShield.org USE_DS = "0" DS_URL = "feeds.dshield.org/block.txt" # block.txt (no *://) DS_URL_PROT = "http" # Protocolo para el uso de wget # Importar /etc/apf/ad/ad.rules a la lista de prohibicin generada por antidos USE_AD = "0" # Este es una implementacin de reglas de la confianza (permitir/denegar_hosts), # Que los archivos glob_allow/deny.rules deben ser descargado todos los das. USE_RGT = "0" GA_URL = "yourhost.com/glob_allow.rules" # glob_allow.rules url (no *://) GA_URL_PROT = "http"

58

# Protocolo para su uso con wget GD_URL = "yourhost.com/glob_deny.rules" # glob_deny.rules url (no *://) GD_URL_PROT = "http" # Protocolo para su uso con wget ## [Registros] Registro y ajustes de control # Estado de la ruta de registro IPTLOG = "/var/log/firewall_log" # Registra todo el trfico de entrada LGATE_LOG = "0" # Registra cadenas DROP TCP / UDP (necesario para antidos) DROP_LOG = "1" # Informacin de registro extendida EXLOG = "1" # Eventos mximos registrados en el cortafuego por minutos LRATE = "60" ## [Miscelneos] # Archivo interno de variable CNFINT = "$ FWPATH / / bajo internals.conf" # Importar variable interna del archivo . $ CNFINT

4.1.4.2.

Iniciando instalacin de BFD

1. A travs de ssh, descargamos con wget* la ltima versin del script bfd, desde el sitio rfxnetworks.com.

59

2. Se descomprime el archivo tar.gz y luego ingresamos a la carpeta bfd1.4 y ejecutamos la siguiente lnea de comando ./install.sh

3. Luego de haber instalado BFD, ingresamos al archivo de configuracin de este, para que trabaje a nuestros requerimientos.

Configurar y editar el archivo conf.bfd a nuestro propsito:

# El nmero de eventos de error que una direccin debe tener antes de ser #bloqueada? Se puede anular esta en cada regla en /usr/local/bfd/rules/ TRIG = "10" # Enviar alertas de correo electrnico para todos los eventos EMAIL_ALERTS = "1" # Usuario local o direccin de correo electrnico donde enviar las alertas (mltiples #separados por comas)

60

EMAIL_ADDRESS = "[email protected]" # Asunto en el correo de alertas enviado EMAIL_SUBJECT = "Advertencia de fuerza bruta de $ HOSTNAME" # Comando ejecutable de bloquear mquinas que atacan BAN_COMMAND = "/etc/apf/apf -d $ATTACK_HOST {bfd.$MOD}" # Ruta de instalacin INSTALL_PATH = "/usr/local/bfd" # Ruta de los archivos de regla RULES_PATH = "$INSTALL_PATH/rules" # Ruta de registros de escritura TLOG_PATH = "$INSTALL_PATH/tlog" # Ruta de registros KERNEL_LOG_PATH = "/var/log/messages" # Ruta registro syslog AUTH_LOG_PATH = "/var/log/secure" # Ruta de registro de la aplicacin BFD_LOG_PATH = "/var/log/bfd_log" # Registrar todos los eventos de syslog OUTPUT_SYSLOG = "1" # Ruta de archivo del registro de syslog OUTPUT_SYSLOG_FILE = "$KERNEL_LOG_PATH" # Plantilla del cuerpo del mensaje de correo electrnico EMAIL_TEMPLATE = "$INSTALL_PATH/alert.bfd" # Contiene una lista de direcciones de IPs que se excluyen de las detecciones IGNORE_HOST_FILES = "$INSTALL_PATH/exclude.files" # Agarrar la zona horaria local Time_zone = date +"%z # Agarrar la hora local de unix TIME_UNIX = date +"%s " # Lock ruta del archivo LOCK_FILE = "$INSTALL_PATH/lock.utime"

61

# Tiempo de espera de bloqueo LOCK_FILE_TIMEOUT = "300"

Luego de editar el archivo conf.bfd, se procede a reiniciar el sistema a travs de la siguiente lnea de comando bfd s.

Plantilla de correo de muestra frente a una deteccin y/o ataque al sistema a travs de webmail y cpanel:

62

Plantilla de correo de muestra frente a una deteccin y/o ataque al sistema a travs de ssh:

63

Plantilla de correo de muestra frente a una deteccin y/o ataque al sistema a travs de exim:

64

Contenido del archivo de registros deny_host.rules

65

Contenido del archivo allow_host.rules

66

4.1.5. LMD (Linux malware detect)

Como instalar MLD:

1. Nos situamos en la ruta /usr/local/src y descargamos con wget el siguiente paquete con la siguiente lnea de comando wget

http://www.rfxn.com/downloads/maldetect-current.tar.gz 2. Luego de descomprimir el paquete se procede a instalar con el siguiente comando ./install.sh

3. Luego de instalar, se procede a comprobar que hemos instalado la ltima versin disponible con la lnea de comando maldet --update-ver

67

4. Con la ltima versin disponible ya en el sistema, procedemos a configurar nuestra aplicacin a gusto, segn nuestro propsito el archivo de configuracin que es conf.maldet tendr el siguiente contenido:

Se suprimirn los encabezados y comentarios que no sean de utilidad en la configuracin del archivo.

# [0 = desactivado, 1 = activado] # [Alertas de correo electrnico] # Enviar alerta de correo electrnico email_alert = 1 # La lnea de asunto de alertas de correo electrnico email_subj = "maldet alerta de $ (hostname)" # Las direcciones de destino para alertas de correo electrnico EMAIL_ADDR = "[email protected]"

# [Opciones de cuarentena] # Accin que se llevara a cabo luego de una deteccin (Cuidado Falsos positivos!) # [0 = solo alerta, 1 = mover a cuarentena y alerta] quar_hits = 0 # Tratar de limpiar el malware basado en inyecciones de cadena quar_clean = 1 # Suspender la cuenta a travs de cpanel cuando sea detectado un malwarequar_susp = 0 # ID de usuario mnimo de los que se puede suspender, tener precaucin para no #suspender usuarios del sistema quar_susp_minuid = 500

# [Opciones de escaneado] # La profundidad mxima del escner en la bsqueda

68

maxdepth = 15 # El mnimo en bytes de un archivo que se incluyen en el anlisis minfilesize = 32 # El tamao mximo de un archivo para ser incluido en exploracin maxfilesize = "768k" # La profundidad mxima de bytes que el escner busca en el contenido de los #archivos Hexdepth = 61440 # Usar mtodo FIFO para pasar el contenido del archivo en lugar de por defecto #stdin, para un mejor rendimiento y mayor escaneo de profundidad hex_fifo_scan = 1 # La profundidad mxima de bytes que el escner busca en el contenido de los #archivos ocupando FIFO hex_fifo_depth = 524288 #Asociar con clamAV la aplicacin maldet para mejorar la heurstica de bsqueda clamav_scan = 1

# [ANLISIS ESTADSTICO] # La prueba de longitud de la cadena se utiliza para identificar las amenazas #basadas en la longitud de la cadena ms larga ininterrumpida dentro de un #archivo string_length_scan = "0" string_length = "150000"

# [Opciones de supervisin] # La base de nmero de archivos que pueden ser vistos en una ruta inotify_base_watches = 15360 # El tiempo de retraso en segundos entre que el monitor va a analizar los archivos # y estos se han creado/modificado/movido inotify_stime = 30 # El identificador de usuario mnimos desde donde se empezara el monitoreo

69

inotify_minuid = 500 # Directorio raz desde donde se empezara el anlisis para cada usuario inotify_webdir = public_html # La prioridad que el proceso tendr de ejecucin # [= -19 Prioridad alta, 19 = prioridad baja, por defecto = 10] inotify_nice = 10

Se procede a guardar el archivo de configuracin para luego proceder a realizar prueba. un escaneo manual de

70

El correo como ejemplo del reporte anterior es el siguiente:

Existen distintas formas de escanear el sistema, pero se proceder a dejar la aplicacin de modo monitor para prevenir futuros problemas con la siguiente sentencia en la lnea de comando maldet monitor users, al declarar users se define la ruta o directorio definido en la variable inotify_webdir en el archivo de configuracin. Para ver los eventos(log) de la aplicacin se realiza de la siguiente forma tail f /usr/local/maldetect/event_log

De la alerta enviada por correo, fue posible determinar qu: {HEX}php.cmdshell.cih.210 /home/mercanci/public_html/download/embalajes_interiores_a_pedido.pdf.php {HEX}php.cmdshell.c100.205 : /home/pacific/public_html/ereur.php :

71

Era malware, as mismo en el usuario pacific se encontr una aplicacin pishing para facebook.

4.1.6. Suite de Seguridad CFS & LFD (ConfigServer Security & Firewall)

Instalacin de la Suite

Primero que nada es necesario saber si el script APF est corriendo en el sistema, por lo cual si detectamos su demonio, procederemos a desinstalar este cortafuegos de la siguiente manera (todo esto en lnea de comando ssh):

Esta lnea para el demonio y elimina la carpeta del apf, adems de limpiar iptables, tambin elimina los procesos cron asociados a l.

Luego con wget se descarga el paquete suite y se descomprime para instalarlo.

72

Al terminar la instalacin, deberamos obtener lo siguiente:

Se verifica la instalacin mediante una testing, como a continuacin:

Obteniendo como resultado que CSF debe funcionar en este servidor. El prximo paso es ingresar a WHM en la siguiente ruta Pluggins > ConfigServer Security&Firewall y activar la suite con FIREWALL ENABLE.

Cabe destacar que para una perfecta utilizacin es necesario tener algunos mdulos de iptables activados en el kernel de Linux, que no se encuentran en la

73

versin 4.7 de CentOS, por lo que se sugiere para su optimo uso y tener todas las opciones habilitadas actualizar la versin del kernel de servidor a un CENTOS 5.6.

Configuracin de la suite Existen 5 secciones para la configuracin de la suite en donde se tiene: Server Security Information Upgrade Csf Configserver firewall Lfd Login Failure Daemon Extra

La seccin Upgrade o Actualizar:

: Es simplemente un script que verifica que nuestra suite de seguridad sea la ltima versin y en caso que se encontrase desactualizada, avisa con un alerta al momento de ingresar al panel de administracin.

La seccin Extra:

Es un script que chequea los mdulos necesarios que son requeridos para que csf funcione a la perfeccin. (Es necesario tener en cuenta lo comentado prrafos atrs sobre la versin del kernel).

La seccin Server Security Information:

74

Nos entrega una performance bsica de seguridad, estabilidad y configuracin del servidor, donde es posible determinar brechas de seguridad, como en el siguiente ejemplo: Firewall Check Check whether csf is enabled Check csf is running Check whether csf is in TESTING mode Check csf AUTO_UPDATES option Check whether lfd is enabled Check incoming MySQL port Check csf SMTP_BLOCK option Check csf LF_SCRIPT_ALERT option Check csf LF_SSHD option Check csf LF_FTPD option Status OK OK OK OK OK OK OK OK OK OK Comment

75

Check csf LF_SMTPAUTH option Check csf LF_POP3D option Check csf LF_IMAPD option Check csf LF_HTACCESS option Check csf LF_MODSEC option Check csf LF_CPANEL option Check csf LF_CPANEL_ALERT option Check csf LF_DIRWATCH option Check csf LF_INTEGRITY option Check csf PT_SKIP_HTTP option Check csf PT_ALL_USERS option Check csf SAFECHAINUPDATE option Server Check Check /tmp permissions Check /tmp ownership Check /tmp is mounted as a filesystem

OK OK OK OK OK OK OK OK OK OK OK OK Status OK OK OK Comment

76

Check /tmp is mounted noexec,nosuid Check /etc/cron.daily/logrotate for /tmp noexec

OK

workaround Check /var/tmp permissions Check /var/tmp ownership Check /var/tmp is mounted as a filesystem Check /var/tmp is mounted noexec,nosuid Check /usr/tmp permissions Check /usr/tmp ownership Check /usr/tmp is mounted as a filesystem or is a symlink to /tmp Check /dev/shm is mounted noexec,nosuid Check for DNS recursion restrictions Check for DNS random query source port Check server runlevel Check nobody cron Check Operating System support

OK

OK OK OK OK OK OK

OK

OK OK OK OK OK OK

77

Check perl version Check MySQL version Check MySQL LOAD DATA disallows LOCAL Check SUPERUSER accounts

OK OK OK OK You should

consider using cxs WARNI NG to scan web script and ftp uploads and user accounts for exploits uploaded to the server Check for IPv6 Check for kernel logger SSH/Telnet Check Check SSHv1 is disabled OK OK Status OK You consider Check SSH on non-standard port WARNI NG SSH to should moving a nonport to Comment

Check for cxs

standard [currently:22]

evade basic SSH port scans. Don't

78

forget to open the port in the firewall first! For ultimate SSH security, you should consider Check SSH PasswordAuthentication WARNI NG disabling

PasswordAuthentic ation and only allow access using

PubkeyAuthenticati on Check SSH UseDNS Check telnet port 23 is not in use Check shell limits Check Background Process Killer Mail Check Check root forwarder Check exim for extended logging (log_selector) Check exim weak SSL/TLS Ciphers OK OK OK OK Status OK OK Comment

(tls_require_ciphers) Check for maildir conversion

OK

OK

79

Check

dovecot

weak

SSL/TLS

Ciphers

(ssl_cipher_list) Apache Check Check apache version Check suPHP Check Suexec Check apache for mod_security Check apache for FrontPage Check apache for RLimitCPU Check apache for RLimitMEM Check Apache weak SSL/TLS Ciphers

OK

Status OK OK OK OK OK OK OK

Comment

(SSLCipherSuite) Check apache for TraceEnable Check apache for ServerSignature Check apache for ServerTokens Check apache for FileETag Check mod_userdir protection

OK

OK OK OK OK

WARNI

To prevents users

80

NG

from bandwidth hackers access to

stealing or hiding your

servers, you should check WHM >

Security Center > mod_userdir Tweak PHP Check Check php version (/usr/local/bin/php) Status OK You should modify /usr/local/lib/php.ini and enable_dl = set: Off Comment

This prevents users from loading php

modules that affect WARNI NG everyone on the

Check php for enable_dl or disabled dl()

server. Note that if use dynamic

libraries, such as ioncube, you will

have to load them directly in the PHP configuration (usually in

/usr/local/lib/php.ini)

81

Check php for disable_functions

OK You consider ini_set to should adding the

disable_functions in the PHP

configuration as this setting allows PHP scripts to override Check php for ini_set disabled WARNI NG global security and performance settings scripts. for PHP Adding

ini_set can break PHP scripts and out

commenting

any use of ini_set in such advised Check php for register_globals Check php for Suhosin Check php open_basedir protection WHM Settings Check Check cPanel login is SSL only OK OK OK Status Comment scripts is

WARNI

You should check

82

NG

WHM

>

Tweak

Settings > Always redirect users to the ssl/tls ports when visiting /cpanel,

/webmail, etc. Check boxtrapper is disabled Check max emails per hour is set Check whether users can reset passwords via email Check whether native cPanel SSL is enabled Check compilers Check Anonymous FTP Logins Check Anonymous FTP Uploads Check pure-ftpd weak SSL/TLS Ciphers OK OK OK OK OK OK OK

(TLSCipherSuite)

OK

Allowing root login via Check FTP Logins with Root Password WARNI NG FTP is a

considerable security risk and

should be disabled WHM > FTP Server Configuration >

83

Allow Logins with Root Password > No Check allow remote domains Check block common domains Check allow park domains Check cPAddons update email to owner Check cPAddons update email to root Check cPanel tree Check cPanel updates Check package updates Check security updates Check melange chat server OK OK OK OK OK OK OK OK OK OK You should

consider setting this Check Accounts that can access a cPanel user WARNI account NG option to "user"

after use. WHM > Tweak Settings > Accounts that can access a cPanel

84

user account Check cPanel php for register_globals Check cPanel php.ini file for register_globals Check cPanel passwords in email Check core dumps Check Cookie IP Validation Check MD5 passwords with Apache Check Referrer Blank Security Check Referrer Security Check HTTP Authentication Check Security Tokens Check Parent Security Check Domain Lookup Security Check SMTP Tweak Check nameservers Server Services Check OK OK OK OK OK OK OK OK OK OK OK OK OK OK Status Comment

85

Check server startup for cups Check server startup for xfs Check server startup for atd Check server startup for nfslock Check server startup for canna Check server startup for FreeWnn Check server startup for cups-config-daemon Check server startup for iiim Check server startup for mDNSResponder Check server startup for nifd Check server startup for rpcidmapd Check server startup for bluetooth Check server startup for anacron Check server startup for gpm Check server startup for saslauthd Check server startup for avahi-daemon

OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK

86

Check server startup for avahi-dnsconfd Check server startup for hidd Check server startup for pcscd Check server startup for sbadm

OK OK OK OK

Your Score: 125/134* 134 (max) 125 (score) *This scoring does not necessarily reflect the security of your server or the relative merits of each check

Es posible obtener un resultado segun las sumatorias de las brechas, en el servidor se tiene un resultado de 125, frente a 134 como puntaje mximo. Cabe destacar que si se obtiene el valor 134 en puntaje el servidor no funcionara como deseamos, debido a que ciertas opciones restringen de manera negativa en el funcionamiento del servidor, por lo que es necesario correr algunos riesgos para ofrecer un servicio simple para usuarios inexpertos y de calidad.

87

En esta seccin es posible ver las reglas iptables existentes en el servidor y obtener un grafico de estadsticas sobre lfd referente a:

Tambin los bloqueos de lfd sobre las ltimas 24 horas

88

O sobre los ltimos 30 das.

89

La seccin csf - ConfigServer Firewall:

Muestra un panel donde es posible ingresar direcciones IPs para filtrar de forma temporal o fija y/o eliminar direcciones IPs que han sido capturadas por el lfd, as mismo es posible manejar el estatus del firewall, tanto como iniciarlo, reiniciarlo o pararlo.

Dentro de esta seccin, el botn firewall configuration gestiona la configuracin donde es posible determinar que puertos tener a escucha de peticiones y cules no, se recomienda cambiar algunos puertos por defecto, como lo es el puerto 22(ssh) ya que gran cantidad de ataques que son detenidos por scripts de fuerza bruta se realizan a este puerto. Se puede detallar la configuracin en el siguiente contenido:

90

################################################################## # SECCIN: Configuracin del puerto ################################################################## # listas de puertos separados con coma para permitir entrantes TCP TCP_IN = 20, 21, 22, 25, 53, 80, 110, 143, 443 , 465, 587, 993, 995, 2077, 2078, 2082, 2083, 2086, 2087, 2095, 2096, 49222, 26, 3306 # Permitir puertos salientes TCP TCP_OUT = 20,21,22,25,37,43,53,80,110,113,443,587,873,2087,2089,2703 # Permitir puertos entrantes UDP UDP_IN = 20,21,53 # Permitir puertos salientes UDP UDP_OUT = 20,21,53,113,123,873,6277 # Permitir ping entrante ICMP_IN = 1 # Establezca la direccin IP entrantes por tipo de paquete ICMP, para desactivar la #limitacin de la tasa establecida en "0" ICMP_IN_RATE =1/s # Permitir PING saliente ICMP_OUT 1 # Establezca la direccin IP por cada tipo de salida de paquetes ICMP (hits por #segundo permitido), por ejemplo, "1 / s", Se recomienda deshabilitar en servidores #cPanel, este utiliza como prueba de ping para determinar rpido espejos para #diferentes funciones # Para desactivar la limitacin de la tasa establecida en "0" ICMP_OUT_RATE = 0

91

################################################################### SECCIN: configuracin general ################################################################## # Por defecto, csf auto configura iptables para filtrar todo el trfico excepto en # El dispositivo de loopback. Si slo desea reglas de iptables aplicada a un #determinado interface, a continuacin, en la siguiente lista ETH_DEVICE = # Si no deseas que las reglas iptables se apliquen a tarjetas de red especficas ETH_DEVICE_SKIP = # Habilitar esta opcin si no desea bloquear todas las IP que han sido # autentificadas utilizando POP antes de SMTP (es decir, son clientes vlidos). RELAYHOSTS = 1 # Habilitar esta opcin si quieres hacer caso omiso de LFD, las direcciones IP de la #lista de csf.allow adems de csf.ignore. IGNORE_ALLOW = 0 # Habilita la siguiente opcin si desea aplicar las reglas de iptables al trfico DNS (es #decir, basndose en el seguimiento de conexiones de iptables). Al habilitar esta #opcin podra causar problemas de resolucin de DNS hacia y desde el servidor, #pero puede ayudar a Prevenir el abuso del servidor DNS local DNS_STRICT = 0 # Limite el nmero de IP que guarda en el archivo /etc/lfd/csf.deny, esto puede ser # Importante como un gran nmero de direcciones IP crear un gran nmero de #iptables. Establezca a 0 para desactivar la limitacin DENY_IP_LIMIT = 100 # Limite el nmero de IP que se guarda en la lista de prohibicin temporal IP. Si el # lmite es alcanzado el ms antiguo en la lista de prohibicin ser eliminado y se #deja independientemente de la cantidad de tiempo restante para el bloque # Establezca a 0 para desactivar la limitacin DENY_TEMP_IP_LIMIT = 100 # Habilitar acceso demonio de deteccin de fallos (LFD). Si se establece a 0

92

#ninguno de las siguientes opciones tendr ningn efecto en el demonio y no se #iniciar. LF_DAEMON = 1 # Comprobar si CSF parece haber sido detenido y reiniciar si es necesario, # A menos que este en fase de prueba es permitido detenerse. La comprobacin se #realiza cada 300 segundos LF_CSF = Valor predeterminado: 1 # Si se habilita esta opcin, cada vez que una solicitud por lnea de comando sea #para reiniciar lfd, (Es decir,-s, - de inicio,-r, - reiniciar,-q, - startQ) las reglas de cfs #se iniciaran juntas con las de lfd. # Esta funcin puede ser particularmente til para (re) configuraciones de partida #con un gran nmero de normas, por ejemplo, los que utilizan el bloquear/permitir #listas. Tambin puede acelerar los tiempos de arranque. LF_QUICKSTART = 0 # Activa la salida detallada de los comandos iptables VERBOSE = 1 # Habilitar el filtrado de paquetes para los mismos no deseados o ilegales. Esto #disminuir las lneas de Iptables de los paquetes que ha considerado no vlido. PACKET_FILTER = 1 # Realizar bsquedas inversas DNS en direcciones IP. LF_LOOKUPS = 1 #Es posible trabajar con reglas en IPv6, pero el servidor no tiene instalado y no #soporta actualmente este modulo, por lo cual no se mostrara la configuracin.

################################################################## SECCIN #: configuracin SMTP ################################################################## # Bloquear conexiones smtp salientes a excepcin de root, exim y mailman. Esto #sustituye a la proteccin WHM> Ajustes de Configuracin> Ajustes SMTP. Esta

93

#opcin utiliza iptables ipt_owner/xt_owner mdulo y debe cargarse para que #funcione, que puede no estar disponible en algunas plataformas VPS. Nota: Ejecute #el archivo /etc/csf/csftest.pl para comprobar si esta opcin funciona en este servidor. SMTP_BLOCK = 0 #Si SMTP_BLOCK est habilitado, pero desea permitir las conexiones locales en el #puerto 25, en el servidor a continuacin, habilite esta opcin para permitir #conexiones SMTP salientes en el dispositivo de loopback SMTP_ALLOWLOCAL = 0 # Esta es una lista separada por comas de los puertos que desea bloquear. Se #deben poner todos los puertos de exim en donde est configurado para escuchar SMTP_PORTS = 25,26 # Siempre que los usuarios de la coma despus de separados y los grupos de #bypass SMTP_BLOCK. Nota: root (UID: 0) siempre se le permite. SMTP_ALLOWUSER = cpanel SMTP_ALLOWGROUP = mail, mailman

################################################################## # Seccin: Configuracin del Flodeo de puertos ################################################################## # Habilitar la proteccin SYN Flood. Esta opcin permite configurar iptables para #ofrecer proteccin de paquetes SYN tcp en DOS. SYNFLOOD = 0 SYNFLOOD_RATE = 100/s SYNFLOOD_BURST = 150 #Conexin de Proteccin Lmite. Esta opcin permite configurar iptables para #ofrecer ms proteccin contra ataques DoS, contra los puertos especficos. #tambin puede ser utilizado como una forma de limitar simplemente el uso de #recursos mediante la direccin IP a los servicios del servidor especfico. # Esta opcin limita el nmero de conexiones simultneas por direccin IP # que se puede hacer para puertos especficos. Esta funcin no funciona en los

94

#servidores que no cuentan con el mdulo de iptables. CONNLIMIT = # Puerto de Proteccin contra Inundaciones. Esta opcin permite configurar iptables #para ofrecer proteccin de los ataques de denegacin de servicio contra los puertos #especficos. Esta opcin limita el nmero de nuevas conexiones por intervalo de #tiempo que se puede hacer para puertos especficos. Esta funcin no funciona en #los servidores que no cuentan con el mdulo de iptables Ipt_recent cargado, por lo #general, esto ser con los ncleos monolticos. PORTFLOOD =

################################################################## # Seccin: Configuracin de registro ################################################################## # Registra los mensajes de SYSLOG LFD, adems de /var/log/lfd.log. Se debe #tener el modulo Perl Sys:Syslog instalado para utilizar esta funcin SYSLOG = 0 #rechazar objetivos de las reglas de iptables. Esto se puede establecer como #DROP o REJECT, REJECT enviar de vuelta un paquete de error, DROP no #responde en absoluto. RECHAZAR es ms corts, sin embargo, no proporciona #informacin adicional a un hacker y les hace saber que un firewall est bloqueando #sus intentos. DROP cuelga sus conexiones, con lo frustrados intentos de escaneo #de puertos en el servidor. DROP = DROP # Habilitar el registro de conexiones bloqueadas a los puertos bloqueados a syslog, #por lo general en /var/log/messages esta opcin debe estar habilitada para usar el #seguimiento de escaneo de puertos DROP_LOGGING = 1 # Habilitar el registro de conexiones en direcciones IP bloqueadas en csf.deny o # por lfd con bloques temporales de seguimiento de conexiones # Esta opcin estar desactivada si habilita el seguimiento de escaneo de puertos

95

#(PS_INTERVAL) DROP_IP_LOGGING = 0 # Slo registrar las conexiones reservadas. DROP_ONLYRES = 0 # Puertos comnmente bloqueados que no quieren el registro, ya que tienden a #llenar slo el archivo de registro. Estos puertos estn bloqueados especficamente aplicado a TCP y UDP protocolos para las conexiones entrantes. DROP_NOLOG = 67,68,111,113,135:139,445,500,513,520 # Registra los paquetes perdidos por la opcin de filtrado de paquetes #PACKET_FILTER DROP_PF_LOGGING = 0 # Registra los paquetes perdidos por el lmite de conexin CONNLIMIT. Si Esta #opcin est activada y el Puerto de seguimiento de exploracin (PS_INTERVAL) #est habilitada tambin, las direcciones ips que rompan el lmite de conexin #tambin podran ser bloqueadas. CONNLIMIT_LOGGING = # Enva una alerta si el archivo de registro detecta que lfd se salta el registro. LOGFLOOD_ALERT = 0 # Configurar CSF para ver las direcciones IP. Esta opcin se agregar arriba para el #recorrido del paquete a travs de iptables y el registro de syslog. WATCH_MODE = 0

#################################################################### # SECCION: Configuracin de Reportes #################################################################### #LFD enviar correos electrnicos de alerta con plantilla de alerta correspondiente a LF_ALERT_TO = # LFD enviar correos electrnicos de alerta con la plantilla de alerta desde

96

LF_ALERT_FROM = # Adems de las alertas por email LFD estndar, tiene la posibilidad de permitir el # envo de informes X-ARF (vase http://www.x-arf.org/specification.html). slo # Bloqueos de alertas se enviaran. # Estos informes se encuentran en un formato aceptado por los varios propietarios #de Netblock y podra ayudar a investigar los abusos. Esta opcin no est diseado #para habilitarse automticamente por lo cual se previenen los falsos positivos # Nota: Los bloques siguientes no se informan a travs de esta funcin: # LF_PERMBLOCK, LF_NETBLOCK, LF_DISTATTACK, LF_DISTFTP, RT_ * #_ALERT X_ARF = 0 # Por defecto, LFD enviar correos electrnicos a root. ajuste de la # opcin siguiente para anular el destinatario X_ARF_FROM = # Por defecto, LFD enviar correos electrnicos a la agente de la raz. #Establecimiento de los siguientes # Opcin anular esta X_ARF_TO = # El bloqueo de reportes, LFD puede ejecutar un script externo cuando se lleva a #cabo el bloqueo de direccin IP, por ejemplo, un fallo de inicio de sesin. La #siguiente configuracin es para dar la ruta completa del script externo a correr # Deje en blanco esta opcin para deshabilitar BLOCK_REPORT =

################################################################## # SECCIN: Temporal a Permanente / Configuracin Netblock ################################################################## # Lo siguiente habilita esta caracterstica para Bloquear permanentemente las #direcciones IP que se han bloqueado temporalmente ms que

97

# LF_PERMBLOCK_COUNT veces en el segundo LF_PERMBLOCK_INTERVAL #segundos. Elegir LF_PERMBLOCK a "1" para activar esta funcin # Necesita ser tomado con cuidado al establecer el valor #LF_PERMBLOCK_INTERVAL que tiene que ser Por lo menos mayor que #LF_PERMBLOCK_COUNT (TTL) de IP bloqueadas, para ser efectivo. # Establezca LF_PERMBLOCK a "0" para desactivar esta funcin LF_PERMBLOCK = 1 LF_PERMBLOCK_INTERVAL = 86400 LF_PERMBLOCK_COUNT = 4 LF_PERMBLOCK_ALERT = 1 # Permanentemente bloquear IPs de clase de red. Lo siguiente habilita esta #caracterstica Para bloquear permanentemente las clases de direccin IP en #direcciones IP individuales Dentro de la misma clase LF_NETBLOCK_CLASS ya #se han bloqueado ms de LF_NETBLOCK_COUNT veces en #LF_NETBLOCK_INTERVAL segundos. Elegir LF_NETBLOCK a "1" para activar #esta funcin esto puede ser una manera afectiva para bloquear los ataques DDoS #lanzado desde el interior de la red validas configuraciones para #LF_NETBLOCK_CLASS son "A", "B" y "C", atencin y consideracin es necesario #tener cuando se bloquea las clases A o B de la red Establezca LF_NETBLOCK a #"0" para desactivar esta funcin LF_NETBLOCK = 0 LF_NETBLOCK_INTERVAL = 86400 LF_NETBLOCK_COUNT = 4 LF_NETBLOCK_CLASS = C LF_NETBLOCK_ALERT = 1

################################################################## # Seccin: Global / Listas DYNDNS / Listas negras ################################################################## # Actualizacin de la cadena Segura. Si se activa, todas las cadenas de

98

#actualizacin dinmica GALLOW*, GDENY*, SPAMHAUS, DSHIELD, BOGON, #CC_ALLOW, CC_DENY, ALLOWDYN*) se crear una nueva cadena en la #actualizacin y la insertara en la correspondiente cadena #LOCALINPUT/LOCALOUTPUT, luego se reemplaza la vieja cadena y se reemplaza #por la nueva. # Esto previene que se cree una pequea ventana de oportunidades en la #actualizacin y reemplazo de las reglas. # Esta opcin no debe estar habilitado en los servidores con largas cadenas #dinmicas (por ejemplo, CC_DENY/listas CC_ALLOW) y baja memoria. Tampoco #debe ser habilitado en servidores VPS Virtuozzo con un valor restringido. Esto es #porque cada cadena efectivamente se duplicar, mientras que la actualizacin se #produce, duplicando el nmero de reglas de iptables. SAFECHAINUPDATE = 1 # Si desea permitir el acceso a los registros de DNS dinmico (por ejemplo si tu IP # Cambia de direccin cada vez que se conecte a Internet, pero usted tiene un #r