def comprobar_usuarios_conectados():
    #Extrae la lista de usuarios conectados actuales con su origen/direccion
    file = listar_usuario_conectado(
    )  # [[usuario1,dirrecion1],[usuario2,dirrecion2],.....]
    #Cantidad de filas de la tabla users
    cursor.execute("SELECT COUNT(*) FROM users")
    check = cursor.fetchone()
    nrows = check[0]
    #Se recorre linea por linea el archivo y se vuelve a quitar usuario y direccion
    for line in file:
        #extrae usuario y direccion de 1 elemento de la lista
        user = line[0]
        address = line[1]
        #Se recorre tabla users, revisando si coinciden los datos de los usuarios con los almacenados
        cursor.execute(
            "SELECT COUNT (*) FROM users where usr = %s and addr=%s ", user)
        cursor.execute("SELECT COUNT (*) FROM users where addr = %s", address)
        #Si no coinciden los datos, se notifica
        if (cursor.fetchone() == 0):
            mensaje = 'Usuario e IP no existen en la base de datos:\n' + user + '  [' + address + ']'
            fecha = time.strftime("%d/%m/%Y")
            hora = time.strftime("%H:%M:%S")
            entrada = fecha + ' ---> ' + hora + '\n\n* ' + mensaje + '\n'
            enviar_correo(mensaje, "ALARMA HIPS")
            archivo_cola = open('/var/spool/mqueue/mail_recibidos.txt', 'a')
            archivo_cola.write(fecha + ' | ' + hora + ' | ' + 'From:' +
                               msg['From'] + '\n')
            archivo_cola.close()
            archivo = open('/var/log/hids/alarmas_hids.log', 'a')
            archivo.write(entrada)
            archivo.close()

    file.close()
Exemplo n.º 2
0
def crontabCMP():
	#cargamos el archivo donde tenemos las tareas
	os.system("openssl enc -aes-256-cbc -d -in tareas.txt.enc -out tareas.txt")
	tareas = open('tareas.txt', 'r')
	lineas_tareas = tareas.readlines()

	#Llamamos al crontab con el parametro -l para ver la lista de cron y redireccionamos la salida a un archivo dentro de nuestro directorio
	os.system("crontab -l > tareas_cron.txt")
	tareas_cron = open('tareas_cron.txt', 'r')
	lineas_cron = tareas_cron.readlines()

	for aux1 in lineas_tareas:
		for aux2 in lineas_cron:
			if (aux1 != aux2):
				fecha = time.strftime("%d/%m/%Y")
				hora = time.strftime("%H:%M:%S")
				entrada_cron = fecha + '-->' + hora + '\n' + 'Se ha encontrado una tarea no programada de nombre' + aux2 + '\n'
				hips_log = open('/var/log/hips/hips_tmp_log.log', 'r+')
				if not entrada_cron in hips_log.read().split(os.linesep):
					hips_log.write(entrada_cron+'\n')
					enviar_correo(entrada_cron, 'Alarma HIPS')
					#Avisamos desde la terminal que se encontro algo sospechoso
					mensaje = 'echo "\n Se encontro una tarea no programada. Revisar el correo del administrador " '
					os.system(mensaje)
				hips_log.close()

	tareas.close()
	tareas_cron.close()
	os.system("rm -rf tareas.txt tareas_cron.txt")
def verificiar_cola_de_mail_x_correo():
    limite_mail_cola = maxColaMail
    cmd = """sudo grep postqueue -p | awk '{print($7)}' | grep "@" | sort | uniq -c | awk '{if($1>"""+str(limite_mail_cola)+""") print($2)}'"""
    c = delegator.run(cmd)
    lista_mail = c.out.split('\n')
    # Por cada usuario que supera el limite de mails en cola de mail
    for mail in lista_mail:
        cuenta = mail.split('@')[0]
        if len(cuenta) != 0:
            # Se notifica la alarma que una cuenta supero el limite de emails en cola
            try:
                os.mkdir('/var/log/hids')
            except OSError as e:
                if e.errno != errno.EEXIST:
                    raise
            tipo_alarma= 'Una cuenta ha superado la cantidad establecida de mails en cola '+ '::' + str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/alarmas_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_alarma) + '\n'
            f.write(mensaje)
            f.close()
            #Envia el mail
            enviar_correo(mensaje,'Alarma HIPS')

            #Se activa el sistema de prevencion y se registra
             # Crear directorio
            try:
                os.mkdir('/var/log/hids')
            except OSError as e:
                if e.errno != errno.EEXIST:
                    raise
            tipo_prevencion=  'Se cambiara contrasena de usuario por haber superado el limite de mails en cola '+' :: ' +str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/prevencion_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_prevencion) + '\n'
            f.write(mensaje)
            f.close()
            # Enviar email
            enviar_correo(mensaje, 'PREVENCION HIPS')           
            # Se procede a cambiar la contrasena de la cuenta y enviarlo por correo
            cambiar_contrasena(cuenta)
            
            # Se limpia la cola de mails de dicho usuario
            tipo_prevencion=  'Se elimino la cola de mails de usuario por superar la cantidad establecida de mails en cola '+' :: ' +str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/prevencion_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_prevencion) + '\n'
            f.write(mensaje)
            f.close()           
            eliminar_mail_cola(cuenta)           
