INTRODUCCIÓN El presente documento documento trata acerca de un Sistema de Detección de Intrusos (IDS, siglas en Inglés llamado Snort desarrollado desarrollado por Source!ire" Source!ire" #ara llegar a $a%lar de dic$o sistema se de&nir' lo ue es un IDS primeramente" ) continuación, continuación, se $a%lar' de lo ue es Snort, como *unciona + todos los aspectos %'sicos del mismo" Como reuerimiento reuerimiento de la entrega de éste in*orme, se eplicar' detalladamente el proceso de instalación + con&guración de Snort, al mismo tiempo ue se ilustrar'n e-emplos de algunos de los comandos ue éste sistema IDS tiene como *uncionalidades
." /0U1 ES ES UN IDS2 Corta*ue Corta*uegos gos 3s IDS Un IDS IDS es un sistema sistema ue intenta intenta detectar + alertar so%re las intrusiones intentadas en un sistema o en una red, considerando intrusión a toda acti3idad no autori4ada o no ue no de%er5a ocurrir en ese sistema" Seg6n esta de&nición, muc$os podr5an pensar ue ese tra%a-o +a se reali4a mediante los corta*uegos o &re7alls" 8a principal di*erencia, di*erencia, es ue un corta*uegos es una $erramienta %asada en la aplicación de un sistema de restricciones + ecepciones ecepciones su-eta a muc$os tipos de ataues, desde los ataues 9tunneling:(saltos 9tunneling:(saltos de %arrera a los ataues %asados en las aplicaciones" 8os corta*uegos <ran los pauetes + permiten su paso o los %louean por medio de una ta%la de decisiones %asadas en el protocolo de red utili4ado" utili4ado" 8as reglas 3eri&can contra una %ase de datos ue determina si est' permitido un protocolo determinado determinado + permite o no el paso del pauete %as'ndose en atri%utos tales como las direcciones de origen + de destino, el n6mero de puerto, etc""" Esto se con3ierte en un pro%lema cuando un atacante enmascara el tr'&co ue de%er5a ser anali4ado por el corta*uegos o utili4a un programa para comunicarse directamente con una aplicación remota" remota" Estos aspectos se escapan a las *uncionalidades *uncionalidades pre3istas en el dise;o inicial de los corta*uegos" Es au5 dónde entran los IDS, +a ue estos son capaces de detectar cuando ocurren estos *allos" De&nición Un sistema de detección de intrusos (o IDS de sus siglas en inglés Intrusion Detection S+stem es un programa usado para detectar accesos no autori4ados a un computador o a una red" Estos accesos pueden ser ataues de $a%ilidosos $acer de red con los ue el n6cleo del IDS puede o%tener datos eternos (generalmente so%re so%re el tr'&co de red" El IDS detecta, gracias a dic$os sensores, anomal5as ue pueden ser indicio de la presencia de ataues o *alsas alarmas" )lgunas de las caracter5sticas desea%les para un IDS son? @ De%en estar continuamente en e-ecución con un m5nimo de super3isión" @ Se de%en recuperar de las posi%les ca5das o pro%lemas con la red" @ De%e poderse anali4ar él mismo + detectar si $a sido modi&cado por un atacante" @ De%e utili4ar los m5nimos recursos posi%les" @ De%e estar con&gurado acorde con la pol5tica de seguridad seguida por la organi4ación" @ De%e de adaptarse a
los cam%ios de sistemas + usuarios + ser *'cilmente actuali4a%le" !uncionamiento El *uncionamiento de estas $erramientas se %asa en el an'lisis pormenori4ado del tr'&co de red, el cual al entrar al anali4ador es comparado con &rmas de ataues conocidos, o comportamientos sospec$osos, como puede ser el escaneo de puertos, pauetes mal*ormados, etc" El IDS no sólo anali4a ué tipo de tr'&co es, sino ue tam%ién re3isa el contenido + su comportamiento" Normalmente esta $erramienta se integra con un &re7all" El detector de intrusos es incapa4 de detener los ataues por s5 solo, ecepto los ue tra%a-an con-untamente en un dispositi3o de puerta de enlace con *uncionalidad de &re7all, con3irtiéndose en una $erramienta mu+ poderosa +a ue se une la inteligencia del IDS + el poder de %loueo del &re7all, al ser el punto donde *or4osamente de%en pasar los pauetes + pueden ser %loueados antes de penetrar en la red" 8os IDS suelen disponer de una %ase de datos de 9&rmas: de ataues conocidos" Dic$as &rmas permiten al IDS distinguir entre el uso normal del #C + el uso *raudulento, +Ao entre el tr'&co normal de la red + el tr'&co ue puede ser resultado de un ataue o intento del mismo" Tipos de IDS Eisten 3arios tipos de IDS, clasi&cados seg6n el tipo de situación *5sica, del tipo de detección ue posee o de su naturale4a + reacción cuando detecta un posi%le ataue" Clasi&cación por situación Seg6n la *unción del so*t7are IDS, estos pueden ser? @ NIDS (Net7or< Intrusion Detection S+stem @ BIDS (Bost Intrusion Detection S+stem 8os NIDS anali4an el tr'&co de la red completa, eaminando los pauetes indi3idualmente, comprendiendo todas las di*erentes opciones ue pueden coeistir dentro de un pauete de red + detectando pauetes armados maliciosamente + dise;ados para no ser detectados por los corta*uegos" #ueden %uscar cual es el programa en particular del ser3idor de 7e% al ue se est' accediendo + con ue opciones + producir alertas cuando un atacante intenta eplotar alg6n *allo en este programa" 8os NIDS tienen dos componentes? Un sensor? situado en un segmento de la red, la monitori4a en %usca de tr'&co sospec$oso Una Consola? reci%e las alarmas del sensor o sensores + dependiendo de la con&guración reacciona a las alarmas reci%idas" 8as principales 3enta-as del NIDS son? Detectan accesos no deseados a la red" No necesitan instalar so*t7are adicional en los ser3idores en producción" !'cil instalación + actuali4ación por ue se e-ecutan en un sistema dedicado" Como principales des3enta-as se encuentran? Eaminan el tr'&co de la red en el segmento en el cual se conecta, pero no puede detectar un ataue en di*erentes segmentos de la red" 8a solución m's sencilla es colocar di3ersos sensores" #ueden generar tr'&co en la red" )taues con sesiones encriptadas son di*5ciles de detectar" En cam%io, los BIDS anali4an el tr'&co so%re un ser3idor o un #C, se preocupan de lo ue est' sucediendo en cada $ost + son capaces de detectar situaciones como los intentos *allidos de acceso o modi&caciones en arc$i3os considerados cr5ticos" 8as 3enta-as ue aporta el BIDS son? Berramienta potente, registra comandos utili4ados, &c$eros a%iertos,""" Tiende a tener menor n6mero de *alsospositi3os ue
los NIDS, entendiendo *alsospositi3os a los pauetes etiuetados como posi%les ataues cuando no lo son" enor riesgo en las respuestas acti3as ue los IDS de red" 8os incon3enientes son? Reuiere instalación en la m'uina local ue se uiere proteger, lo ue supone una carga adicional para el sistema" Tienden a con&ar en las capacidades de auditoria + logging de la m'uina en s5" Clasi&cación seg6n los modelos de detecciones 8os dos tipos de detecciones ue pueden reali4ar los IDS son? @ Detección del mal uso" @ Detección del uso anómalo" 8a detección del mal uso in3olucra la 3eri&cación so%re tipos ilegales de tr'&co de red, por e-emplo, com%inaciones dentro de un pauete ue no se podr5an dar leg5timamente" Este tipo de detección puede incluir los intentos de un usuario por e-ecutar programas sin permiso (por e-emplo, 9sni>ers:" 8os modelos de detección %asado en el mal uso se implementan o%ser3ando como se pueden eplotar los puntos dé%iles de los sistemas, descri%iéndolos mediante unos patrones o una secuencia de e3entos o datos (9&rma: ue ser'n interpretados por el IDS" 8a detección de acti3idades anómalas se apo+a en estad5sticas tras comprender cual es el tr'&co 9normal: en la red del ue no lo es" Un claro e-emplo de acti3idad anómala ser5a la detección de tr'&co *uera de $orario de o&cina o el acceso repetiti3o desde una m'uina remota (rastreo de puertos" Este modelo de detección se reali4a detectando cam%ios en los patrones de utili4ación o comportamiento del sistema" Esto se consigue reali4ando un modelo estad5stico ue contenga una métrica de&nida + compararlo con los datos reales anali4ados en %usca de des3iaciones estad5sticas signi&cantes" Clasi&cación seg6n su naturale4a Un tercer + 6ltimo tipo %'sico de clasi&cación ser5a respecto a la reacción del IDS *rente a un posi%le ataue? #asi3os" Reacti3os" 8os IDS pasi3os detectan una posi%le 3iolación de la seguridad, registran la in*ormación + genera una alerta" 8os IDS reacti3os est'n dise;ados para responder ante una acti3idad ilegal, por e-emplo, sacando al usuario del sistema o mediante la reprogramación del corta*uegos para impedir el tr'&co desde una *uente $ostil"
" /0U1 ES SNORT2 Snort es un sni>er de pauetes + un detector de intrusos %asado en red (se monitori4a todo un dominio de colisión" Es un so*t7are mu+ Fei%le ue o*rece capacidades de almacenamiento de sus %it'coras tanto en arc$i3os de teto como en %ases de datos a%iertas como lo es +S08" Implementa un motor de detección de ataues + %arrido de puertos ue permite registrar, alertar + responder ante cualuier anomal5a pre3iamente de&nida" )s5 mismo eisten $erramientas de terceros para mostrar in*ormes en tiempo real ()CID o para con3ertirlo en un Sistema Detector + #re3entor de Intrusos" Este IDS implementa un lengua-e de creación de reglas Fei%le, potente + sencillo" Durante su instalación +a nos pro3ee de cientos de <ros o reglas para %ac
*uncionar como sni>er (podemos 3er en consola + en tiempo real ué ocurre en nuestra red, todo nuestro tr'&co, registro de pauetes (permite guardar en un arc$i3o los logs para su posterior an'lisis, un an'lisis oHine o como un IDS normal (en este caso NIDS" Cuando un pauete coincide con alg6n patrón esta%lecido en las reglas de con&guración, se logea" )s5 se sa%e cu'ndo, de dónde + cómo se produ-o el ataue" )6n cuando tcpdump es considerada una $erramienta de auditor5a mu+ 6til, no se considera un 3erdadero IDS puesto ue no anali4a ni se;ala pauetes por anomal5as" tcpdump imprime toda la in*ormación de pauetes a la salida en pantalla o a un arc$i3o de registro sin ning6n tipo de an'lisis" Un 3erdadero IDS anali4a los pauetes, marca las transmisiones ue sean potencialmente maliciosas + las almacena en un registro *ormateado, as5, Snort utili4a la %i%lioteca est'ndar li%cap + tcpdump como registro de pauetes en el *ondo" Snort est' disponi%le %a-o licencia G#8, gratuito + *unciona %a-o plata*ormas indo7s + UNIJA8inu" Dispone de una gran cantidad de <ros o patrones +a prede&nidos, as5 como actuali4aciones constantes ante casos de ataues, %arridos o 3ulnera%ilidades ue 3a+an siendo detectadas a tra3és de los distintos %oletines de seguridad" 8a caracter5stica m's apreciada de Snort, adem's de su *uncionalidad, es su su%sistema Fei%le de &rmas de ataues" Snort tiene una %ase de datos de ataues ue se est' actuali4ando constantemente + a la cual se puede a;adir o actuali4ar a tra3és de la Internet" 8os usuarios pueden crear K&rmasK %asadas en las caracter5sticas de los nue3os ataues de red + en3iarlas a la lista de correo de &rmas de Snort, para ue as5 todos los usuarios de Snort se puedan %ene&ciar" Esta ética de comunidad + compartir $a con3ertido a Snort en uno de los IDSes %asados en red m's populares, actuali4ados + ro%ustos" L" /CÓO !UNCION) SNORT2 En la 3ersión de indo7s, es necesario instalar in#cap" Este so*t7are consiste en un dri3er ue etiende el sistema operati3o para permitir un acceso de %a-o ni3el a la red + una li%rer5a ue *acilita a las aplicaciones acceder a la capa de enlace salt'ndose la pila de protocolos" Snort puede *uncionar en? @ odo sni>er, en el ue se motori4a por pantalla en tiempo real toda la acti3idad en la red en ue Snort es con&gurado" @ odo pac
eliminar los patrones ue los generan" En de&niti3a, pese a todas las *acilidades + automati4aciones + como casi todas las $erramientas de seguridad, es un apo+o ue no puede sustituir la tarea del responsa%le de seguridad ue es uien de%e anali4ar toda la in*ormación de *orma minuciosa + continuada" !uncionamiento del motor de Snort El motor de Snort se di3ide en los siguientes componentes? @ Decodi&cador del pauete" @ #reprocesadores" @ otor de detección (Comparación contra &rmas" @ 8oggin + sistema de alerta" @ #lugins de salida" @ El decodi&cador de pauete, toma los pauetes de di*erentes tipos de inter*aces de red, + prepara el pauete para ser preprocesado o en3iado al motor de detección" 8os preprocesadores son componentes o plugins ue pueden ser usados con Snort para arreglar, rearmar o modi&car datos, antes ue el motor de detección $aga alguna operación para encontrar si el pauete esta siendo en3iado por un intruso" )lgunos preprocesadores reali4an detección %uscando anomal5as en las ca%eceras de los pauetes + generando alertas" Son mu+ importantes porue preparan los datos para ser anali4ados contra reglas en el motor de detección" El motor de detección es la responsa%le de detectar si alguna acti3idad de intrusión eiste en un pauete" El motor utili4a las reglas ue $an sido de&nidas para este propósito" 8as reglas (o cadenas son mac$eadas contra todos los pauetes" Si un pauete mac$ea una regla, la acción con&gurada en la misma es e-ecutada" Dependiendo ue detecte el motor dentro de un pauete, el logging + sistema de alerta, se encarga de loguear o generar una alerta" 8os logs son almacenados en arc$i3os de teto, arc$i3os con *ormato tcpdump u otro *ormato" 8os plugins de salida toman la salida del sistema de alerta + permiten almacenarlas en distintos *ormatos o reaccionar antes el mismo" #or e-emplo? en3iar emails, traps SN#, s+slog, insertar en una %ase de datos, etc" #lugins de salida? @ Mases de datos (+Sl, #ostgres, etc @ S+slog @ J8 @ Traps SN# @ ensa-es SM " CO)NDOS DE SNORT 8os siguientes son los comandos ue se pueden utili4ar en Snort para o%tener las di*erentes *uncionalidades? ) Set alert mode? *ast, *ull, console, or none AA(alert &le alerts onl+AA % 8og pac Hus$( calls a*ter %inar+ log 7rites ! Read M#! <ers *rom &le $ Bome net7or< P i 8isten on inter*ace I )dd Inter*ace name to alert output < C$ec logging (alerts still 7or< o C$ange t$e rule testing order to #assQ)lertQ8og O O%*uscate t$e logged I# addresses p Disa%le promiscuous mode sning # Set eplicit snaplen o* pac
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
inter*aces" AA(inL onl+AA 7 Dump VW".. management and control *rames J Dump t$e ra7 pac
•
•
•
•
" INST)8)CIÓN X CON!IGUR)CIÓN DE8 IDS SNORT 8a instalación se reali4ó una distri%ución 8inu (U%untu ."W propiamente dic$o por medio de la terminal de l5nea de comandos" Se siguieron los siguientes pasos? ." )%rir una terminal " Escri%ir el comando de instalación de pauete sudo aptget install snort
Dando permisos de superusuario para poder reali4ar la instalación (de%ido al sistema de permisos utili4ado por las distri%uciones de 8inu, escri%iendo la contrase;a en la siguiente l5nea" En seguida se iniciar' la instalación"
" ) continuación pedir' la siguiente opción de con&guración
L" En este paso pide la dirección de red local (la cual 3a a ser la ue se estar' monitoreando" En este punto puede $a%er L opciones de con&guración? Si es una 6nica dirección se colocar' con m'scara de su% red AL Si es un %loue de Y I#s se utili4ar' la m'scara A Si es una red m's amplia se utili4ar' la m'scara A.Y " Una 3e4 &nali4ado el proceso de instalación se puede reali4ar la con&guración completa por medio del comando" •
•
•
" #reguntar' ue opción de arranue se desea con&gurar?
Se 3e eplicado claramente ué es cada tipo de arranue" En este caso se escoger' la con&guración del arranue manual" Y" Siguiente 3iene una 3entana de eplicación de lo ue ser' el próimo reuisito a pedir, la inter*ace de red ue se escanear'"
Se eplica ue se puede utili4ar el siguiente comando para encontrar la inter*ace
Con lo cual se nota ue la inter*ace necesaria en la 7lanW (+a ue la coneión se est' reali4ando de manera inal'm%rica" Z" En la siguiente opción se escri%e la inter*ace o%tenida en la anterior instrucción
V" )$ora se de%er' escri%ir la dirección de red ue se desea escanear (paso similar al reali4ado durante la instalación, paso L"
[" Opción de $a%ilitar o des$a%ilitar el 9odo promiscuo:
odo #romiscuo signi&ca ue se anali4ar' todos los pauetes ue pasen por el segmento aunue no sean de una coneión propia"
.."Reci%ir res6menes electrónicos por correo de las alertas encontradas"
." Se especi&ca el correo electrónico en ue se desea reci%ir los res6menes diarios"
.L" )$ora se pregunta la cantidad de in*ormes ue se inclu+en por alerta
."!inalmente la solicitud del comando al &nali4ar para recargar las con&guraciones $ec$as"
."Una 3e4 &nali4ado el asistente de con&guración, se e-ecuta el comando mostrado en la anterior instrucción
#ROCESO #)R) 8) INSERCIÓN DE UN) NUE) REG8) ." Crear un nue3o arc$i3o "rules en la carpeta AetcAsnortArulesA
En este e-emplo se est' creando el arc$i3o sites"rules el cual contendr' reglas so%re? El usuario ingresa a la p'gina de google El usuario ingresa a la p'gina de *ace%oo< Se est' reali4ando un ping so%re la m'uina $ost" " El anterior comando a%rir' un nue3o arc$i3o del programa gedit con el nom%re dado" •
•
•
Como se di-o en el anterior paso se est' reali4ando las L reglas" Se guarda + se cierra el arc$i3o" L" De 3uelta en la terminal se a%rir' a$ora el arc$i3o de con&guración de snort" El cual se encuentra en la ruta mostrada en la siguiente imagen"
)l e-ecutar el comando se a%rir' nue3amente gedit con el arc$i3o de con&guración de snort
De esta manera se ingresa la regla recientemente creada en el arc$i3o de con&guración + +a est' cargada para ser re3isada"
" E-emplo de las reglas anteriormente creadas en *uncionamiento?
En este e-emplo se pueden notar tanto la regla de !ace%oo< como la regla de #ing en *uncionamiento" E-ecución de snort ." Nos dirigimos $acia el directorio de snort
" E-ecutamos snort
En éste caso estamos utili4ando los comandos \), c + \i con lo cuales estamos esta%leciendo las salidas, el arc$i3o de con&guración a utili4ar + la inter*ace a escanear" L" Inicia el proceso de snort
" Nue3amente se muestra la aplicación mostrando las reglas esta%lecidas anteriormente