Dado lo bien que salio el ejercicio anterior, vamos a probar aislar un servicio por completo para posteriormente, aislar parcialmente un servicio. En este caso, FreshRSS.

Introducción

En el caso anterior, lo que hicimos fue segmentar un servicio que ya era privado y del que solo queríamos un segmento específico atendiendo a Internet. Este proceso se llama «reducción de superficie de ataque». Este proceso permite cerrar las puertas que pueden intentar forzar para entrar y causarte daño, pero en mi caso es más como reemplazar la puerta por una pared. Te adelanto que tal vez esta técnica no aplique para todos los casos, así que numeraré unos cuantos para que veas si te conviene seguir el camino del ermitaño o continuar como ya estabas.
  • Eres el único usuario de tus servicios e infraestructura. Es decir, montaste un servicio público por alguna necesidad puntual como, un lector RSS que puedas alcanzar desde cualquier parte de Internet o algún servicio de notas o algún servicio de sincronización.
  • Quieres tener control de tu infraestructura por una «puerta trasera» Suena feo, pero es cuestión de seguridad. No necesitas que todo el mundo esté tocando a la puerta todo el tiempo si eres el único que tiene la llave y el único que puede (y debe) entrar.
  • Quieres tener un terreno seguro de juego mientras desarrollas tus cosas. No necesitas desplegar SSL en un entorno privado. Eso facilita muchas cosas.
En ese sentido, reducir la superficie de ataque puede ayudarte a no tener que preocuparte tanto por vulnerabilidades, pero puede complicar un poco la administración. Además claro, tienes que confiar en servicios que pueden caer y dejarte aislado de todo. La idea es simple y se basa en la siguiente premisa: «¿Si soy el único que usa los logins y demás sistemas de autenticación, ¿para qué tengo que dejarlos al aire para que todos los días estén dale que dale tratando de hackearlos por fuerza bruta los crawlers de Internet?» Así que la idea es simplemente negar el acceso a los sistemas de autenticación a la red expuesta a Internet y dejarla solo para la red expuesta a la red local o la red de WireGuard. Así que en teoría, lo que se necesita es lo siguiente:
  • Crear una red WireGuard.
  • Crear un servidor DNS para la red WireGuard
  • Configurar el DNS para que solo funcione en la interfaz de WireGuard
  • Configurar un servicio para que trabaje en la interfaz de WireGuard
  • Limitar los accesos a áreas públicas por la interfaz de red
  • Limitar los accesos a áreas de autenticación solo a la red de WireGuard
Mira tú, ya tenemos casi todo completo y ahora solo falta ir resolviendo los casos particulares.

Cambiando puertas por paredes