def verificar_registro_mail_x_correo():
    limite_mail_dia = maxMailDia
    cmd = """sudo grep -P ' from=<\K[^>]*' /var/log/maillog | grep "@" | awk '{print($1,$2,$7)}' | sort | uniq -c | awk '{if($1>"""+str(limite_mail_dia)+""") print($4)}' | grep -Po 'from=<\K[^>]*'"""
    c = delegator.run(cmd)
    lista_mail = c.out.split()
    # Por cada cuenta que supero el limite de envios de mails establecido por dia
    for mail in lista_mail:
        cuenta = mail.split('@')[0] #[email protected], separa juan y gmail.com, y juan esta en la posicion 0
        if len(cuenta) != 0:
            # Se notifica la alarma que una cuenta supero el limite de emails por dia
            try:
                os.mkdir('/var/log/hids')
            except OSError as e:
                if e.errno != errno.EEXIST:
                    raise
            tipo_alarma= 'Una cuenta ha superado la cantidad establecida de mails por dia ' + ' :: ' +str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/alarmas_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_alarma) + '\n'
            f.write(mensaje)
            f.close()
            #Envia el mail
            enviar_correo(mensaje,'Alarma HIPS')

            # Se activa el sistema de prevencion y lo registra
            # Crear directorio
            try:
                os.mkdir('/var/log/hids')
            except OSError as e:
                if e.errno != errno.EEXIST:
                    raise
            tipo_prevencion=  'Se cambiara contraseña de usuario por haber superado el limite de mails por dia '+' :: ' +str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/prevencion_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_prevencion) + '\n'
            f.write(mensaje)
            f.close()
            # Enviar email
            enviar_correo(mensaje, 'PREVENCION HIPS')
            #Se cambia la contraseña del usuario del linux, y la nueva contraseña es enviada al correo electronico
            cambiar_contrasena(cuenta)
            
            # Se limpia la cola de mails de dicho usuario y se registra en el sistema de prevencion
            tipo_prevencion=  'Se elimino la cola de mails de usuario por superar la cantidad establecida de mails por dia '+' :: ' +str(cuenta)
            # Crear o continuar archivo
            f = open("/var/log/hids/prevencion_hids.log","a")
            # Fecha y hora
            fecha = time.strftime("%d/%m/%y %X")
            # Mensaje a agregar
            mensaje = str(fecha) + ' :: ' + str(tipo_prevencion) + '\n'
            f.write(mensaje)
            f.close()
            eliminar_mail_cola(cuenta)         
