{"id":1951,"date":"2019-09-24T13:12:50","date_gmt":"2019-09-24T19:12:50","guid":{"rendered":"https:\/\/ugit.siua.ac.cr\/?p=1951"},"modified":"2021-02-09T11:07:41","modified_gmt":"2021-02-09T17:07:41","slug":"ugit-seguridad-servidores-v2","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=1951","title":{"rendered":"UGIT: Seguridad Servidores V2"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>Esta gu\u00eda explica las medidas de seguridad implementadas en los servidores de la SIUA<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#01: Dependencias<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Instalamos ciertas dependencias<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install make build-essential net-tools git -y<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#02: Postfix-Gmail<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Para dar soporte para el envi\u00f3 de correos vamos a configurar postfix-gmail<\/li><li>Gu\u00eda: <a rel=\"noreferrer noopener\" aria-label=\"PROXMOX 6: Configuraci\u00f3n de postfix \u2013 gmail (abre en una nueva pesta\u00f1a)\" href=\"\/?p=1182\" target=\"_blank\">PROXMOX 6: Configuraci\u00f3n de postfix \u2013 gmail<\/a><\/li><li>Gu\u00eda: <a href=\"\/?p=1885\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Postfix-Gmail (abre en una nueva pesta\u00f1a)\">Postfix-Gmail<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#03: RKhunter<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Descargamos el programa: <a href=\"https:\/\/ugit.blog.siua.ac.cr\/Archivos\/rkhunter\/rkhunter-1.4.6.tar.gz\">rkhunter-1.4.6.tar.<\/a><a rel=\"noreferrer noopener\" aria-label=\"gz (abre en una nueva pesta\u00f1a)\" href=\"\/wp-content\/uploads\/2019\/09\/rkhunter-1.4.6.tar.gz\" target=\"_blank\">gz<\/a><\/li><li>Instalamos rkhunter&nbsp;que es un esc\u00e1ner que analiza y busca en nuestro ordenador, backdoors, exploits, sniffers y por supuesto rootkits, realizando diferentes pruebas a nuestro sistema.<\/li><li>Ingresamos a tmp para que despu\u00e9s del siguiente reinicio se eliminen los archivos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/tmp<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Descargamos el fichero:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wget \/wp-content\/uploads\/2019\/09\/rkhunter-1.4.6.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo descomprimimos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>tar -zxf rkhunter-1.4.6.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ingresamos a la carpeta:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd rkhunter-1.4.6<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo instalamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/installer.sh --install<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Podemos verificar la versi\u00f3n:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>rkhunter --versioncheck<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>RESULTADO:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91; Rootkit Hunter version 1.4.6 ]\n\nChecking rkhunter version...\n  This version  : 1.4.6\n  Latest version: 1.4.6\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Actualizamos la base de datos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>rkhunter --update<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>RESULTADO:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91; Rootkit Hunter version 1.4.6 ]\n\nChecking rkhunter version...\n  This version  : 1.4.6\n  Latest version: 1.4.6\nroot@metis:\/tmp\/rkhunter-1.4.6# rkhunter --update\n&#91; Rootkit Hunter version 1.4.6 ]\n\nChecking rkhunter data files...\n  Checking file mirrors.dat                                  &#91; Updated ]\n  Checking file programs_bad.dat                             &#91; No update ]\n  Checking file backdoorports.dat                            &#91; No update ]\n  Checking file suspscan.dat                                 &#91; No update ]\n  Checking file i18n\/cn                                      &#91; No update ]\n  Checking file i18n\/de                                      &#91; No update ]\n  Checking file i18n\/en                                      &#91; No update ]\n  Checking file i18n\/tr                                      &#91; No update ]\n  Checking file i18n\/tr.utf8                                 &#91; No update ]\n  Checking file i18n\/zh                                      &#91; No update ]\n  Checking file i18n\/zh.utf8                                 &#91; No update ]\n  Checking file i18n\/ja                                      &#91; No update ]\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Crear el archivo rkhunter.dat<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>rkhunter --propupd<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora podemos verificar el sistema<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>rkhunter -c<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora creamos un cron mensual para que verifique nuestro sistema<\/li><li>Creamos una archivo en:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/cron.monthly\/rkhunter.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash (  rkhunter --versioncheck  rkhunter --update  rkhunter -c --cronjob --report-warnings-only )| mail -a \"From: ataques@siua.ac.cr\" -s \"rkhunter: $(hostname -s)\"  <code>ataques@siua.ac.cr<\/code><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Le damos permisos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x \/etc\/cron.monthly\/rkhunter.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos consultar el log file<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/var\/log\/rkhunter.log<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#04: Chkrootkit<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Programa que permite&nbsp;buscar rootkits<\/li><li>Ingresamos a \/tmp para que los archivos sean eliminados despu\u00e9s de reiniciar<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/tmp<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Descargamos el archivo: <a href=\"\/wp-content\/uploads\/2019\/09\/chkrootkit.tar.gz\">chkrootkit053<\/a><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wget \/wp-content\/uploads\/2019\/09\/chkrootkit.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo descomprimimos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>tar xvfz chkrootkit.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ingresamos a la carpeta:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd chkrootkit-0.53\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo&nbsp;compilamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>make sense<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Regresamos un nivel en la capeta:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ..<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Movemos el contenido a \/usr\/local\/chkrootkit<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mv chkrootkit-0.53\/ \/usr\/local\/chkrootkit<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ingresamos a la carpeta para verificar que existen los archivos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/usr\/local\/chkrootkit\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Creamos una enlace simb\u00f3lico<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/usr\/local\/chkrootkit\/chkrootkit \/usr\/local\/bin\/chkrootkit<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Verificamos el servidor:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#Muestra todo la salida\nchkrootkit \n\n#Muestra solo las detecciones\nchkrootkit -q<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Creamos un cron que se ejecute todos los meses<\/li><li>Ejecutamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Le agregamos el siguiente contenido<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>@monthly \/usr\/local\/chkrootkit\/chkrootkit -q | mail -s \"chkrootkit: $(hostname -s)\" <code>ataques@siua.ac.cr<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#05: Instalar logwatch<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Logwatch es un sistema de monitoreo de logs personalizable. Su funci\u00f3n es revisar los logs del sistema en un per\u00edodo de tiempo determinado y elaborar un resumen con el nivel de detalle que se desee. Luego es capaz de enviar el resumen por mail en forma de reporte. Es muy \u00fatil para monitorear la actividad de los servidores y detectar posibles abusos, intentos de intrusi\u00f3n, consumo de recursos, etc.<\/li><li>Es importante saber que logwatch se instala en \u00ab\/usr\/share\/logwatch\u00bb pero crea una estructura de archivos en \/etc\/logwatch, la idea es que toda configuraci\u00f3n \u00abadicional\u00bb la hagamos aqu\u00ed y esta sobreescriba a la de \/usr\/share\/logwatch<\/li><li>Los instalamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install logwatch -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Copiamos el archivos de&nbsp;configuraci\u00f3n de \u00abf\u00e1brica\u00bb<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cp \/usr\/share\/logwatch\/default.conf\/logwatch.conf \/etc\/logwatch\/conf\/logwatch.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Creamos una carpeta requerida:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/var\/cache\/logwatch<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrimos el archivo:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/logwatch\/conf\/logwatch.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Modificamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>-------------------------------------------------------------- <br>Output = stdout <br>X <br>Output = mail <br>-------------------------------------------------------------- <br>Format = text X Format = html -------------------------------------------------------------- <br>MailTo = root <br>X <br>MailTo = log@siua.ac.cr<br>-------------------------------------------------------------- <br>MailFrom = Logwatch <br>X <br>MailFrom = Logwatch_POSEIDON -------------------------------------------------------------- <br>Detail = Low <br>X <br>Detail = 8 <br>--------------------------------------------------------------<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si fuera necesario modificar el archivo:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/cron.daily\/00logwatch<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#06: OpenSSH-RESUMEN<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Esta secci\u00f3n explica c\u00f3mo instalar el servicio openssh sobre el puerto 44 y con medidas de seguridad<\/li><li>Seguimos la gu\u00eda: <a rel=\"noreferrer noopener\" aria-label=\"OpenSSh-Resumen (abre en una nueva pesta\u00f1a)\" href=\"\/?p=1957\" target=\"_blank\">OpenSSH-Resumen<\/a><\/li><li>Si desea comprender mejor puede consultar la gu\u00eda: <a href=\"\/?p=1958\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"OpenSSH-Completa (abre en una nueva pesta\u00f1a)\">OpenSSH-Completa<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#07: Creaci\u00f3n de llaves ED25519<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Si desea ingresar a los servidores de forma autom\u00e1tica a trav\u00e9s de llaves, siga este paso<\/li><li>Si ya cuanta con una llave puede saltar este paso<\/li><li>Creamos una llave<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -o -a 100 -t ed25519 -f ~\/.ssh\/id_ed25519 -C \"ugit@metis.siua.ac.cr\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Donde:<ul><li><strong>-o:<\/strong> indica que utilice el nuevo formato de OpenSSH en vez de PEM. Actualmente esta opci\u00f3n esta impl\u00edcita para el tipo ed25519.<\/li><li><strong>-a:<\/strong> Son los n\u00fameros de KDF (Key Derivation Function), n\u00fameros m\u00e1s altos hacen m\u00e1s lenta la verificaci\u00f3n de la contrase\u00f1a, pero aumentan la resistencia en ataques de fuerza bruta cuando se da un robo de la contrase\u00f1a privada.<\/li><li><strong>-t:<\/strong> inidca el tipo de llave a crear, para nuestro caso ed25519.<\/li><li><strong>-f:<\/strong> indica el ligar y nombre de archivo<\/li><li><strong>-c:<\/strong> indica un comentario, es pura informaci\u00f3n y opcional, pero generalmente es en formato: <strong>&lt;login&gt;@&lt;hostname&gt;<\/strong> <\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora puede encontrar su llave  privada en: <strong>~\/.ssh\/id_ed25519<\/strong><\/li><li>Y su llave publica en: <strong>~\/.ssh\/id_ed25519.pub<\/strong><\/li><li>Antes de agregar su nueva llave al agente SSH, verifique que se esta ejecutando con el siguiente comando:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>eval \"$(ssh-agent -s)\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora agregamos la lave al agente SSH<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-add ~\/.ssh\/id_ed25519<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>O si desea agregar todas la llaves disponibles en el directorio .ssh ejecute<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-add<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#08: Agregar llaves en el servidor remoto<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Para agregar solo la lave creada en el paso anterior:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -i ~\/.ssh\/id_ed25519 ugit@metis.siua.ac.cr<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">NOTA: Si ya tenia un allave asociada<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Si nos da el siguiente error<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\nThe ED25519 host key for metis.siua.ac.cr has changed,\nand the key for the corresponding IP address 10.20.200.25\nhas a different value. This could either mean that\nDNS SPOOFING is happening or the IP address for the host\nand its host key have changed at the same time.\nOffending key for IP in \/home\/tavo\/.ssh\/known_hosts:43\n  remove with:\n  ssh-keygen -f \"\/home\/tavo\/.ssh\/known_hosts\" -R \"10.20.200.25\"\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\nIT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\nSomeone could be eavesdropping on you right now (man-in-the-middle attack)!\nIt is also possible that a host key has just been changed.\nThe fingerprint for the ED25519 key sent by the remote host is\nSHA256:ZMhaG0oHSEy\/jnGkIGuVGzVc5rB+i4PJ0qjBHbnd8Ks.\nPlease contact your system administrator.\nAdd correct host key in \/home\/tavo\/.ssh\/known_hosts to get rid of this message.\nOffending ECDSA key in \/home\/tavo\/.ssh\/known_hosts:58\n  remove with:\n  ssh-keygen -f \"\/home\/tavo\/.ssh\/known_hosts\" -R \"metis.siua.ac.cr\"\nED25519 host key for metis.siua.ac.cr has changed and you have requested strict checking.\nHost key verification failed.<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Debemos ejecutar los comando para eliminar por la IP y FQDN<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -f \"\/home\/tavo\/.ssh\/known_hosts\" -R \"10.20.200.25\"\nssh-keygen -f \"\/home\/tavo\/.ssh\/known_hosts\" -R \"metis.siua.ac.cr\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Continuamos<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora le pasamos la llave a los servidores<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-copy-id -i ~\/.ssh\/id_ed25519.pub ugit@metis.siua.ac.cr <br>ssh-copy-id -i ~\/.ssh\/id_ed25519.pub ugit@apolo.siua.ac.cr <br>ssh-copy-id -i ~\/.ssh\/id_ed25519.pub ugit@hestia.siua.ac.cr<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso#09: Instalar Fail2ban<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Instalamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install fail2ban -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Copiamos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cp \/etc\/fail2ban\/jail.conf \/etc\/fail2ban\/jail.local<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrimos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Buscamos y remplazamos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ignoreip = 127.0.0.1\/8 \nX \nignoreip = 127.0.0.1 10.20.190.0\/24 10.20.200.0\/24 181.193.87.0\/28 10.30.240.0\/24 201.237.206.56 \n\n-------------------------------------------------------------- \nbantime  = 10m \nX \nbantime = 172800 \n-------------------------------------------------------------- \nmaxretry = 5 \nX \nmaxretry = 3 \n-------------------------------------------------------------- \ndestemail = root@localhost \nX \ndestemail = ataques@siua.ac.cr <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos la linea<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sendername = METIS_Fail2Ban<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Si es un servidor PROXMOX<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos al final<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;proxmox]\nport = https,http,8006\nfilter = proxmox\nlogpath = \/var\/log\/daemon.log\nmaxretry = 3\n# 1 hour\nbantime = 172800<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Creamos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/filter.d\/proxmox.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Con el siguiente c\u00f3digo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Definition]\nfailregex = pvedaemon\\&#91;.*authentication failure; rhost=&lt;HOST&gt; user=.* msg=.*\nignoreregex =<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora puede intentar ingresar en proxmox mas de 3 veces y correr el comando para ver el bloqueo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-regex \/var\/log\/daemon.log \/etc\/fail2ban\/filter.d\/proxmox.conf<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Continuamos<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Guardamos el archivo y cerramos<\/li><li>Ahora abrimos el archivo de jail para habilitar servicios<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.d\/defaults-debian.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Remplazamos el contenido dependiendo de los servicios que desea controlar<\/li><li>Podemos saber los servicios corriendo con alguno de los siguientes comandos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ps -axf\nlsof -i -P -n\nlsof -i -P -n | grep LISTEN<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">SSH<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#***********************************\n#*********** SSH  ******************\n#***********************************\n&#91;sshd]\nenabled = true\n\n&#91;sshd-ddos]\nenabled = true\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">APACHE<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#*********************************** \n#********** APACHE **************** \n#***********************************\n&#91;apache-auth]\nenabled = true\n\n&#91;apache-badbots]\nenabled = true\n\n&#91;apache-noscript]\nenabled = true\n\n&#91;apache-overflows]\nenabled = true\n\n&#91;apache-nohome]\nenabled = true\n\n&#91;apache-botsearch]\nenabled = true\n\n&#91;apache-fakegooglebot]\nenabled = true\n\n&#91;apache-modsecurity]\nenabled = true\n\n&#91;apache-shellshock]\nenabled = true<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">NGINX<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#*********************************** \n#**********   NGINX **************** \n#***********************************\n\n&#91;nginx-http-auth]\nenabled = true\n\n&#91;nginx-botsearch]\nenabled = true\n\n&#91;nginx-limit-req]\nenabled = true<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">NGINX-FAVEO<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Primero debemos abrir el archivo <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Buscar la linea<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;php-url-fopen]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y dejar el contenido as\u00ed:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;php-url-fopen]\n\nport    = http,https\n#logpath = %(nginx_access_log)s\n#          %(apache_access_log)s\nlogpath = \/opt\/faveo\/log\/faveo_access_log\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego abrimos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.d\/defaults-debian.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y lo dejamos as\u00ed<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#***********************************\n#**********  NGINX  ****************\n#***********************************\n&#91;nginx-http-auth]\nenabled = true\n\n&#91;nginx-botsearch]\nenabled = true\n\n&#91;nginx-limit-req]\nenabled = true\n\n#***********************************\n#**********  PHP    ****************\n#***********************************\n&#91;php-url-fopen]\nenabled = true<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">NGINX-GITLAB<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Primero debemos abrir el archivo <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Buscar la linea<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;nginx-http-auth]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y dejar el contenido as\u00ed:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;nginx-http-auth]\n\nport    = http,https\n#logpath = %(nginx_error_log)s\nlogpath = \/var\/log\/gitlab\/nginx\/gitlab_error.log<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego abrimos:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.d\/defaults-debian.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y lo dejamos as\u00ed<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#***********************************\n#*********** SSH  ******************\n#***********************************\n&#91;sshd]\nenabled = true\n\n&#91;sshd-ddos]\nenabled  = true\n\n#***********************************\n#**********  NGINX  ****************\n#***********************************\n&#91;nginx-http-auth]\nenabled = true\n\n\n#***********************************\n#**********  POSTFIX ***************\n#***********************************\n&#91;postfix]\nenabled  = true\n\n&#91;postfix-rbl]\nenabled = true\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">MYSQLP<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#*********************************** \n#*********    MYSQL  *************** \n#***********************************\n&#91;mysqld-auth]\nenabled = true\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">POSTFIX<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#*********************************** \n#**********  POSTFIX *************** \n#***********************************\n\n&#91;postfix]\nenabled = true\n\n&#91;postfix-rbl]\nenabled = true\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">PROXMOX<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#***********************************\n#**********  PROXMOX ***************\n#***********************************\n&#91;proxmox]\nenabled = true<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">RESUMEN PARA SERVIDOR PORXMOX<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#***********************************\n#*********** SSH  ******************\n#***********************************\n&#91;sshd]\nenabled = true\n\n&#91;sshd-ddos]\nenabled = true\n\n#*********************************** \n#********** APACHE  **************** \n#***********************************\n&#91;apache-auth]\nenabled = true\n\n&#91;apache-badbots]\nenabled = true\n\n&#91;apache-noscript]\nenabled = true\n\n&#91;apache-overflows]\nenabled = true\n\n&#91;apache-nohome]\nenabled = true\n\n&#91;apache-botsearch]\nenabled = true\n\n&#91;apache-fakegooglebot]\nenabled = true\n\n&#91;apache-modsecurity]\nenabled = true\n\n&#91;apache-shellshock]\nenabled = true\n\n#*********************************** \n#**********  POSTFIX *************** \n#***********************************\n\n&#91;postfix]\nenabled = true\n\n&#91;postfix-rbl]\nenabled = true\n\n#***********************************\n#**********  PROXMOX ***************\n#***********************************\n&#91;proxmox]\nenabled = true\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Reiniciamos fail2ban:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>service fail2ban restart<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si quiere conocer cuales jaulas est\u00e1n activadas<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client status<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Resultado:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Status\n|- Number of jail:\t12\n`- Jail list:\tapache-auth, apache-badbots, apache-botsearch, apache-fakegooglebot, apache-modsecurity, apache-nohome, apache-noscript, apache-overflows, apache-shellshock, postfix, postfix-rbl, sshd\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si quiere ver el estado de una jaula especifica<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client status sshd<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>RESULTADO:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Status\n|- Number of jail:\t12\n`- Jail list:\tapache-auth, apache-badbots, apache-botsearch, apache-fakegooglebot, apache-modsecurity, apache-nohome, apache-noscript, apache-overflows, apache-shellshock, postfix, postfix-rbl, sshd\nroot@metis:\/tmp\/ssh-audit# fail2ban-client status sshd\nStatus for the jail: sshd\n|- Filter\n|  |- Currently failed:\t0\n|  |- Total failed:\t0\n|  `- File list:\t\/var\/log\/auth.log\n`- Actions\n   |- Currently banned:\t0\n   |- Total banned:\t0\n   `- Banned IP list:<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si quiere saber que el servicio esta activo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status fail2ban<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Modificaciones extras<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora vamos aplicarle algunas otras modificaciones<\/li><li>Podemos ver el nivel del log y modificarlo si fuera necesario<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client get loglevel<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos modificarlo:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client set loglevel {CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos limpiar el log<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client flushlogs<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos consultar cu\u00e1nto tiempo se almacena una BAN en la BD (por defecto: 86400 seconds)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client get dbpurgeage<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Lo modificamos a 2 d\u00edas (2880 segundos)<\/strong><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client set dbpurgeage 2880<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Fail2Ban: Centralizaci\u00f3n de Blacklist IP UGIT<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo que vamos a explicar en este post es que hemos construido una base de datos que centralizar\u00eda todos los ataques que se den a los servidores con IP\u2019s p\u00fablicas, trav\u00e9s fail2ban y un personalizado script bash que enviar\u00eda los datos del ataque a la BD y otro script que se ejecutar\u00eda en todos los servidores todos los d\u00edas a las 12:00am y revisar\u00eda la BD y incluir\u00eda en su firewall las ip\u2019s que no tenga ya incluidas<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Base de datos<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Para descargar la BD haga clic&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/bd_log_ugit.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"aqu\u00ed (abre en una nueva pesta\u00f1a)\">aqu\u00ed<\/a><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Servidor cliente &#8211; Instalar MYSQL-CLIENT<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Ingresamos por ssh como usuario \u00abroot\u00bb<\/li><li>Instalamos dependencias<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install mysql-client curl jq -y\napt-get install curl jq -y<\/code><\/pre>\n\n\n\n<p><strong>NOTA: si estamos en debian 10 (proxmox 6) el comando anterior da error, para esto seguimos la siguiente gu\u00eda: <\/strong><a href=\"\/?p=1981\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">mysql en debian 10<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ingresamos al directorio<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/etc\/fail2ban\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrimos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Buscamos la linea<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># The simplest action to take: ban only<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y antes de esta linea insertamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>############################################################################################################################################\n################ ACCION UGIT: Banea la Ip, envia un mail, Inserta en BD y la incluye en el IPSET de PROMOX ################################\n############################################################################################################################################\n\naction_ugit = %(banaction)s&#91;name=%(__name__)s, bantime=\"%(bantime)s\", port=\"%(port)s\", protocol=\"%(protocol)s\", chain=\"%(chain)s\"]\n              %(mta)s-whois&#91;name=%(__name__)s, sender=\"%(sender)s\", dest=\"%(destemail)s\", protocol=\"%(protocol)s\", chain=\"%(chain)s\"]\n              ip-to-blacklist-ugit<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Las acciones que van hacer son:<ul><li>Banea la IP por 2 d\u00edas<\/li><li>Env\u00eda un correo con la informaci\u00f3n de whois<\/li><li>Solicita ejecutar la acci\u00f3n \u00abip-to-blacklist-ugit\u00bb la cual:<ul><li>Verifica si la ip ya esta incluida en la BD<\/li><li>Si no esta incluida obtiene la informaci\u00f3n de la IP a trav\u00e9s de freegeoip y whois<\/li><li>La inserta en la BD<\/li><\/ul><\/li><\/ul><\/li><li>Ahora cambiamos la accion defecto por buscamos y remplazamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>action = %(action_)s\nX\naction = %(action_ugit)s<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Creamos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/action.d\/ip-to-blacklist-ugit.conf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos el siguiente contenido<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;INCLUDES]\n\nbefore = iptables-common.conf\n\n&#91;Definition]\n\nactionban = \/etc\/fail2ban\/agrega_ip_blacklist-ugit.sh &lt;ip&gt;\n\n&#91;Init]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Reiniciamos fail2ban<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>service fail2ban restart<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Creaci\u00f3n de archivos<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Dependiendo del servidor y el firewall que tenga este es necesario un archivo u otro<\/strong><\/li><li>Creamos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/agrega_ip_blacklist-ugit.sh<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Servidor con:&nbsp;&nbsp;PROXMOX-ADMINISTRADOR IPSET: blacklist-UGIT (POSEIDON)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Proceso:<br><ul><li>Verifica si la ip esta en la BD centralizada<\/li><li>Sino esta la agrega \/ si est\u00e1 sale<\/li><li>Agrega la IP a la blacklist -ugit de proxmox<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Le insertamos el siguiente contenido (Recuerde cambiar los datos de conexi\u00f3n)<\/li><li>Descargar:&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/cliente_servidor_proxmox_blacklist.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">archivo<\/a><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Servidor con firewall UFW (Anuncios)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Proceso<ul><li>Verifica si la ip esta en la base de datos<\/li><li>Si no est\u00e1 la agrega \/ si est\u00e1 sale<\/li><li>La agrega en el archivo del firewall UFW<\/li><\/ul><\/li><li>Descargar:&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/cliente_servidor_ufw_blacklist.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">archivo<\/a><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Servidor que solo tiene que incluir IP en la BD (MV,CT,NODOS)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Proceso:<ul><li>Verifica si la ip esta en la base de datos<\/li><li>Si no est\u00e1 la agrega \/ si est\u00e1 sale<\/li><\/ul><\/li><li>Descargar:&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/cliente_servidor_simple_blacklist.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">archivo<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Continuamos<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora de damos permisos de ejecuci\u00f3n<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 777 \/etc\/fail2ban\/agrega_ip_blacklist-ugit.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Aqu\u00ed puede probar ejecutando<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/fail2ban\/agrega_ip_blacklist-ugit.sh 124.7.227.107<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Verificador de IP\u2019s en Base de Datos (SOLO EN SERVIDOR PRINCIPAL)<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora vamos a crear otro script que se va encargar de consultar en la base de datos a las 12:00am las ips baneadas y la va comparar con con las ips bloqueadas&nbsp;en sus respectivos firewall<\/li><li>Una vez m\u00e1s dependemos del firewall instalado PROXMOX o UFW<\/li><li>Creamos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/verifica_ips_bd_PROXMOX.sh\nnano \/etc\/fail2ban\/verifica_ips_bd_UFW.sh<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Servidor con firewall PROXMOX (POSEIDON)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Proceso:<ul><li>A las 12:00 am se conecta a la base de datos<\/li><li>Verifica las IP\u2019s contra el archivo:&nbsp;<strong>\/etc\/pve\/firewall\/cluster.fw<\/strong><\/li><\/ul><\/li><li>Descargar:&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/verifica_ips_bd_PROXMOX.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">archivo<\/a><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Servidor con firewall UFW (Anuncios)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Proceso:<ul><li>A las 12:00 am se conecta a la base de datos<\/li><li>Verifica las IP\u2019s contra el archivo:&nbsp;<\/li><\/ul><\/li><li>Descargar:&nbsp;<a href=\"\/wp-content\/uploads\/2019\/09\/verifica_ips_bd_UFW.zip\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre en una nueva pesta\u00f1a)\">archivo<\/a><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Continuamos<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Le damos permisos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 777 \/etc\/fail2ban\/verifica_ips_bd_PROXMOX.sh\nchmod 777 \/etc\/fail2ban\/verifica_ips_bd_UFW.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora podemos probarlo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/verifica_ips_bd_PROXMOX.sh\n.\/verifica_ips_bd_UFW.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>RESULTADO:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>*****************************************\nPROCESANDO IPS... \n*****************************************\n103.99.0.193 INCLUIDA CON EXITO!\n109.248.9.9 INCLUIDA CON EXITO!\n110.78.146.210 INCLUIDA CON EXITO!\n113.172.168.234 INCLUIDA CON EXITO!\n92.78.26.142 INCLUIDA CON EXITO!\n\n*****************************************\nFIN DE PROCESAMIENTO\n*****************************************<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora incluimos el script como una tarea de cron<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>0 0 * * * \/etc\/fail2ban\/verifica_ips_bd_PROXMOX.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Personalizamos el mensaje de banned<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrimos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/fail2ban\/action.d\/sendmail-whois.conf <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Vamos a la secci\u00f3n de actions y veamos que tenemos<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Lo dejamos as\u00ed:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>            Hola UGIT,\\n\n            **************************************************\n            La IP &lt;ip&gt; ha sido baneada por Fail2ban despues de:\n            &lt;failures&gt; intentos fallidos por &lt;name&gt;.\\n\\n\n            **************************************************\n            Aqui hay mas informacion acerca de la ip: &lt;ip&gt; :\\n\n            `\/usr\/bin\/whois &lt;ip&gt; || echo missing whois program`\\n\n            Saludos,\\n\n            UGIT\" | \/usr\/sbin\/sendmail -f &lt;sender&gt; &lt;dest&gt;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Reiniciamos el servicio<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>service fail2ban restart<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos&nbsp;consultar el tiempo de una acci\u00f3n (Por defecto 60 segundos)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client get sshd action ip-to-blacklist-ugit timeout<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Lo modificamos a 300 segundos<\/strong><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban-client set sshd action ip-to-blacklist-ugit timeout 300<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora creamos una nuevo aliases<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/aliases<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>fail2ban: root<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Actualizamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>newaliases<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si fuera necesario personalizamos el asunto de los dem\u00e1s correos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/etc\/fail2ban\/action.d\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrimos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano sendmail-whois-ipjailmatches.conf\nnano sendmail-whois-ipmatches.conf\nnano sendmail-whois-lines.conf\nnano sendmail-whois-matches.conf\nnano sendmail-whois.conf \nnano sendmail.conf\nnano sendmail-buffered.conf\nnano sendmail-common.conf\nnano sendmail-geoip-lines.conf\nnano mail.conf\nnano mail-whois.conf\nnano mail-whois-lines.conf\nnano mail-buffered.conf <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y modificamos&nbsp;<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Fail2Ban]\nX\n&#91;fail2ban_METIS]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Reiniciamos el servicio<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>service fail2ban restart<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si desea ver la cola<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/fail2ban.log <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Esta gu\u00eda explica las medidas de seguridad implementadas en los servidores de la SIUA Paso#01: Dependencias Instalamos ciertas dependencias Paso#02: Postfix-Gmail Para dar soporte para el envi\u00f3 de correos vamos a configurar postfix-gmail Gu\u00eda: PROXMOX 6: Configuraci\u00f3n de postfix \u2013 gmail Gu\u00eda: Postfix-Gmail Paso#03: RKhunter Descargamos el programa: rkhunter-1.4.6.tar.gz Instalamos rkhunter&nbsp;que es un esc\u00e1ner que [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1951","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/1951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1951"}],"version-history":[{"count":17,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/1951\/revisions"}],"predecessor-version":[{"id":8469,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/1951\/revisions\/8469"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}