{"id":1811,"date":"2019-09-17T15:14:43","date_gmt":"2019-09-17T21:14:43","guid":{"rendered":"https:\/\/ugit.siua.ac.cr\/?p=1811"},"modified":"2019-09-17T15:14:43","modified_gmt":"2019-09-17T21:14:43","slug":"ugit-seguridad-servidores","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=1811","title":{"rendered":"UGIT: Seguridad Servidores"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>Esta gu\u00eda explica los mecanismos de seguridad utilizados en los servidores de la SIUA<\/li><li>Dependencias:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install make build-essential net-tools -y<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;Es necesario que el servidor pueda enviar correos para esto, seguir la&nbsp;<a href=\"https:\/\/ugit.blog.siua.ac.cr\/index.php?controller=post&amp;action=view&amp;id_post=259\" target=\"_blank\" rel=\"noreferrer noopener\">gu\u00eda<\/a><br><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">RKhunter<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Descarga de programa:\u00a0<a href=\"https:\/\/ugit.blog.siua.ac.cr\/Archivos\/rkhunter\/rkhunter-1.4.6.tar.gz\">rkhunter-1.4.6.tar.gz<\/a><\/li><li>Instalamos  rkhunter\u00a0que 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>&nbsp;Descargamos el fichero<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/ugit.blog.siua.ac.cr\/Archivos\/rkhunter\/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>&nbsp;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>&nbsp;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>&nbsp;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-preformatted\">[ Rootkit Hunter version 1.4.6 ]<br><br>Checking rkhunter version...<br> This version : 1.4.6<br> Latest version: 1.4.6<\/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-preformatted\">[ Rootkit Hunter version 1.4.6 ]<br><br>Checking rkhunter data files...<br> Checking file mirrors.dat [ No update ]<br> Checking file programs_bad.dat [ No update ]<br> Checking file backdoorports.dat [ No update ]<br> Checking file suspscan.dat [ No update ]<br> Checking file i18n\/cn [ No update ]<br> Checking file i18n\/de [ No update ]<br> Checking file i18n\/en [ No update ]<br> Checking file i18n\/tr [ No update ]<br> Checking file i18n\/tr.utf8 [ No update ]<br> Checking file i18n\/zh [ No update ]<br> Checking file i18n\/zh.utf8 [ No update ]<br> Checking file i18n\/ja [ No update ]<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Crea 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 verificamos 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 crob 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\n(\n rkhunter --versioncheck\n rkhunter --update\n rkhunter -c --cronjob --report-warnings-only\n)| mail -a \"From: interuniversitariadealajuela@gmail.com\" -s \"rkhunter: $(hostname -s)\"  interuniversitariadealajuela@gmail.com<\/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\">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:\u00a0<a href=\"https:\/\/ugit.blog.siua.ac.cr\/Archivos\/chkrootkit\/5.02\/chkrootkit.tar.gz\">chkrootkit.tar.gz<\/a><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/ugit.blog.siua.ac.cr\/Archivos\/chkrootkit\/5.02\/chkrootkit.tar.gz<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;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>&nbsp;Ingresamos a la carpeta<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd chkrootkit-0.52\/<\/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>&nbsp;Movemos el contenido a \/usr\/local\/chkrootkit<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mv chkrootkit-0.52\/ \/usr\/local\/chkrootkit<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;ingresamos a la carpeta para verificar que existenlos 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>&nbsp;Creamos una enlace simbolico<\/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>&nbsp;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 crobjob 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>Agregamos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">@monthly \/usr\/local\/chkrootkit\/chkrootkit -q | mail -s \"chkrootkit: $(hostname -s)\" interuniversitariadealajuela@gmail.com<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Logwatch<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Logwatch\n es un sistema de monitoreo de logs personalizable. Su funci\u00f3n es \nrevisar los logs del sistema en un per\u00edodo de tiempo determinado y \nelaborar un resumen con el nivel de detalle que se desee. Luego es capaz\n de enviar el resumen por mail en forma de reporte. Es muy \u00fatil para \nmonitorear la actividad de los servidores y detectar posibles abusos, \nintentos de intrusi\u00f3n, consumo de recursos, etc.<\/li><li>Es importante \nsaber que logwatch se instala en \u00ab\/usr\/share\/logwatch\u00bb pero crea una \nestructura de archivos en \/etc\/logwatch, la idea es que toda \nconfiguraci\u00f3n \u00abadicional\u00bb la hagamos aqu\u00ed y esta sobreescriba a la de \n\/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>--------------------------------------------------------------\nOutput = stdout\nX\nOutput = mail\n--------------------------------------------------------------\nFormat = text\nX\nFormat = html\n--------------------------------------------------------------\nMailTo = root\nX\nMailTo = interuniversitariadealajuela@gmail.com\n--------------------------------------------------------------\nMailFrom = Logwatch\nX\nMailFrom = Logwatch_POSEIDON\n--------------------------------------------------------------\nRange = yesterday\nX\nRange = yesterday\n--------------------------------------------------------------\nDetail = Low\nX\nDetail = 8\n--------------------------------------------------------------\n<\/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\">OpenSSH<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Para instalar y configurar openssh, seguimos la gu\u00eda:&nbsp;<a href=\"https:\/\/ugit.blog.siua.ac.cr\/index.php?controller=post&amp;action=view&amp;id_post=202\" target=\"_blank\" rel=\"noreferrer noopener\">instalar openssh<\/a>&nbsp;<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Autenticaci\u00f3n por llave<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Si deseamos permitir el acceso por llaves:\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/ugit.blog.siua.ac.cr\/index.php?controller=post&amp;action=view&amp;id_post=197\" target=\"_blank\">aqu\u00ed<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fail2ban<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Para instalar y configurar fail2ban seguimos las siguientes gu\u00edas:<ul><li>Instalaci\u00f3n:\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/ugit.blog.siua.ac.cr\/index.php?controller=post&amp;action=view&amp;id_post=269\" target=\"_blank\">aqu\u00ed<\/a><\/li><li>Para a\u00f1adir el servidor a la base centralizada:\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/ugit.blog.siua.ac.cr\/index.php?controller=post&amp;action=view&amp;id_post=271\" target=\"_blank\">aqu\u00ed<\/a><br><\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Configurar el m\u00f3dulo recent para mitigar ataques de fuerza bruta en el servicio SSH<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>El\n m\u00f3dulo recent sirve para limitar el n\u00famero de conexiones por segundo a \nnivel de IP, esto es ideal para protegernos de ataques al puerto SSH \nporque un atacante probar\u00e1 m\u00faltiples contrase\u00f1as. En el siguiente \nejemplo, daremos de alta en una base de datos todas las conexiones al \npuerto TCP 22445 de destino, y daremos de alta el origen de esas \nconexiones (la IP p\u00fablica de un posible atacante).<\/li><li>Posteriormente,\n chequeamos que en la tabla no haya m\u00e1s de 4 coincidencias en los \n\u00faltimos 60 segundos. Si hay m\u00e1s de 4 coincidencias, procedemos a \nbloquear todas las conexiones a partir de ah\u00ed.<\/li><li>El par\u00e1metro -i indica la interfaz de red a la que le queremos aplicar la regla<\/li><li>Sobre puerto 22<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>iptables -A INPUT -p tcp --dport 22 -i vmbr5 -m conntrack --ctstate NEW -m recent --set --name ssh --rsource\n\niptables -A INPUT -p tcp --dport 22 -i vmbr5 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j DROP<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Sobre puerto 44:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>iptables -A INPUT -p tcp --dport 44 -i vmbr5 -m conntrack --ctstate NEW -m recent --set --name ssh --rsource\n\niptables -A INPUT -p tcp --dport 44 -i vmbr5 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j DROP<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Port-Knocking para \u201cesconder\u201d el servicio SSH<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.redeszone.net\/seguridad-informatica\/servidor-ssh-en-linux-manual-de-configuracion-para-maxima-seguridad\/\">https:\/\/www.redeszone.net\/seguridad-informatica\/servidor-ssh-en-linux-manual-de-configuracion-para-maxima-seguridad\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta gu\u00eda explica los mecanismos de seguridad utilizados en los servidores de la SIUA Dependencias: &nbsp;Es necesario que el servidor pueda enviar correos para esto, seguir la&nbsp;gu\u00eda RKhunter Descarga de programa:\u00a0rkhunter-1.4.6.tar.gz Instalamos rkhunter\u00a0que es un esc\u00e1ner que analiza y busca en nuestro ordenador, backdoors, exploits, sniffers y por supuesto rootkits, realizando diferentes pruebas a nuestro [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":8,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-1811","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ugit"],"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\/1811","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=1811"}],"version-history":[{"count":1,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/1811\/revisions"}],"predecessor-version":[{"id":1813,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/1811\/revisions\/1813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/media\/8"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}