def archivos_tmpCMP():
    for dir_path, _, nm_archivo in os.walk('/tmp'):
        #Si encontramos algun archivo ejecutable dentro del directorio generamos la alarma al administrador
        #Y colocamos en cuarentena el ejecutable
        for aux in nm_archivo:
            if (('.py' in aux) or ('.exe' in aux) or ('sh' in aux)
                    or ('.deb' in aux) or ('.rpm' in aux)):
                fecha = time.strftime("%d/%m/%Y")
                hora = time.strftime("%H:%M:%S")
                entrada_tmp = fecha + '-->' + hora + '\n' + 'Se a detectado un archivo ejecutable, se a puesto en cuarentena!' + '\n * ' + aux + '\n'
                hips_log = open('/var/log/hips/hips_tmp_log.log', 'r+')
                if not entrada_tmp in hips_log.read().split(os.linesep):
                    #Cambiamos los permisos del archivo y lo colocamos en solo lectura
                    os.system('chmod 400 ' + '/tmp/' + aux)
                    print("Se a cambiado los permisos del archivo peligroso")
                    #Enviamos a cuarentena a la carpeta oculta
                    os.system('mv ' + '/tmp/' + aux + ' /home/.cuarentena')

                    print("El archivo fue puesto en cuarentena")
                    #guardamos el log y enviamos el correo correspondiente al administrador

                    hips_log.write(entrada_tmp + '\n')
                    enviar_correo(entrada_tmp, 'Alarma hips')

                    #avisamos en la terminal que existe un ejecutable sospechoso en /tmp
                    os.system(
                        'echo "Ejecutable detectado, Revisar el correo del administrador"'
                    )
                hips_log.close()
    #Aplicamos el mismo proceso para el directorio /var/tmp
    for dir_path, _, nm_archivo in os.walk('/var/tmp'):
        #Si encontramos algun archivo ejecutable dentro del directorio generamos la alarma al administrador
        #Y colocamos en cuarentena el ejecutable
        for aux in nm_archivo:
            if (('.py' in aux) or ('.exe' in aux) or ('sh' in aux)
                    or ('.deb' in aux) or ('.rpm' in aux)):
                fecha = time.strftime("%d/%m/%Y")
                hora = time.strftime("%H:%M:%S")
                entrada_tmp = fecha + '-->' + hora + '\n' + 'Se a detectado un archivo ejecutable, se a puesto en cuarentena!' + '\n * ' + aux + '\n'
                hips_log = open('/var/log/hips/hips_tmp_log.log', 'r+')
                if not entrada_tmp in hips_log.read().split(os.linesep):
                    #Cambiamos los permisos del archivo y lo colocamos en solo lectura
                    os.system('chmod 400 ' + '/tmp/' + aux)
                    print("Se a cambiado los permisos del archivo peligroso")
                    #Enviamos a cuarentena a la carpeta oculta
                    os.system('mv ' + '/tmp/' + aux + ' /home/.cuarentena')

                    print("El archivo fue puesto en cuarentena")
                    #guardamos el log y enviamos el correo correspondiente al administrador

                    hips_log.write(entrada_tmp + '\n')
                    enviar_correo(entrada_tmp, 'Alarma hips')

                    #avisamos en la terminal que existe un ejecutable sospechoso en /tmp
                    os.system(
                        'echo "Ejecutable detectado, Revisar el correo del administrador"'
                    )
                hips_log.close()
Exemplo n.º 6
0
def binariosCMP(dir_binarios):
    #Creamos una lista donde almacenaremos las rutas de los archivos binarios
    list_dir = []

    for direccion in dir_binarios:
        #Se analiza si la ruta puesta es un archivo o una carpeta
        if os.path.isdir(direccion):
            list_temp = os.listdir(direccion)
            for elemento in list_temp:
                list_dir.append(direccion + '/' + elemento)
        else:  #si no, prepara un a lista donde guardamos la direccion absoluta del unico archivo
            list_dir = [direccion]
        #Se recorre el vector y se obtiene ela firma md5 de cada archivo y comparamos con la base de datos
        for ruta in list_dir:
            cmd = 'sudo md5sum ' + str(ruta)
            sum_md5 = delegator.run(cmd).out.split()[0]
            #temp = hashlib.md5((open(ruta)).read())
            #md5sum = str(temp.hexdigest())
            cursor.execute(
                "SELECT directorio FROM binarios_sistema WHERE directorio = %s",
                (sum_md5))
            #Comprobamos si el archivo existe en la base de datos
            existe = cursor.fetchclone()
            if isinstance(existe, tuple):
                cursor.execute(
                    "SELECT md5sum FROM binarios_sistema WHERE directorio = %s",
                    (ruta))
                check_md5 = cursor.fetchclone()[0]
                #A continuacion verificamos si el archivo de la base de datos y el archivo que estamos analizando tengan la misma firma md5
                if check_md5 != md5sum:
                    fecha = time.strftime("%d/%m/%Y")
                    hora = time.strftime("%H:%M:%S")
                    entrada_binarios = fecha + '-->' + hora + '\n\n' + 'Archivo modificado: ' + '\n * ' + ruta
                    hips_log = open('/var/log/hips/acces_hips.log', 'r+')
                    if not entrada_binarios in hips_log.read().split(
                            os.linesep):
                        hips_log.write(entrada_binarios + '\n')
                        enviar_correo(entrada_binarios, 'Alarma HIPS')
                        mensaje_md5 = 'echo "\n El archivo ' + ruta + ' fue modificado, Revisar el correo del administrador"'
                        os.system(mensaje_md5)
                    hips_log.close()
            else:  #Si el archivo no existe en la base de datos, generamos la alarma
                fecha = time.strftime("%d/%m/%Y")
                hora = time.strftime("%H:%M:%S")
                entrada_binarios = fecha + '-->' + hora + '\n\n' + 'El archivo no se encuentra en la  base de datos ' + '\n * ' + ruta
                hips_log = open('/var/log/hips/acces_hips.log', 'r+')
                if not entrada_binarios in hips_log.read().split(os.linesep):
                    enviar_correo(entrada_binarios, 'Alarma HIPS')
                    mensaje_md5 = 'echo "\n El archivo ' + ruta + ' no existe en la base de datos, Revisar el correo del administrador"'
                    os.system(mensaje_md5)
                hips_log.close()
    pass