En este ejercicio vamos a bloquear por completo el acceso y uso publico de un servicio que no necesita mas visitas que las mías. En este caso, FreshRSS. Esta vez no comparto los logs porque realmente hay poco trafico basura que mostrar.  La cosa es muy distinta cuando intente bloquear parcialmente el wp-admin y ya verán por que. Como esta vez el dominio es distinto del equipo de origen, tendremos que hacer algunos ajustes. Recuerda que esto es parte de un tutorial anterior. Agregamos nuevas reglas a Nginx para que solo permita el acceso desde la interfaz de Wireguard Al principio del archivo de configuración de nginx: 1 2 3 4 5map $remote_addr $es_vpn { default 0; "~^10\.0\.0\." 1; # Esto usa una expresión regular para atrapar a cualquiera que empiece con 11.0.0.} Dentro de tu regla server 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # 1. REGLA ESPECIAL PARA AJAX (WordPress la necesita pública) location = /wp-admin/admin-ajax.php { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php8.4-fpm.sock; } # 2. BLOQUE ÚNICO PARA TODO PHP (Incluye la seguridad VPN) location ~ \.php(?:$|/) { # 1. Definir una variable de control set $permitido 0; # 2. Si es la VPN, sumamos 1 if ($es_vpn = 1) { set $permitido 1; } # 3. Si NO es zona restringida (o sea, es el front del sitio), sumamos 1 if ($uri !~* "(wp-admin|wp-login)") { set $permitido 1; } # 4. Si después de ambas comprobaciones sigue en 0, es que es zona restringida Y NO es VPN if ($permitido = 0) { return 403; } Esta acción genera un error 403 para todos los directorios del dominio. Es justo lo que buscamos. Ahora tenemos que editar en el archivo que creamos antes. el hosts.wireguard para cambiar las rutas y dominios. 10.0.0.2 freshrss.misitio.com #la ip en la red wireguard de tu servicio Y ejecutas el systemctl restart dnsmasq y listo. Como puedes ver, esta vez tuvimos que hacer muchos menos pasos y recuperamos, esta vez de forma exclusiva, el acceso a nuestra pagina de lector de RSS. Debido a que el firmado SSL no se encuentra fuera del servidor, esta vez no tenemos que mover nada mas. Lo tendremos firmado apenas lo abrimos.

Conclusiones

Esta vez logramos hacer esta tarea mucho mas rápido y metiendo menos código. Para este ejercicio, la verdad pensaba que iba a ser mas sencillo y funcionar a la primera con un simple deny al directorio correspondiente, pero como puedes ver, es un monton de lineas de codigo. Esto es porque tras algunas pruebas descubrí que si bien bloqueaba efectivamente al Internet abierto, en la VPN dejaba libre como esperabamos, pero dejaba de procesar el archivo php, devolviendo un wp-login.php en texto plano. Es decir, cualquiera que estuviera en tu VPN iba a poder ver los archivos PHP de tu servidor. Pero solo los que bloqueamos, claro. Tras algunas practicas, finalmente llegue a esta conclusion y creo que es la mas funcional. Lo sigo revisando por si hay alguna sorpresa, pero parece muy funcional. ¿Sobre los resultados de esto? han pasado varias semanas desde que lo implementé. Parece que si el servidor responde con 403, los crawlers llegan a cansarse y dejar de insistir. En el caso del log de hoy, solo hay un intento de acceder. mientras que para el día de ayer, solo fueron 4. Parece funcionar, ¿no? Estoy cuestionándome un poco sobre la practicidad de esto, puesto que si desplegaste Freshrss en una VPS o hosting, es probable que haya sido por lo práctico que es tener el lector unificado y accesible desde cualquier parte de Internet. En ese sentido, podrías elegir tener un lector local en tu dispositivo, pero esto es una práctica y vamos a hacer estas locuras hasta encontrarle un uso práctico. En próximas entregas ya hablaremos de un uso más serio, segmentando un sitio con más tráfico para probar y ver resultados. https://interlan.ec/blog/2026/04/24/tutorial-reduccion-superficie-de-ataque-mediante-wireguard-nginx-dnsmasq/ #experimentos #freshrss #la #linux #nginx #rss #seguridad #seguridadInformática #selfhosting #servidores #tutorial #vps

¡Holii!

Esta es mi #presentación 👋😛

Soy un apasionado de la #informática y la #tecnología desde que tengo uso de razón.
Me encanta aprender, experimentar y #geekear con todo lo nuevo (y lo viejo, si es interesante).
Tengo incalculables horas en #videojuegos, pero donde más disfruto es en coop/multi (¡Half-Life para siempre!).

Cacharreo con #IoT, #STM32, #ESP32, #LoRaWAN y código.
Desarrollo con #PHP y #Phalcon, y monto #servidores como si fueran LEGOs.

También me interesa el #patrimonio, la #meteorología y la #seguridadinformática.

El #covid me alejó de lo que siempre fue mi pasión: el #gaming, la comunidad, los amigos, las largas noches de partidas y ese mundo que tanto me inspiró. La vida se llenó de otras prioridades y necesidades, pero hoy siento que es el momento de volver a conectar 🙂

Si te gusta la #tech, el #gaming o simplemente charlar, ¡aquí estoy!
#spain #galicia #opensource #comunidad

¡ALERTA! Falla crítica en MCP de Anthropic: 200k servidores

Falla crítica MCP Anthropic: 200.000 servidores en riesgo. Riesgo de seguridad grave. Enteráte ahora de los detalles y acciones recomendadas.

https://donweb.news/falla-critica-mcp-anthropic-servidores-afectados/

#anthropic #mcp #seguridad #protocolo #servidores

¡ALERTA! Falla crítica en MCP de Anthropic: 200k servidores - DonWeb News

Anthropic ha reportado una falla crítica en su protocolo MCP que afecta a más de 200.000 servidores en todo el mundo. Se recomienda aplicar parches de seguridad de inmediato.

DonWeb News
Dado que aprovechar la inteligencia artificial para tareas sencillas es imposible sin una supercomputadora (o muchas supercomputadoras), volvemos a los orígenes con un nuevo plan de mejora para las VPS. Contamos con WireGuard, lo hemos pulido hasta que funciona con el ancho de banda completo. Vamos a confiar un poco más en el para administrar los servicios que tenemos expuestos por internet… ¡En privado!

Introducción

La idea es simple y se basa en la siguiente premisa: «¿Si soy el único que usa los logins y demás sistemas de autenticación, ¿para qué tengo que dejarlos al aire para que todos los días estén dale que dale tratando de hackearlos por fuerza bruta los Crawlers de Internet? Así que la idea es simplemente negar el acceso a los sistemas de autenticación a la red expuesta a Internet y dejarla solo para la red local o la red de WireGuard. Así que en teoría, lo que se necesita es lo siguiente:
  • Crear una red WireGuard.
  • Crear un servidor DNS para la red WireGuard ←Estamos aquí
  • Configurar el DNS para que solo funcione en la interfaz de WireGuard
  • Configurar un servicio para que trabaje en la interfaz de WireGuard
  • Limitar los accesos a áreas públicas por la interfaz de red
  • Limitar los accesos a áreas de autenticación solo a la red de WireGuard
Todo esto se me ocurre en el contexto de que tengo un servidor NextCloud que trabaja en público y a diario tengo crawlers intentando entrar. La solución simple es fácil. Ya que ahora trabaja mediante WireGuard, puedo agregar la IP de la VPN y usarla de forma privada. No es gran problema excepto porque me interesa que se mantengan las funciones públicas, como los enlaces compartidos, las agendas de calendarios y alguna cosa que se me antoje por ahí. En ese sentido, la complejidad aumenta bastante porque no es solo desconectar de la interfaz pública, sino también elegir las rutas que dejarán de ser accesibles por Internet y que estas sean accesibles por la red WireGuard. Si la teoría es posible, me gustaría poder aplicar esto a más servicios en los que soy el único que se autentica, como por ejemplo este blog. Por esa razón, vamos a necesitar la ayuda de un DNS local exclusivo para WireGuard.

Agregando Reglas Nginx

Para empezar, tomaré como modelo mi servidor de Nextcloud, puesto que no necesito hacer mas maromas para lograr lo que quiero. Lo primordial será bloquear el acceso de las rutas de autenticación a través de Internet. Para eso vamos viendo como están los logs. logs de mi instancia de nextcloud mostrando algunos accesos por login y un monton de escaneos de directorios Como se puede ver en la imagen, hay varios intentos de acceso por la url login, pero un montón de escaneos de directorios (debo mejorar las reglas de fail2ban) Ya he descontado mis propios accesos y también del monitor uptime. Lo primero es agregar las reglas apropiadas para limitar el acceso a la ruta /login Hay que recordar que NextCloud tiene una regla que redirecciona el trafico no autenticado desde el directorio raíz al directorio /login, por lo que si tienes algo monitorizando esa ruta, disparará la alarma de inmediato. location /admin { allow 10.0.0.0/24; # Tu red de WireGuard deny all; # Bloquea al resto del mundo include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; # Ajusta a tu versión de PHP } Recuerda cambiar la ruta que quieres bloquear. en el caso de NextCloud, la ruta es /login Apenas aplicas los cambios con systemctl restart nginx ya notaras el cambio al acceder al login desde Internet. Login de Nextcloud antes de aplicar la regla de Nginx Login de Nextcloud luego de aplicar la regla de Nginx Por supuesto, esto nos deja pateados afuera. Pero puedes acceder a Nextcloud mediante la VPN normalmente. Aunque faltan hacer algunos ajustes todavía.

Un DNS personal

Si dejamos esto hasta aquí, nos encontraremos con que Nextcloud desconfía de nosotros. Nextcloud, error de acceso por dominio sin confianza Esto es normal y bastaría con agregar la ip de tu servidor como dominio de confianza, pero queremos tener más servicios con la autenticación escondida. Y eso que no estamos contando que los servicios que dependen de SSL pueden dar conflictos al acceder solo por IP. lo primero es instalar dnsmasq sudo apt install dnsmasqDnsmasq es un software ligero y de código abierto diseñado para redes pequeñas, que actúa como servidor DNS (sistema de nombres de dominio) caché y servidor DHCP (protocolo de configuración dinámica de host). Proporciona servicios esenciales como la resolución de nombres locales y la asignación de IPs, siendo muy común en routers domésticos y entornos Linux. Aunque puedes instalar esta herramienta en cualquiera de tus equipos de la red WireGuard, es recomendable instalarlo en la que hace de servidor. Lo que vamos a hacer, es crear un servidor DNS intermediario, que reemplace las direcciones de tu dominio para que apunte a las redes locales de forma prioritaria. De esta manera, tu configuración de red normal va a seguir apuntando al Internet de siempre, pero con esta configuración, al encender wireguard, las consultas DNS se harán mediante dnsmasq, permitiendo poder acceder normalmente con la dirección de dominio anterior sin cambiar nada mas. En la configuración de los clientes de wireguard debes poner ya la IP de tu servidor. Esto lo hace opcional pues cada cliente puede configurar sus cosas a gusto, asi que no estas forzando a nadie que no quiera. Ahora, vamos a /etc/dnsmasq.conf interface=wg0 # Escucha solo en la interfaz de la VPN listen-address=127.0.0.1, 10.0.0.1 bind-interfaces # Evita conflictos con otros servicios DNS domain-needed # No reenvía nombres sin punto (seguridad) bogus-priv # No reenvía IPs privadas a internet# DNS públicos para lo que no sea tu red localserver=8.8.8.8 server=1.1.1.1 # No busques en el archivo de hosts de internet no-hosts # Pero SÍ usa este archivo que crearemos para tus dominios locales addn-hosts=/etc/hosts.wireguard Recuerda revisar tu archivo dnsmasq.conf por si estas lineas no están comentadas ya. Dado que es una instalación nueva, basta con agregar todo esto al final del archivo pues todo esta comentado. Ahora tenemos que crear el archivo /etc/host.wireguard para agregar los dominios e ip que necesitamos 10.0.0.1 ://tu-dominio.com y ya con esto, basta con reiniciar el servicio dnsmasq systemctl restart dnsmasq A partir de este momento, cuando ingreses a tu dominio con wireguard apagado, veras el mismo error 403 como todos. pero cuando lo hagas con wireguard encendido, veras tu instancia de Nextcloud completamente funcional.

Últimos Pasos

He estado describiendo estos pasos asumiendo que ya te has encargado de los problemas relacionados con SSL. Después de todo, si tienes un sitio web, seguro sale por https. Sin embargo, aunque la redireccion permite aprovechar las mismas credenciales que los servicios que quieres ocultar, en este caso en particular teniamos el siguiente esquema: Internet → dominio publico/Nginx → WireGuard → servidor privado/Nginx Por lo que tenemos que lidiar con dos servidores Nginx, asi que el paso que buscabamos ahorrarnos, pues nos lo tenemos que cargar. Pero tampoco es para tanto. SI ves las configuraciones de tu sitio publico, encuentras las rutas donde deben estar los certificados y tambien como habilitar https. basta con que copies los archivos en el mismo lugar de tu servidor privado. Entonces ya todo vuelve a quedar funcional y bonito.

Conclusiones

Digamos que esta serie de tutoriales serán un caso de «Sobreingeniería de la pereza«. Me gusta cómo están funcionando las cosas ahora, pero empieza a cansarme teniendo los crawlers ahí tocando la puerta todo el tiempo. Al hacer estos ajustes, puedo seguir como siempre sin tener expuestas las puertas de mis servicios y claro, tengo menos exposición a vulnerabilidades de las que no estén pendientes. Además, tampoco es necesario tener tanta cosa expuesta. Siendo el único que usa los servicios que estoy desplegando, tampoco es que me haga falta que más gente conozca dónde está la cerradura para intentar forzarla. Aún estoy decidiendo cuál es el próximo servicio a ocultar, pero estoy entre WordPress y mi servidor de correo electrónico. Mi blog, aunque tiene códigos y funciones especiales, prácticamente es un sitio estático y en cuanto al correo, solo hace falta tener a postfix ahí escuchando los correos entrantes. Los salientes, ni siquiera necesitan un puerto abierto.

Actualización

Aunque aún no se ha publicado este post, he estado haciendo pruebas y viendo los resultados. Efectivamente el tráfico ha disminuido y a fail2ban solo le queda bloquear a toda IP que haga 404 o 302. El uso del VPS bajo muchísimo, así que se puede aprovechar el potencial extra en otras tareas. Pero ya sé cuál será el próximo servicio que oculte mediante este método.     https://interlan.ec/blog/2026/04/17/tutorial-desplegando-dns-privado-para-red-wireguard/ #experimentos #nextcloud #nginx #seguridadInformática #selfhosting #servidores #spam #tutorial #vps

🔥 JBoss/WildFly ou Apache Tomcat: Qual Escolher? 🖥️

Está em dúvida entre esses dois servidores? Ambos têm suas vantagens, mas qual é o ideal para seu projeto? Entenda as diferenças e descubra qual atenderá melhor às suas necessidades!

👉 Leia no blog: https://nova.escolalinux.com.br/blog/jboss-wildfly-ou-apache-tomcat-qual-devo-escolher?utm_source=dlvr.it&utm_medium=mastodon

#Tecnologia #Servidores #Java #Tomcat #JBoss #WildFly

Jboss/Wildfly ou Apache Tomcat: Qual devo escolher?

O administrador de sistemas é um profissional de extrema importância, principalmente para empresas que desejam ter um sistema de computadores em rede eficiente.

Paulo Oliveira
Solo como follow up sobre el tema, a modo de reflexion, para que vean la cantidad de energia que se desperdicia lidiando con los ataques y eso. En la gráfica se ve como aumenta el consumo de los servidores, causado principalmente por el aumento de la carga en Centaurus, el server principal donde corre PeerTube. Paso de una media de 360-370W a unos 450-480W sobre el final del ataque. Cuanta energia se gasta al pedo. #energia #servidores #undernet #spam #malware #ataque #ddos

La huella digital – El rastro imborrable que puede resolver un crimen

Recientemente, fui invitado por el equipo de La Nación + para participar en su panel de análisis periodístico, en el programa de los domingos, conducido por Gustavo Carabajal, Caso Abierto. El objetivo fue aportar una perspectiva técnica sobre un caso que conmociona a la opinión pública: la actividad sospechosa en las redes sociales de una persona que fue hallada sin vida (Caso del enfermero hallado muerto en Palermo).

Durante mi intervención, hice especial hincapié en un concepto fundamental para la justicia moderna: la huella digital es absoluta y siempre queda un registro.

https://youtu.be/85BMUOd0V9M

El misterio de los perfiles que «cobran vida»

Uno de los puntos más inquietantes del caso analizado es que la cuenta de la red social X (anteriormente Twitter) de la víctima cambió su configuración de público a privado pocas horas después de que se encontrara el cuerpo. Ante la pregunta de si esto podría ser una acción programada, mi respuesta fue contundente: no es posible programar un cambio de privacidad de este tipo.

Este acto requiere una intervención manual. Como expliqué en el programa, esto significa que alguien, utilizando uno de los dispositivos de la víctima o un acceso remoto, administró la cuenta después del fallecimiento.

Por qué la tecnología es el testigo clave

En la era digital, es prácticamente imposible desaparecer sin dejar rastro. Durante el panel, destaqué tres puntos clave que los peritos informáticos analizan en estos casos:

  • Registros en servidores: Más allá de lo que se borre en un teléfono o computadora, las plataformas como X, Instagram o incluso OnlyFans mantienen registros detallados en sus servidores.
  • Múltiples conexiones: Las redes sociales permiten ver cuántos y qué tipo de dispositivos estaban conectados simultáneamente a una cuenta.
  • Geolocalización y registros de acceso: Cada inicio de sesión deja una marca que indica la provincia o zona general de conexión, además de la identificación del equipo utilizado.
  • La importancia del peritaje judicial

    Aunque un usuario común no puede acceder a estos datos técnicos de terceros, la justicia tiene las herramientas para solicitar a los proveedores de servicios (como X o Instagram) el historial completo de accesos.

    En casos donde se debate si la causa de muerte fue un homicidio o una situación accidental, estos rastros digitales se vuelven pruebas irrefutables. Todo lo que hacemos en internet, sin importar la aplicación o el sistema operativo, guarda un registro.

    #ArielCorgatelli #arielmcorg #ciberseguridad #dispositivosMóviles #EvidenciaDigital #huellaDigital #investigaciónJudicial #Justicia #LaNaciónMás #periciaTécnica #peritajeInformático #PORTADA #rastroDigital #redesSociales #seguridadInformática #servidores #tecnología

    04/01 - 1º de abril: Dia da Mentira -
    💧#Privatização que não garante tarifa menor
    🚧 #Pedágios mais caros e estradas que não melhoram
    🏥 #Servidores desvalorizados
    📚 #Educação sem investimentos prometidos

    https://www.instagram.com/p/DWl6F69DktZ/ -

    RI @lcmarcolino13 -
    .Temos mentirosos profissionais? -

    Luiz Claudio Marcolino on Instagram: "📅 1º de abril: Dia da Mentira Mas em São Paulo, a população já cansou de ouvir promessas que não se cumprem. O governo de Tarcísio de Freitas segue vendendo soluções que não chegam na vida real. 💧 Privatização que não garante tarifa menor 🚧 Pedágios mais caros e estradas que não melhoram 🏥 Servidores desvalorizados 📚 Educação sem os investimentos prometidos A conta sempre sobra para quem mais precisa. ❌ Não é pegadinha. ❌ Não é brincadeira. ❌ É a realidade de milhões de paulistas. 1º de abril é só hoje — mas a verdade precisa ser cobrada todos os dias. #diadamentira #sãopaulo #políticaspúblicas #sabesp #educação"

    445 likes, 28 comments - lcmarcolino13 on April 1, 2026: "📅 1º de abril: Dia da Mentira Mas em São Paulo, a população já cansou de ouvir promessas que não se cumprem. O governo de Tarcísio de Freitas segue vendendo soluções que não chegam na vida real. 💧 Privatização que não garante tarifa menor 🚧 Pedágios mais caros e estradas que não melhoram 🏥 Servidores desvalorizados 📚 Educação sem os investimentos prometidos A conta sempre sobra para quem mais precisa. ❌ Não é pegadinha. ❌ Não é brincadeira. ❌ É a realidade de milhões de paulistas. 1º de abril é só hoje — mas a verdade precisa ser cobrada todos os dias. #diadamentira #sãopaulo #políticaspúblicas #sabesp #educação".

    Instagram

    🔥 JBoss/WildFly ou Apache Tomcat: Qual Escolher? 🖥️

    Está em dúvida entre esses dois servidores? Ambos têm suas vantagens, mas qual é o ideal para seu projeto? Entenda as diferenças e descubra qual atenderá melhor às suas necessidades!

    👉 Leia no blog: https://nova.escolalinux.com.br/blog/jboss-wildfly-ou-apache-tomcat-qual-devo-escolher?utm_source=dlvr.it&utm_medium=mastodon

    #Tecnologia #Servidores #Java #Tomcat #JBoss #WildFly

    Jboss/Wildfly ou Apache Tomcat: Qual devo escolher?

    O administrador de sistemas é um profissional de extrema importância, principalmente para empresas que desejam ter um sistema de computadores em rede eficiente.

    Paulo Oliveira

    Guía para Servidores Mac Mini: Encendido Automático con Linux

    Como muchos ya saben, tengo en casa 2 Mac Mini 2012 con procesadores Intel que están haciendo la función de servidores, uno con Ubuntu Server y otro con Debian. Estos equipos son ideales para usarlos como servidores porque consumen muy poco, tienen buena refrigeración, son silenciosos, y se pueden actualizar en cuanto a memoria RAM y disco duro. Por diversos motivos he tenido interrupciones de electricidad, y estaba buscando como configurar ambos Mac Mini para que, cuando detectaran que […]

    https://www.systeminside.net/guia-para-servidores-mac-mini-encendido-automatico-con-linux/