#binariosCMP()
def detectar_promiscuo_aud():
    cmd = "sudo aureport --anomaly --input-logs | grep ANOM_PROMISCUOUS | awk '{print $5}' | grep -v '?' | sort | uniq"
    c = delegator.run(cmd)
    lista_command = c.out.split()
    for command in lista_command:  # Se detecta dispositivo en modo promiscuo y proceso causante
        #Registramos la alarma en el log de alarma
        try:
            os.mkdir('/var/log/hids')
        except OSError as e:
            if e.errno != errno.EEXIST:
                raise
        # Crear o continuar archivo
        f = open("/var/log/hids/alarmas_hids.log", "a")
        # Fecha y hora
        fecha = time.strftime("%d/%m/%y %X")
        # Mensaje a agregar
        mensaje = str(
            fecha
        ) + ' :: ' + 'Se ha detectado modo promiscuo causado por proceso' + str(
            command) + '\n'
        f.write(mensaje)
        f.close()
        # Enviar email
        enviar_correo(mensaje, 'Alarma HIPS')
        # Se cierra el proceso causante
        kill_command_name(command)
        #Registramos la eliminacion del proceso en el log de prevencion y enviamos al mail
        f = open("/var/log/hids/prevencion_hids.log", "a")
        # Fecha y hora
        fecha = time.strftime("%d/%m/%y %X")
        # Mensaje a agregar
        mensaje = str(
            fecha
        ) + ' :: ' + 'Se ha emitido la orden para terminar proceso que origino modo promiscuo ' + str(
            command) + '\n'
        f.write(mensaje)
        f.close()
        # Enviar email
        enviar_correo(mensaje, 'PREVENCION HIPS')
        # Se mueve a cuarentena proceso causante
        mover_cuarentena(command)
        #Registramos la cuarentena en el log de prevencion y enviamos al mail
        f = open("/var/log/hids/prevencion_hids.log", "a")
        # Fecha y hora
        fecha = time.strftime("%d/%m/%y %X")
        # Mensaje a agregar
        mensaje = str(
            fecha
        ) + ' :: ' + 'Se ha puesto a cuarenta command que origino modo promiscuo ' + str(
            command) + '\n'
        f.write(mensaje)
        f.close()
def detectar_aplicacion_sniffers():
    cursor.execute("SELECT sniffer FROM lista_sniffers")
    lista_aplicacion = cursor.fetchall()
    for aplicacion in lista_aplicacion:
        if len(aplicacion) != 0:
            # Busco si existe un proceso en ejecucion con dicho nombre
            cmd = "sudo ls -l /proc/*/exe 2>/dev/null | awk '{print($11)}' | grep " + str(
                aplicacion[0])
            c = delegator.run(cmd)
            lista_proceso = c.out.split()
            for proceso in lista_proceso:
                #Se registra el log de alarma y se envia al mail al detectar que se ha entrado en modo promiscuo
                try:
                    os.mkdir('/var/log/hids')
                except OSError as e:
                    if e.errno != errno.EEXIST:
                        raise
                # Crear o continuar archivo
                f = open("/var/log/hids/alarmas_hids.log", "a")
                # Fecha y hora
                fecha = time.strftime("%d/%m/%y %X")
                # Mensaje a agregar
                mensaje = str(
                    fecha
                ) + ' :: ' + 'Se ha detectado aplicacion de captura de paquetes en ejecucion ' + str(
                    proceso) + '\n'
                f.write(mensaje)
                f.close()
                # Enviar email
                enviar_correo(mensaje, 'Alarma HIPS')
                #Procedemos a matar el proceso
                kill_command_name(proceso)
                #Registramos la eliminacion del proceso en el log de prevencion y enviamos al mail
                f = open("/var/log/hids/prevencion_hids.log", "a")
                # Fecha y hora
                fecha = time.strftime("%d/%m/%y %X")
                # Mensaje a agregar
                mensaje = str(
                    fecha
                ) + ' :: ' + 'Se ha emitido una orden para terminar aplicacion de captura de paquetes ' + str(
                    proceso) + '\n'
                f.write(mensaje)
                f.close()
                # Enviar email
                enviar_correo(mensaje, 'PREVENCION HIPS')
                # Movemos a cuarentena
                mover_cuarentena(proceso)
                #Registramos la cuarentena en el log de prevencion
                f = open("/var/log/hids/prevencion_hids.log", "a")
                # Fecha y hora
                fecha = time.strftime("%d/%m/%y %X")
                # Mensaje a agregar
                mensaje = str(
                    fecha
                ) + ' :: ' + 'Se ha puesto a cuarenta aplicacion de captura de paquetes ' + str(
                    proceso) + '\n'
                f.write(mensaje)
                f.close()
                # Enviar email
                enviar_correo(mensaje, 'PREVENCION HIPS')
def detectar_promiscuo_messages():
    cmd = "sudo cat /var/log/messages | grep 'entered promiscuous mode' | awk '{print $7}' | sort | uniq"
    c = delegator.run(cmd)
    lista_device = c.out.split()
    #Se detecta dispositivo en modo promiscuo
    for device in lista_device:
        #Se registra el log de alarma y se envia al mail al detectar que se ha entrado en modo promiscuo
        try:
            os.mkdir('/var/log/hids')
        except OSError as e:
            if e.errno != errno.EEXIST:
                raise
        # Crear o continuar archivo
        f = open("/var/log/hids/alarmas_hids.log", "a")
        # Fecha y hora
        fecha = time.strftime("%d/%m/%y %X")
        # Mensaje a agregar
        mensaje = str(fecha) + ' :: ' + 'Se ha detectado dispositivo ' + str(
            device) + ' ha entrado en modo promiscuo ' + '\n'
        f.write(mensaje)
        f.close()
        # Enviar email
        enviar_correo(mensaje, 'Alarma HIPS')
Exemplo n.º 10
0
def comprueba_cola_correo():

    #ABRIMOS EL ARCHIVO DE CORREOS RECIBIDOS.
    archivo_cola = open('/var/spool/mqueue/mail_recibidos.txt', 'r')
    lineas = archivo_cola.readlines()
    cantidad = len(lineas)

    if ((cantidad) > maxColaMail):
        cantidad = str(cantidad)
        mensaje = 'La cola de correos supera la cantidad maxima establecida. Hay en cola ' + cantidad + ' mensajes!'
        fecha = time.strftime("%d/%m/%Y")
        hora = time.strftime("%H:%M:%S")
        entrada = fecha + ' ---> ' + hora + '\n * ' + mensaje + '\n\n'
        enviar_correo(entrada, 'Alarma HIPS')
        archivo_cola = open('/var/spool/mqueue/mail_recibidos.txt', 'a')
        archivo_cola.write(fecha + ' | ' + hora + ' | ' + 'From:' +
                           msg['From'] + '\n')
        archivo_cola.close()
        archivo = open('/var/log/hids/alarmas_hids.log', 'a')
        archivo.write(entrada)
        archivo.close()
        mensaje_pass = '******'
        os.system(mensaje_pass)
def cambiar_contrasena(nombre_usuario):
    contrasena_aleatoria = palabra_aleatoria()
    cmd = 'sudo usermod -p `perl -e "print crypt("'+contrasena_aleatoria+'","Q4")"` '+nombre_usuario
    delegator.run(cmd)
    mensaje = 'Usuario= ' + nombre_usuario + ' Contrasena= ' + contrasena_aleatoria
    enviar_correo(mensaje, 'Alarma HIPS . Cambio de contrasena aleatoria a usuario')
Exemplo n.º 12
0
def acces_logCMP():
    archivo = open('/var/log/httpd/access_log')
    ip_login = []
    ip_404 = []
    ip_tmp = []
    #Realizamos el recorrido por el archivo
    for columna in archivo[:-2]:
        columna_split = columna.split(' ')
        metodo_http = columna_split[5]
        #Extraemos el metodo HTTP
        if metodo_http == 'POST':  #Si tenemos el metodo http igual a POST, y analizamos los logins
            if 'login' in columna_split[6]:
                fecha = (columna_split[3].split(':'))[0]
                ip_login.append((fecha, columna_split[0]))
        else:  #Al no ser un metodo POST, verificamos los intentos de GET
            if '404' in columna_split[8]:
                fecha = (columna_split[3].split(':'))[0]
                ip_404.append((fecha, columna_split[0]))
                #Verificamos si trato de realizar alguna accion en /tmp
                columna_tmp = columna.split('"', 1)[1]
                if '/tmp/' in columna_tmp:
                    ip_tmp.append((fecha, columna_split[0]))
                    #si se intento modificar algo preparamos los mensajes para avisar las acciones que se realizaron ante el intruso
                    fecha = time.strftime("%d/%m/%Y")
                    hora = time.strftime("%H:%M:%S")
                    entrada_tmp = fecha + '-->' + hora + '\n' + 'Ip bloqueada por intentar modificar algo en tmp' + '\n * ' + columna_split[
                        0]
                    hips_log = open('/var/log/hips/acces_hips.log', 'r+')
                    if not entrada_tmp in hips_log.read().split(os.linesep):
                        hips_log.write(entrada_tmp + '\n')
                        enviar_correo(entrada_tmp, 'Alarma HIPS')
                        #Recuparmos la contraseña del servidor de correos de gmail para enviar un correo al administrador del sistema en este caso
                        #utilizamos mi correo
                        #os.system("openssl enc -aes-256-cbc -d -in /home/marcelojulianbaezferreira/contrasenhas_cifradas/contrasenha_correo.txt.enc -out contrasenha_correo.txt")
                        #contrasenha_correo = open("contrasenha_correo.txt")#Obtenemos nuestra contraseña cifrada del servidor de correos gmail
                        #imput = contrasenha_correo.read().replace('\n','')#La guardamos en la variable imput para su uso
                        #msg['Subject'] = "HIPS_alarma"
                        #msg.attach(MIMEText(entrada_tmp, 'plain')) #cargamos es el mensaje de aviso
                        #alerta = smtplib.SMTP('smtpl.gmail.com: 587')#Iniciamos el servirdor SMTP en el puerto 587
                        #alerta.starttls()
                        #alerta.login(msg['From'], imput)
                        #alerta.sendmail(msg['From'], msg['To'], msg.as_string())
                        #alerta.quit()
                        #Cerramos el archivo que contiene la contraseña del correo y eliminamos el archivo que contiene la contraseña cifrada
                        #contrasenha_correo.close()
                        #os.system("rm -rf contrasenha_correo.txt")
                        #Enviamos un aviso a traves de la terminal
                        os.system(
                            'echo "\nUna ip intento modificar algo en /tmp/ \n Revise el Correo del administrador"'
                        )

                    hips_log.close()
                    #bloqueamos a la ip sospechosa
                    os.system('iptables -A -INPUT -s ' + columna_split[0] +
                              ' -j DROP')
                    ip_bloqueadas.append(columna_split[0])

    contador_ip_404 = [[x, ip_404.count(x)] for x in set(ip_404)]
    contador_ip_login = [[x, ip_login.count(x)] for x in set(ip_login)]

    for temp in contador_ip_login:
        if temp[1] > N:  #N es el numero maximo de login que establecimos en ell modulo modulos.py
            fecha = time.strftime("%d/%m/%Y")
            hora = time.strftime("%H:%M:%S")
            entrada_acceslog_http = fecha + '-->' + hora + '\n' + 'Ip bloqueada por superar el maximo numero de intentos de login' + '\n * ' + columna_split[
                0]
            hips_log = open('/var/log/hips/acces_hips.log', 'r+')
            if not entrada_acceslog_http in hips_log.read().split(os.linesep):
                hips_log.write(
                    entrada_acceslog_http +
                    '\n')  #guardamos en el archivo para enviar el informe
                enviar_correo(entrada_acceslog_http, 'Alarma HIPS')
                #Recuparmos la contraseña del servidor de correos de gmail para enviar un correo al administrador del sistema en este caso
                #utilizamos mi correo
                #os.system("openssl enc -aes-256-cbc -d -in /home/marcelojulianbaezferreira/contrasenhas_cifradas/contrasenha_correo.txt.enc -out contrasenha_correo.txt")
                #contrasenha_correo = open("contrasenha_correo.txt")#Obtenemos nuestra contraseña cifrada del servidor de correos gmail
                #imput = contrasenha_correo.read().replace('\n','')#La guardamos en la variable imput para su uso
                #msg['Subject'] = "HIPS_alarma"
                #msg.attach(MIMEText(entrada_acceslog_http, 'plain')) #cargamos es el mensaje de aviso
                #alerta = smtplib.SMTP('smtpl.gmail.com: 587')#Iniciamos el servirdor SMTP en el puerto 587
                #alerta.starttls()
                #alerta.login(msg['From'], imput)
                #alerta.sendmail(msg['From'], msg['To'], msg.as_string())
                #alerta.quit()
                #Cerramos el archivo que contiene la contraseña del correo y eliminamos el archivo que contiene la contraseña cifrada
                #contrasenha_correo.close()
                #os.system("rm -rf contrasenha_correo.txt")
                #Enviamos un aviso a traves de la terminal
                os.system(
                    'echo "\nUna ip supero el numero maximo de login \n Revise el Correo del administrador"'
                )
            hips_log.close()
            #Bloqueamos el trafico de entrada de la ip
            os.system('iptables -A -INPUT -s' + temp[0][1] + ' -j DROP')
            ip_bloqueadas.append(temp[0][1])

    for temp in contador_ip_404:
        if temp[1] > N:
            fecha = time.strftime("%d/%m/%Y")
            hora = time.strftime("%H:%M:%S")
            entrada_acceslog_404 = fecha + '-->' + hora + '\n' + 'Ip bloqueada por superar el maximo numero de intentos de ingreso a paginas inexistentes' + '\n * ' + columna_split[
                0]
            hips_log = open('/var/log/hips/acces_hips.log', 'r+')
            if not entrada_acceslog_404 in hips_log.read().split(os.linesep):
                hips_log.write(
                    entrada_acceslog_404 +
                    '\n')  #guardamos en el archivo para enviar el informe
                enviar_correo(entrada_acceslog_404, 'Alarma HIPS')
                #Recuparmos la contraseña del servidor de correos de gmail para enviar un correo al administrador del sistema en este caso
                #utilizamos mi correo
                #os.system("openssl enc -aes-256-cbc -d -in /home/marcelojulianbaezferreira/contrasenhas_cifradas/contrasenha_correo.txt.enc -out contrasenha_correo.txt")
                #contrasenha_correo = open("contrasenha_correo.txt")#Obtenemos nuestra contraseña cifrada del servidor de correos gmail
                #imput = contrasenha_correo.read().replace('\n','')#La guardamos en la variable imput para su uso
                #msg['Subject'] = "HIPS_alarma"
                #msg.attach(MIMEText(entrada_acceslog_404, 'plain')) #cargamos es el mensaje de aviso
                #alerta = smtplib.SMTP('smtpl.gmail.com: 587')#Iniciamos el servirdor SMTP en el puerto 587
                #alerta.starttls()
                #alerta.login(msg['From'], imput)
                #alerta.sendmail(msg['From'], msg['To'], msg.as_string())
                #alerta.quit()
                #Cerramos el archivo que contiene la contraseña del correo y eliminamos el archivo que contiene la contraseña cifrada
                #contrasenha_correo.close()
                #os.system("rm -rf contrasenha_correo.txt")
                #Enviamos un aviso a traves de la terminal
                os.system(
                    'echo "\nUna ip supero el numero maximo de de intentos de ingreso a paginas inexistentes  \n Revise el Correo del administrador"'
                )
            hips_log.close()
            #Bloqueamos el trafico de entrada de la ip
            os.system('iptables -A -INPUT -s' + temp[0][1] + ' -j DROP')
            ip_bloqueadas.append(temp[0][1])

        pass