<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Seguridad | Eligeunaweb Agencia de marketing y programación web</title>
	<atom:link href="https://eligeunaweb.es/category/seguridad/feed/" rel="self" type="application/rss+xml" />
	<link>https://eligeunaweb.es</link>
	<description>Diseño de paginas web, tiendas online, posicionamiento SEO  y redes sociales</description>
	<lastBuildDate>Fri, 01 Aug 2025 19:07:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://eligeunaweb.es/wp-content/uploads/2018/09/favicon.png</url>
	<title>Seguridad | Eligeunaweb Agencia de marketing y programación web</title>
	<link>https://eligeunaweb.es</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cómo usar OWASP ZAP para auditar vulnerabilidades en un ecommerce</title>
		<link>https://eligeunaweb.es/como-usar-owasp-zap-para-auditar-vulnerabilidades-en-un-ecommerce/</link>
					<comments>https://eligeunaweb.es/como-usar-owasp-zap-para-auditar-vulnerabilidades-en-un-ecommerce/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Mon, 04 Aug 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987611052</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>La seguridad de un ecommerce no es opcional. Herramientas como <strong>OWASP ZAP</strong> permiten detectar vulnerabilidades antes de que los atacantes las exploten. En este artículo aprenderás a instalar ZAP, configurar un escaneo y analizar los resultados para proteger tu tienda.</p>
<p>&nbsp;</p>
<h2>Índice</h2>
<ul>
<li><a href="#que-es">Qué es OWASP ZAP</a></li>
<li><a href="#instalacion">Instalación y configuración inicial</a></li>
<li><a href="#escaneo">Realizar un escaneo de seguridad</a></li>
<li><a href="#analisis">Analizar resultados y clasificar riesgos</a></li>
<li><a href="#integracion">Integración con CI/CD</a></li>
<li><a href="#mejores-practicas">Mejores prácticas de seguridad</a></li>
</ul>
<div style="height: 40px;"></div>
<h2 id="que-es">Qué es OWASP ZAP</h2>
<p>OWASP ZAP (Zed Attack Proxy) es una herramienta gratuita de análisis de seguridad web. Permite identificar vulnerabilidades como:</p>
<ul>
<li>Inyección SQL</li>
<li>Cross-Site Scripting (XSS)</li>
<li>Autenticaciones débiles</li>
<li>Exposición de datos sensibles</li>
</ul>
<div style="height: 40px;"></div>
<h2 id="instalacion">Instalación</h2>
<pre class="caja-codigo-blog"># Linux
sudo snap install zaproxy --classic

# Windows/Mac
Descargar desde https://www.zaproxy.org/download/</pre>
<p>También puedes ejecutar ZAP en Docker:</p>
<pre class="caja-codigo-blog">docker run -u zap -p 8080:8080 owasp/zap2docker-stable</pre>
<div style="height: 40px;"></div>
<h2 id="escaneo">Realizar un escaneo</h2>
<ol>
<li>Configura ZAP como proxy del navegador.</li>
<li>Accede a tu tienda (staging, nunca producción directamente).</li>
<li>Usa “Spider Scan” para mapear URLs.</li>
<li>Lanza “Active Scan” para detectar vulnerabilidades.</li>
</ol>
<div style="height: 40px;"></div>
<h2 id="analisis">Analizar resultados</h2>
<p>ZAP clasifica los hallazgos por severidad:</p>
<table>
<tbody>
<tr>
<th>Riesgo</th>
<th>Color</th>
<th>Ejemplo</th>
</tr>
<tr>
<td>Alto</td>
<td>Rojo</td>
<td>SQL Injection</td>
</tr>
<tr>
<td>Medio</td>
<td>Naranja</td>
<td>XSS reflejado</td>
</tr>
<tr>
<td>Bajo</td>
<td>Amarillo</td>
<td>Cookies sin HttpOnly</td>
</tr>
</tbody>
</table>
<p>Corrige primero los riesgos altos y revisa los medios según impacto.</p>
<div style="height: 40px;"></div>
<h2 id="integracion">Integración con CI/CD</h2>
<pre class="caja-codigo-blog">jobs:
  zap_scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run ZAP
        run: docker run owasp/zap2docker-stable zap-baseline.py -t https://staging.mi-tienda.com -r zap_report.html</pre>
<p>Esto permite ejecutar escaneos automáticos en cada despliegue.</p>
<div style="height: 40px;"></div>
<h2 id="mejores-practicas">Mejores prácticas</h2>
<ul>
<li>Auditar siempre en entorno de staging.</li>
<li>Combinar ZAP con análisis manual.</li>
<li>Programar escaneos periódicos.</li>
<li>Usar reportes HTML para seguimiento.</li>
</ul>
<div style="height: 40px;"></div>
<h2>Conclusión</h2>
<p>Con OWASP ZAP puedes detectar vulnerabilidades antes de que se conviertan en problemas graves. Integrar esta herramienta en tu flujo DevSecOps es una inversión directa en la seguridad de tu ecommerce.</p>
<p><strong>¿Quieres que configuremos un sistema de escaneo de seguridad para tu tienda?</strong> <a href="/contacto">Contáctanos</a>.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-usar-owasp-zap-para-auditar-vulnerabilidades-en-un-ecommerce/">Cómo usar OWASP ZAP para auditar vulnerabilidades en un ecommerce</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-usar-owasp-zap-para-auditar-vulnerabilidades-en-un-ecommerce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo proteger endpoints API en PHP y Python contra accesos no autorizados</title>
		<link>https://eligeunaweb.es/como-proteger-endpoints-api-en-php-y-python-contra-accesos-no-autorizados/</link>
					<comments>https://eligeunaweb.es/como-proteger-endpoints-api-en-php-y-python-contra-accesos-no-autorizados/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Mon, 28 Jul 2025 06:13:55 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987611015</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_1 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Los endpoints API son puertas de entrada críticas a tu aplicación. Si no están bien protegidos, pueden convertirse en una fuente de ataques, filtraciones de datos o modificaciones no autorizadas. En este artículo aprenderás a proteger tus endpoints en PHP y Python con prácticas seguras, tokens, autenticación y validaciones.</p>
<p>&nbsp;</p>
<h2>Índice</h2>
<ul>
<li><a href="#amenazas">Principales amenazas a endpoints API</a></li>
<li><a href="#autenticacion">Autenticación segura: tokens y cabeceras</a></li>
<li><a href="#php">Protección de endpoints en PHP</a></li>
<li><a href="#python">Protección de endpoints en Python (Flask)</a></li>
<li><a href="#buenas">Buenas prácticas adicionales</a></li>
</ul>
<div style="height: 40px;"></div>
<h2 id="amenazas">Principales amenazas</h2>
<ul>
<li>Falta de autenticación</li>
<li>Endpoints públicos que exponen datos</li>
<li>Tokens no cifrados o predecibles</li>
<li>Parámetros sin sanitizar → riesgo de inyección</li>
<li>Falta de control sobre IPs, límites y logs</li>
</ul>
<div style="height: 40px;"></div>
<h2 id="autenticacion">Autenticación con token en cabecera</h2>
<p>Los tokens se deben enviar por cabecera HTTP con formato:</p>
<pre class="caja-codigo-blog">Authorization: Bearer TU_TOKEN</pre>
<p>Es recomendable generar tokens con UUID o SHA256, expirar tokens y controlar su uso por IP/tiempo.</p>
<div style="height: 40px;"></div>
<h2 id="php">Ejemplo en PHP</h2>
<pre class="caja-codigo-blog">$headers = getallheaders();
if (!isset($headers['Authorization']) || $headers['Authorization'] !== 'Bearer 12345ABC') {
    http_response_code(401);
    echo json_encode(["error" =&gt; "Unauthorized"]);
    exit;
}

// Endpoint protegido
$data = ["respuesta" =&gt; "OK"];
echo json_encode($data);
</pre>
<h3>Extensión: validar IP o limitar llamadas</h3>
<ul>
<li>Validar <code>$_SERVER['REMOTE_ADDR']</code></li>
<li>Registrar peticiones por IP en base de datos</li>
</ul>
<div style="height: 40px;"></div>
<h2 id="python">Ejemplo en Python (Flask)</h2>
<pre class="caja-codigo-blog">from flask import Flask, request, jsonify
app = Flask(__name__)

@app.route('/api/segura')
def segura():
    auth = request.headers.get("Authorization")
    if auth != "Bearer 12345ABC":
        return jsonify({"error": "Unauthorized"}), 401
    return jsonify({"respuesta": "OK"})

app.run()</pre>
<h3>Recomendación:</h3>
<ul>
<li>Usar librerías como <code>flask-limiter</code> para rate limiting</li>
<li>Almacenar tokens con hashing</li>
</ul>
<div style="height: 40px;"></div>
<h2 id="buenas">Buenas prácticas</h2>
<ul>
<li>Auditar endpoints y eliminar los no usados</li>
<li>Habilitar CORS solo cuando sea necesario</li>
<li>Usar HTTPS siempre</li>
<li>Hacer logging de acceso</li>
<li>Separar entornos de desarrollo y producción</li>
</ul>
<div style="height: 40px;"></div>
<h2>Conclusión</h2>
<p>Proteger tus endpoints es clave para cualquier proyecto ecommerce o SaaS. No basta con “que funcionen”; deben resistir ataques reales y no exponer datos críticos.</p>
<p><strong>¿Quieres que auditemos la seguridad de tu API?</strong> <a href="/contacto">Contáctanos</a>.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-proteger-endpoints-api-en-php-y-python-contra-accesos-no-autorizados/">Cómo proteger endpoints API en PHP y Python contra accesos no autorizados</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-proteger-endpoints-api-en-php-y-python-contra-accesos-no-autorizados/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo crear un sistema de alertas ante accesos sospechosos en PHP</title>
		<link>https://eligeunaweb.es/como-crear-un-sistema-de-alertas-ante-accesos-sospechosos-en-php/</link>
					<comments>https://eligeunaweb.es/como-crear-un-sistema-de-alertas-ante-accesos-sospechosos-en-php/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610861</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_2 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3><p>La seguridad de un sitio web no solo depende de firewalls o plugins. Una forma muy eficaz de detectar ataques tempranos es implementar un sistema que avise cuando haya accesos sospechosos, como muchos intentos desde la misma IP, bots o scrapers masivos.</p><p>En este artículo te enseño cómo <strong>crear un sistema de alertas ante accesos sospechosos en PHP</strong>. Está pensado tanto para desarrolladores como para quienes no tienen conocimientos técnicos.</p><div style="height:40px;"></div><h4>Índice</h4><ul><li><a href="#porqueelegir"><strong>1. Por qué detectar accesos sospechosos</strong></a></li><li><a href="#tabla"><strong>2. Datos recomendados a registrar</strong></a></li><li><a href="#script"><strong>3. Script PHP para registrar accesos y disparar alertas</strong></a></li><li><a href="#logs"><strong>4. Ejemplo de log generado</strong></a></li><li><a href="#buenaspracticas"><strong>5. Buenas prácticas y RGPD</strong></a></li><li><a href="#conclusion"><strong>6. Conclusión</strong></a></li></ul><div style="height:40px;"></div><h3 id="porqueelegir"><strong>1. Por qué detectar accesos sospechosos</strong></h3><ul><li>🔐 Identificar ataques de fuerza bruta (múltiples intentos de login).</li><li>📈 Detectar scrapers que copian datos de tu web.</li><li>🚨 Evitar saturación de tu servidor por bots no deseados.</li></ul><div style="height:40px;"></div><h3 id="tabla"><strong>2. Datos recomendados a registrar</strong></h3><table><thead><tr><th>Dato</th><th>Descripción</th></tr></thead><tbody><tr><td>IP</td><td>Identificar el origen de la visita.</td></tr><tr><td>User-Agent</td><td>Navegador o bot que hace la petición.</td></tr><tr><td>URL accedida</td><td>Página que intenta visitar.</td></tr><tr><td>Fecha y hora</td><td>Para analizar patrones de comportamiento.</td></tr><tr><td>Recuento de accesos</td><td>Número de veces que la IP ha accedido.</td></tr></tbody></table><div style="height:40px;"></div><h3 id="script"><strong>3. Script PHP para registrar accesos y disparar alertas</strong></h3><p>A continuación un script PHP que:</p><ul><li>Registra accesos en un archivo de log.</li><li>Cuenta cuántas veces se repite una misma IP.</li><li>Dispara un email de alerta si una IP supera 50 accesos en 10 minutos.</li></ul><pre class="caja-codigo-blog">&lt;?php
// Configuración
$limite = 50; // Máximo accesos permitidos
$tiempo = 600; // Segundos (10 min)
$ip = $_SERVER['REMOTE_ADDR'] ?? 'desconocida';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'desconocido';
$url = $_SERVER['REQUEST_URI'] ?? 'desconocido';
$time = time();

$registro = "$time|$ip|$user_agent|$url\n";
file_put_contents(__DIR__.'/logs/accesos.log', $registro, FILE_APPEND);

// Analizar el log
$conteo = 0;
$lines = file(__DIR__.'/logs/accesos.log');
foreach ($lines as $line) {
    list($log_time, $log_ip) = explode('|', $line);
    if ($ip == $log_ip && ($time - (int)$log_time) < $tiempo) {
        $conteo++;
    }
}

if ($conteo > $limite) {
    $mensaje = "Alerta: La IP $ip ha accedido $conteo veces en los últimos 10 minutos.";
    mail("tuseguridad@tuweb.com", "Alerta de Acceso Sospechoso", $mensaje);
}
?&gt;</pre><p><strong>Explicación:</strong></p><ul><li>Guarda cada acceso en un log separado por pipe (|).</li><li>Cuenta cuántas veces aparece la misma IP en los últimos 10 minutos.</li><li>Envía un correo si supera el límite configurado.</li></ul><div style="height:40px;"></div><h3 id="logs"><strong>4. Ejemplo de log generado</strong></h3><pre class="caja-codigo-blog">1718123456|203.0.113.45|Mozilla/5.0|/login
1718123460|203.0.113.45|Mozilla/5.0|/login</pre><p>Esto facilita revisar qué URLs son atacadas y con qué frecuencia.</p><div style="height:40px;"></div><h3 id="buenaspracticas"><strong>5. Buenas prácticas y RGPD</strong></h3><ul><li>💾 Borra o rota el log cada cierto tiempo.</li><li>🔐 Guarda el archivo de log fuera de la carpeta pública.</li><li>⚖️ Informa en tu política de privacidad si registras IPs.</li></ul><div style="height:40px;"></div><h3 id="conclusion"><strong>6. Conclusión</strong></h3><p>Con un script sencillo en PHP puedes detectar patrones sospechosos y proteger tu web antes de que un ataque tenga éxito.</p><p>📩 ¿Quieres implementar algo más avanzado con panel y alertas? ¡Contáctanos!</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-crear-un-sistema-de-alertas-ante-accesos-sospechosos-en-php/">Cómo crear un sistema de alertas ante accesos sospechosos en PHP</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-crear-un-sistema-de-alertas-ante-accesos-sospechosos-en-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo detectar archivos modificados o sospechosos en tu CMS</title>
		<link>https://eligeunaweb.es/como-detectar-archivos-modificados-o-sospechosos-en-tu-cms/</link>
					<comments>https://eligeunaweb.es/como-detectar-archivos-modificados-o-sospechosos-en-tu-cms/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 24 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610833</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_3 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Detectar cambios no autorizados en archivos de tu CMS es clave para prevenir hackeos, inyecciones de malware o redirecciones no deseadas.</p>
<p>En esta guía aprenderás a <strong>monitorizar archivos modificados o sospechosos</strong> con métodos prácticos, usando PHP y tareas cron.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#porqueelegir"><strong>1. Por qué es importante monitorear cambios</strong></a></li>
<li><a href="#metodos"><strong>2. Métodos: checksums y fechas de modificación</strong></a></li>
<li><a href="#php"><strong>3. Script PHP para detectar cambios</strong></a></li>
<li><a href="#carpetas"><strong>4. Carpetas clave a vigilar</strong></a></li>
<li><a href="#cron"><strong>5. Automatizar con cron y alertas</strong></a></li>
<li><a href="#buenaspracticas"><strong>6. Buenas prácticas</strong></a></li>
<li><a href="#conclusion"><strong>7. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="porqueelegir"><strong>1. ¿Por qué monitorear cambios?</strong></h3>
<ul>
<li>🚨 Detectar archivos modificados por un atacante</li>
<li>🔎 Localizar malware inyectado en plantillas o plugins</li>
<li>🛡️ Reaccionar rápido y restaurar backups</li>
</ul>

<div style="height:40px;"></div>

<h3 id="metodos"><strong>2. Checksums y fechas de modificación</strong></h3>
<ul>
<li>🗂️ Calcula hashes (<code>md5</code>, <code>sha1</code>) de archivos limpios y compara regularmente.</li>
<li>📅 Consulta la fecha de última modificación para detectar cambios recientes.</li>
</ul>

<div style="height:40px;"></div>

<h3 id="php"><strong>3. Script PHP para escanear cambios</strong></h3>
<pre class="caja-codigo-blog">&lt;?php
$directorio = __DIR__;
$log = '';

foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directorio)) as $file) {
  if ($file->isFile()) {
    if (time() - $file->getMTime() &lt; 86400) { // Modificado en últimas 24h
      $log .= $file->getPathname() . " modificado recientemente\n";
    }
  }
}

file_put_contents('logs/cambios_archivos.log', $log);
?&gt;</pre>

<p>✔️ Guarda un log con los archivos modificados en las últimas 24 horas.</p>

<div style="height:40px;"></div>

<h3 id="carpetas"><strong>4. Carpetas clave a vigilar</strong></h3>
<table>
<thead><tr><th>Carpeta</th><th>Descripción</th></tr></thead>
<tbody>
<tr><td>/themes</td><td>Plantillas y personalizaciones</td></tr>
<tr><td>/modules o /plugins</td><td>Módulos de terceros</td></tr>
<tr><td>/uploads</td><td>Archivos subidos por usuarios</td></tr>
<tr><td>/core</td><td>Archivos del núcleo del CMS</td></tr>
</tbody>
</table>

<div style="height:40px;"></div>

<h3 id="cron"><strong>5. Automatizar con cron</strong></h3>
<p>Programa un cron para ejecutar el script cada día:</p>
<pre class="caja-codigo-blog">0 2 * * * /usr/bin/php /ruta/del/script/scan_archivos.php</pre>

<p>Recibe alertas por email si se detectan cambios sospechosos.</p>

<div style="height:40px;"></div>

<h3 id="buenaspracticas"><strong>6. Buenas prácticas</strong></h3>
<ul>
<li>💾 Mantén copias de seguridad de los archivos originales.</li>
<li>🔒 Protege los logs y restringe su acceso.</li>
<li>✅ Combina este método con un firewall de aplicaciones (WAF).</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>7. Conclusión</strong></h3>
<p>Monitorear la integridad de archivos es una defensa sencilla pero potente contra ataques y modificaciones no autorizadas.</p>
<p>📩 ¿Quieres una solución automatizada con panel y notificaciones? Escríbenos y la instalamos en tu web.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-detectar-archivos-modificados-o-sospechosos-en-tu-cms/">Cómo detectar archivos modificados o sospechosos en tu CMS</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-detectar-archivos-modificados-o-sospechosos-en-tu-cms/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo registrar logs de IP y User-Agent en PHP para detectar accesos sospechosos</title>
		<link>https://eligeunaweb.es/como-registrar-logs-de-ip-y-user-agent-en-php-para-detectar-accesos-sospechosos/</link>
					<comments>https://eligeunaweb.es/como-registrar-logs-de-ip-y-user-agent-en-php-para-detectar-accesos-sospechosos/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 17 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610807</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_4 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Registrar la IP y el User-Agent de los visitantes es una forma sencilla de monitorizar quién accede a tu web y detectar comportamientos sospechosos o bots maliciosos.</p>
<p>En este artículo aprenderás cómo <strong>crear un sistema de logging básico en PHP</strong> para guardar la IP, el navegador y la URL accedida, todo de forma ordenada y segura.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#porqueelegir"><strong>1. ¿Por qué registrar IP y User-Agent?</strong></a></li>
<li><a href="#ejemplo"><strong>2. Script PHP para guardar logs</strong></a></li>
<li><a href="#estructura"><strong>3. Estructura recomendada del archivo de log</strong></a></li>
<li><a href="#analisis"><strong>4. Cómo analizar logs para detectar patrones anómalos</strong></a></li>
<li><a href="#buenaspracticas"><strong>5. Buenas prácticas de seguridad y privacidad</strong></a></li>
<li><a href="#conclusion"><strong>6. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="porqueelegir"><strong>1. ¿Por qué registrar IP y User-Agent?</strong></h3>
<ul>
<li>🔎 Detectar bots no deseados o ataques de fuerza bruta</li>
<li>🚦 Analizar picos de tráfico y origen de visitas</li>
<li>🗂️ Crear alertas ante accesos repetidos desde la misma IP</li>
</ul>

<div style="height:40px;"></div>

<h3 id="ejemplo"><strong>2. Script PHP para registrar logs</strong></h3>
<pre class="caja-codigo-blog">&lt;?php
$ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'unknown';
$url = $_SERVER['REQUEST_URI'] ?? 'unknown';

$log_line = "[" . date('Y-m-d H:i:s') . "] IP: $ip | UA: $user_agent | URL: $url\n";

file_put_contents(__DIR__ . '/logs/accesos.log', $log_line, FILE_APPEND);
?&gt;</pre>

<p>✔️ Cada acceso se guarda en <code>/logs/accesos.log</code>. Crea la carpeta con permisos seguros.</p>

<div style="height:40px;"></div>

<h3 id="estructura"><strong>3. Estructura recomendada del log</strong></h3>
<pre class="caja-codigo-blog">[2024-06-10 12:34:56] IP: 203.0.113.45 | UA: Mozilla/5.0 | URL: /contacto</pre>

<p>Esto te permitirá filtrar por fecha, IP o tipo de User-Agent.</p>

<div style="height:40px;"></div>

<h3 id="analisis"><strong>4. Analizar patrones anómalos</strong></h3>
<ul>
<li>🕵️ Revisar IPs con miles de peticiones en poco tiempo</li>
<li>📑 Comparar User-Agents para detectar scrapers</li>
<li>🔔 Automatizar alertas con cron + PHP para IPs que superen umbrales</li>
</ul>

<div style="height:40px;"></div>

<h3 id="buenaspracticas"><strong>5. Buenas prácticas</strong></h3>
<ul>
<li>🔐 Guarda logs en una carpeta no pública (/logs fuera de public_html)</li>
<li>♻️ Rota y archiva logs cada mes para no saturar espacio</li>
<li>🔏 Cumple con RGPD si almacenas datos de usuarios europeos</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>6. Conclusión</strong></h3>
<p>Un sistema básico de logging con PHP es un primer paso para mejorar la seguridad de tu web y tener evidencia de accesos en caso de problemas.</p>
<p>📩 Si necesitas algo más avanzado con panel visual y alertas automáticas, escríbenos y lo implementamos contigo.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-registrar-logs-de-ip-y-user-agent-en-php-para-detectar-accesos-sospechosos/">Cómo registrar logs de IP y User-Agent en PHP para detectar accesos sospechosos</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-registrar-logs-de-ip-y-user-agent-en-php-para-detectar-accesos-sospechosos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Auditoría completa con SiteCheck de Sucuri paso a paso</title>
		<link>https://eligeunaweb.es/auditoria-completa-con-sitecheck-de-sucuri-paso-a-paso/</link>
					<comments>https://eligeunaweb.es/auditoria-completa-con-sitecheck-de-sucuri-paso-a-paso/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 10 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610745</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_5 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_5  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>SiteCheck de Sucuri es una herramienta gratuita para auditar la seguridad de tu sitio web desde el exterior.  
Analiza si estás en listas negras, si tienes malware visible en el frontend o si se detectan redirecciones sospechosas.</p>
<p>En esta guía te mostramos cómo <strong>usar SiteCheck paso a paso</strong> para auditar tu WordPress, WooCommerce o PrestaShop, interpretar resultados y actuar en consecuencia.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#quees"><strong>1. ¿Qué es SiteCheck?</strong></a></li>
<li><a href="#usar"><strong>2. Cómo usar SiteCheck paso a paso</strong></a></li>
<li><a href="#resultados"><strong>3. Cómo interpretar los resultados</strong></a></li>
<li><a href="#acciones"><strong>4. Acciones recomendadas tras el escaneo</strong></a></li>
<li><a href="#automatizar"><strong>5. Cómo automatizar auditorías externas</strong></a></li>
<li><a href="#mejorar"><strong>6. Buenas prácticas tras una auditoría</strong></a></li>
<li><a href="#conclusion"><strong>7. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="quees"><strong>1. ¿Qué es SiteCheck?</strong></h3>
<p>SiteCheck (https://sitecheck.sucuri.net) es un escáner de seguridad gratuito de la empresa Sucuri.  
Revisa el código visible de una web pública y detecta:</p>
<ul>
<li>⚠️ Malware o código malicioso inyectado</li>
<li>🔁 Redirecciones ilegítimas</li>
<li>🔎 Listas negras de Google, McAfee, Norton, etc.</li>
<li>🧱 Plugins o CMS desactualizados (visibles desde el frontend)</li>
</ul>

<div style="height:40px;"></div>

<h3 id="usar"><strong>2. Cómo usar SiteCheck paso a paso</strong></h3>
<ol>
<li>Accede a <a href="https://sitecheck.sucuri.net">https://sitecheck.sucuri.net</a></li>
<li>Introduce la URL completa (ej. https://mitienda.com)</li>
<li>Haz clic en <strong>«Scan Website»</strong></li>
<li>Espera 10–20 segundos y verás el informe</li>
</ol>

<p>🔍 El escáner actúa desde el exterior. No requiere acceso ni instalación.</p>

<div style="height:40px;"></div>

<h3 id="resultados"><strong>3. Interpretar el informe</strong></h3>
<table>
<thead><tr><th>Sección</th><th>Descripción</th></tr></thead>
<tbody>
<tr><td>Malware</td><td>Analiza código JS, iFrames, cadenas sospechosas</td></tr>
<tr><td>Blacklists</td><td>Consulta en Google SafeBrowsing, Norton, Yandex, etc.</td></tr>
<tr><td>Outdated Software</td><td>Detecta versiones obsoletas si están expuestas</td></tr>
<tr><td>Security Headers</td><td>Verifica políticas como X-Frame-Options o CSP</td></tr>
</tbody>
</table>

<div style="height:40px;"></div>

<h3 id="acciones"><strong>4. Qué hacer si hay alertas</strong></h3>
<ul>
<li>🛠️ Revisar archivos del tema y plugins</li>
<li>🔎 Buscar inyecciones JS, iFrames invisibles, redirecciones</li>
<li>📤 Pedir revisión en caso de estar en blacklist</li>
<li>💡 Si tienes backup reciente, restaurar y luego cerrar vulnerabilidad</li>
</ul>

<div style="height:40px;"></div>

<h3 id="automatizar"><strong>5. Auditorías automáticas</strong></h3>
<ul>
<li>🧪 Puedes crear una tarea CRON para verificar regularmente con un script que consulte el endpoint de SiteCheck</li>
<li>📬 Configura alertas por email con Zapier, IFTTT o notificaciones desde tu dashboard</li>
</ul>

<div style="height:40px;"></div>

<h3 id="mejorar"><strong>6. Buenas prácticas tras escaneo</strong></h3>
<ul>
<li>🔐 Activar cabeceras de seguridad (CSP, HSTS, Referrer-Policy)</li>
<li>🚫 Ocultar versiones de WordPress y plugins en el frontend</li>
<li>💾 Mantener backups automáticos diarios</li>
<li>🧩 No usar temas o plugins nulos</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>7. Conclusión</strong></h3>
<p>SiteCheck es una herramienta gratuita, útil y rápida para detectar problemas visibles en cualquier web.  
Si lo combinas con protección en servidor, copias de seguridad y buenas prácticas, puedes detectar intrusiones antes de que se agraven.</p>
<p>📩 ¿Tu web muestra errores o aparece en blacklist? Escríbenos y la auditamos contigo.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/auditoria-completa-con-sitecheck-de-sucuri-paso-a-paso/">Auditoría completa con SiteCheck de Sucuri paso a paso</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/auditoria-completa-con-sitecheck-de-sucuri-paso-a-paso/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo bloquear bots maliciosos con .htaccess o filtros PHP</title>
		<link>https://eligeunaweb.es/como-bloquear-bots-maliciosos-con-htaccess-o-filtros-php/</link>
					<comments>https://eligeunaweb.es/como-bloquear-bots-maliciosos-con-htaccess-o-filtros-php/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Thu, 05 Jun 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610705</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_6 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_6">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Los bots maliciosos representan una amenaza constante para tiendas online y sitios web. Consumen recursos, intentan vulnerar formularios, capturan contenido o lanzan ataques de fuerza bruta.</p>
<p>En esta guía aprenderás cómo <strong>bloquear bots maliciosos usando reglas en .htaccess y filtros PHP</strong>, con ejemplos claros y recomendaciones para evitar falsos positivos.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#detectar"><strong>1. Cómo identificar bots maliciosos</strong></a></li>
<li><a href="#htaccess"><strong>2. Reglas .htaccess para bloquear bots</strong></a></li>
<li><a href="#php"><strong>3. Bloqueo desde PHP en tiempo real</strong></a></li>
<li><a href="#logs"><strong>4. Cómo registrar intentos sospechosos</strong></a></li>
<li><a href="#automatizar"><strong>5. Automatizar bloqueos con lista negra</strong></a></li>
<li><a href="#precauciones"><strong>6. Falsos positivos y recomendaciones</strong></a></li>
<li><a href="#conclusion"><strong>7. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="detectar"><strong>1. Cómo detectar bots maliciosos</strong></h3>
<ul>
<li>🚫 User-Agent sospechoso (vacío, genérico o falsificado)</li>
<li>📈 Frecuencia excesiva de peticiones desde la misma IP</li>
<li>🔎 Acceso a rutas típicas de vulnerabilidad (/wp-admin, /xmlrpc.php, /cart/add)</li>
<li>🛠️ Encabezados falsos o sin cookies</li>
</ul>

<div style="height:40px;"></div>

<h3 id="htaccess"><strong>2. Bloquear bots con .htaccess</strong></h3>
<p>Bloquear por User-Agent:</p>
<pre class="caja-codigo-blog">RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} (crawler|masscan|python|scrapy) [NC]
RewriteRule .* - [F,L]</pre>

<p>Bloquear por IP:</p>
<pre class="caja-codigo-blog">Order Allow,Deny
Deny from 192.168.1.100
Deny from 203.0.113.0/24</pre>

<p>🔒 Estas reglas son muy rápidas porque se ejecutan antes del PHP.</p>

<div style="height:40px;"></div>

<h3 id="php"><strong>3. Bloquear desde PHP</strong></h3>
<pre class="caja-codigo-blog">&lt;?php
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
$ip = $_SERVER['REMOTE_ADDR'];

$bloqueados = ['python', 'scrapy', 'masscan', 'curl'];

foreach ($bloqueados as $bot) {
  if (stripos($user_agent, $bot) !== false) {
    header('HTTP/1.1 403 Forbidden');
    exit;
  }
}
?&gt;</pre>

<p>💡 Puedes combinarlo con un sistema de alertas o logs.</p>

<div style="height:40px;"></div>

<h3 id="logs"><strong>4. Registrar accesos sospechosos</strong></h3>
<pre class="caja-codigo-blog">&lt;?php
$log = "[" . date("Y-m-d H:i:s") . "] $ip - $user_agent\n";
file_put_contents(__DIR__ . '/logs/bots.log', $log, FILE_APPEND);
?&gt;</pre>

<p>📁 Útil para revisar patrones o crear una lista negra dinámica.</p>

<div style="height:40px;"></div>

<h3 id="automatizar"><strong>5. Automatizar bloqueos por IP</strong></h3>
<ul>
<li>⚙️ Revisar logs cada noche y agregar IPs repetidas a `.htaccess`</li>
<li>📤 Enviar alertas por email o Telegram</li>
<li>⏱️ Usar cron para limpiar IPs tras 7 días si no repiten</li>
</ul>

<div style="height:40px;"></div>

<h3 id="precauciones"><strong>6. Evitar falsos positivos</strong></h3>
<ul>
<li>✅ No bloquees bots de Google, Bing, etc.</li>
<li>🧪 Verifica User-Agent antes de aplicar una regla</li>
<li>🔄 Usa logs y listas temporales para IPs sospechosas</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>7. Conclusión</strong></h3>
<p>Bloquear bots maliciosos con .htaccess o PHP es una solución efectiva para proteger recursos, prevenir ataques y optimizar tu servidor.  
Si tienes patrones repetitivos, puedes automatizar la defensa y reducir el riesgo sin depender de plugins.</p>
<p>📩 ¿Necesitas un sistema de detección a medida para tu tienda o blog? Escríbenos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-bloquear-bots-maliciosos-con-htaccess-o-filtros-php/">Cómo bloquear bots maliciosos con .htaccess o filtros PHP</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-bloquear-bots-maliciosos-con-htaccess-o-filtros-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo detectar actividad sospechosa en logs de servidor (Apache/Nginx) y cómo interpretarla</title>
		<link>https://eligeunaweb.es/como-detectar-actividad-sospechosa-en-logs-de-servidor-apache-nginx-y-como-interpretarla/</link>
					<comments>https://eligeunaweb.es/como-detectar-actividad-sospechosa-en-logs-de-servidor-apache-nginx-y-como-interpretarla/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Tue, 27 May 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610665</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_7 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_7">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Uno de los puntos más ignorados en la seguridad web es la revisión periódica de los logs del servidor. Apache y Nginx almacenan registros que contienen información crítica sobre accesos, errores y peticiones que pueden revelar intentos de ataque.</p>
<p>En esta guía práctica te mostramos cómo <strong>detectar actividad sospechosa en logs de servidor</strong>, interpretar los patrones más comunes y aplicar medidas de protección efectivas.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#tipos"><strong>1. Qué tipos de logs debes revisar</strong></a></li>
<li><a href="#rutas"><strong>2. Dónde se encuentran los logs en Apache y Nginx</strong></a></li>
<li><a href="#sospechosa"><strong>3. Patrones de actividad sospechosa más comunes</strong></a></li>
<li><a href="#comandos"><strong>4. Comandos útiles para analizar logs</strong></a></li>
<li><a href="#filtrado"><strong>5. Filtrar por IPs, URLs, errores 404 o POSTs masivos</strong></a></li>
<li><a href="#automatizar"><strong>6. Automatizar detección con scripts o fail2ban</strong></a></li>
<li><a href="#reaccion"><strong>7. Qué hacer cuando detectas algo anormal</strong></a></li>
<li><a href="#conclusion"><strong>8. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="tipos"><strong>1. Qué logs debes revisar</strong></h3>
<ul>
<li><code>access.log</code> – cada petición recibida (IP, URL, método, código HTTP)</li>
<li><code>error.log</code> – errores de servidor, PHP, rutas, etc.</li>
<li>Logs personalizados por CMS, firewall o WAF</li>
</ul>

<div style="height:40px;"></div>

<h3 id="rutas"><strong>2. Ubicaciones típicas</strong></h3>
<table>
<thead><tr><th>Servidor</th><th>Ruta común</th></tr></thead>
<tbody>
<tr><td>Apache</td><td>/var/log/apache2/access.log</td></tr>
<tr><td>Nginx</td><td>/var/log/nginx/access.log</td></tr>
<tr><td>Plesk</td><td>/var/www/vhosts/DOMINIO/logs/</td></tr>
<tr><td>cPanel</td><td>/usr/local/apache/domlogs/</td></tr>
</tbody></table>

<div style="height:40px;"></div>

<h3 id="sospechosa"><strong>3. Actividad sospechosa habitual</strong></h3>
<ul>
<li>IPs con miles de peticiones por hora</li>
<li>Accesos a URLs inexistentes (admin.php, config.bak, wp-login.php)</li>
<li>Errores 404 repetidos desde la misma IP</li>
<li>POST masivos a formularios o endpoints</li>
<li>User-agents vacíos o falsos (curl, python)</li>
</ul>

<div style="height:40px;"></div>

<h3 id="comandos"><strong>4. Comandos útiles para análisis</strong></h3>
<pre class="caja-codigo-blog">tail -n 500 access.log
grep "wp-login.php" access.log
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head</pre>

<p>✔️ Con estos puedes ver IPs más activas, rutas más accedidas o errores frecuentes.</p>

<div style="height:40px;"></div>

<h3 id="filtrado"><strong>5. Filtrar por patrones específicos</strong></h3>
<ul>
<li><strong>Detectar peticiones sospechosas:</strong></li>
<pre class="caja-codigo-blog">grep -i "wp-login.php\|xmlrpc.php" access.log</pre>

<li><strong>Ver errores 404:</strong></li>
<pre class="caja-codigo-blog">grep " 404 " access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head</pre>

<li><strong>POST masivos:</strong></li>
<pre class="caja-codigo-blog">grep "POST" access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head</pre>
</ul>

<div style="height:40px;"></div>

<h3 id="automatizar"><strong>6. Automatizar alertas o bloqueos</strong></h3>
<ul>
<li>🛡️ Configurar <strong>fail2ban</strong> para bloquear IPs con errores repetidos</li>
<li>⚠️ Crear scripts cron que te alerten por email</li>
<li>📦 Integrar con sistemas de logs externos (Logwatch, Logrotate, Cloudflare logs)</li>
</ul>

<div style="height:40px;"></div>

<h3 id="reaccion"><strong>7. Qué hacer si detectas actividad sospechosa</strong></h3>
<ul>
<li>🔒 Bloquear la IP si es reiterativa</li>
<li>📄 Reforzar endpoints vulnerables o esconderlos</li>
<li>🔧 Activar captcha o doble validación</li>
<li>📤 Enviar logs a soporte si usas servidor gestionado</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>8. Conclusión</strong></h3>
<p>Revisar tus logs te da ojos donde normalmente no miras. Es el primer paso para anticiparte a ataques, detectar bots o corregir problemas técnicos antes de que escalen.</p>
<p>📩 ¿Te gustaría que configuremos una monitorización automática de logs o alertas por correo? Escríbenos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/como-detectar-actividad-sospechosa-en-logs-de-servidor-apache-nginx-y-como-interpretarla/">Cómo detectar actividad sospechosa en logs de servidor (Apache/Nginx) y cómo interpretarla</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/como-detectar-actividad-sospechosa-en-logs-de-servidor-apache-nginx-y-como-interpretarla/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Herramientas para auditar vulnerabilidades comunes en una web</title>
		<link>https://eligeunaweb.es/herramientas-para-auditar-vulnerabilidades-comunes-en-una-web/</link>
					<comments>https://eligeunaweb.es/herramientas-para-auditar-vulnerabilidades-comunes-en-una-web/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Mon, 26 May 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987610660</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_8 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>Auditar las vulnerabilidades de una web debería ser parte regular del mantenimiento técnico de cualquier proyecto. Tanto si usas WordPress, PrestaShop, Drupal u otro CMS, existen puntos en común que pueden exponerte a ataques si no son detectados a tiempo.</p>
<p>En esta guía práctica te mostramos <strong>las herramientas más eficaces para auditar vulnerabilidades comunes en una web</strong>, cómo usarlas paso a paso y qué tipo de problemas pueden ayudarte a descubrir.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#tipos"><strong>1. Tipos de vulnerabilidades que puedes auditar</strong></a></li>
<li><a href="#online"><strong>2. Herramientas online de auditoría inmediata</strong></a></li>
<li><a href="#cli"><strong>3. Herramientas de línea de comandos (CLI)</strong></a></li>
<li><a href="#cms"><strong>4. Herramientas específicas para CMS (WordPress, PrestaShop, etc.)</strong></a></li>
<li><a href="#automatizar"><strong>5. Cómo automatizar auditorías regulares</strong></a></li>
<li><a href="#interpretar"><strong>6. Cómo interpretar los resultados</strong></a></li>
<li><a href="#accion"><strong>7. Qué hacer después de una auditoría</strong></a></li>
<li><a href="#conclusion"><strong>8. Conclusión</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="tipos"><strong>1. Tipos de vulnerabilidades comunes</strong></h3>
<ul>
<li>🔓 Plugins o extensiones desactualizadas</li>
<li>🔍 Archivos y rutas públicas sin protección</li>
<li>📤 Permisos de archivos inseguros</li>
<li>🛑 Headers HTTP mal configurados (CSP, X-Frame-Options&#8230;)</li>
<li>📦 Formularios sin validación</li>
<li>⚠️ Inyecciones SQL o XSS posibles</li>
</ul>

<div style="height:40px;"></div>

<h3 id="online"><strong>2. Herramientas online gratuitas</strong></h3>
<table>
<thead><tr><th>Herramienta</th><th>Función</th></tr></thead>
<tbody>
<tr><td><a href="https://observatory.mozilla.org">Mozilla Observatory</a></td><td>Analiza headers de seguridad</td></tr>
<tr><td><a href="https://securityheaders.com">SecurityHeaders</a></td><td>Evalúa políticas de seguridad HTTP</td></tr>
<tr><td><a href="https://www.ssllabs.com/ssltest/">SSL Labs</a></td><td>Analiza seguridad del certificado SSL</td></tr>
<tr><td><a href="https://snyk.io/">Snyk</a></td><td>Audita dependencias en Node, PHP, etc.</td></tr>
</tbody></table>

<div style="height:40px;"></div>

<h3 id="cli"><strong>3. Herramientas de línea de comandos</strong></h3>
<ul>
<li><strong>nmap</strong>: escanea puertos y servicios</li>
<li><strong>nikto</strong>: auditoría básica de servidor web</li>
<li><strong>wpscan</strong>: auditoría específica de WordPress</li>
<li><strong>whatweb</strong>: detecta tecnologías usadas por una web</li>
</ul>

<pre class="caja-codigo-blog">nikto -h https://tuweb.com</pre>

<div style="height:40px;"></div>

<h3 id="cms"><strong>4. Herramientas específicas para CMS</strong></h3>
<ul>
<li><strong>WPScan</strong> – auditoría de WordPress</li>
<li><strong>PrestaScan (comercial)</strong> – plugins y configuraciones de PrestaShop</li>
<li><strong>Drupalgeddon testers</strong> – para comprobar CVEs en versiones antiguas</li>
</ul>

<div style="height:40px;"></div>

<h3 id="automatizar"><strong>5. Automatizar las auditorías</strong></h3>
<ul>
<li>🔁 Ejecutar escaneos con cron</li>
<li>📬 Enviar reportes por correo automáticamente</li>
<li>📊 Almacenar resultados en dashboards internos</li>
</ul>

<pre class="caja-codigo-blog">wpscan --url https://miweb.com --api-token=XXXXX --format json -o salida.json</pre>

<div style="height:40px;"></div>

<h3 id="interpretar"><strong>6. Cómo interpretar los resultados</strong></h3>
<ul>
<li>🟡 Advertencias → mejoras recomendadas</li>
<li>🔴 Vulnerabilidades → requieren atención urgente</li>
<li>⚠️ Falsos positivos → verifica manualmente</li>
</ul>

<div style="height:40px;"></div>

<h3 id="accion"><strong>7. ¿Qué hacer después?</strong></h3>
<ul>
<li>✔️ Actualiza extensiones, temas y librerías</li>
<li>🔐 Ajusta permisos o rutas expuestas</li>
<li>📁 Configura cabeceras de seguridad</li>
<li>📋 Documenta y programa la siguiente revisión</li>
</ul>

<div style="height:40px;"></div>

<h3 id="conclusion"><strong>8. Conclusión</strong></h3>
<p>Auditar vulnerabilidades no es solo para pentesters: cualquier desarrollador, administrador o dueño de una tienda online debería saber hacerlo o tenerlo automatizado.</p>
<p>📩 ¿Te gustaría que implementemos una auditoría automática mensual para tu web? Escríbenos y te lo dejamos funcionando.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/herramientas-para-auditar-vulnerabilidades-comunes-en-una-web/">Herramientas para auditar vulnerabilidades comunes en una web</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/herramientas-para-auditar-vulnerabilidades-comunes-en-una-web/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Guía práctica para blindar PrestaShop contra ataques</title>
		<link>https://eligeunaweb.es/guia-practica-para-blindar-prestashop-contra-ataques/</link>
					<comments>https://eligeunaweb.es/guia-practica-para-blindar-prestashop-contra-ataques/#respond</comments>
		
		<dc:creator><![CDATA[eligeunaweb]]></dc:creator>
		<pubDate>Wed, 21 May 2025 07:00:00 +0000</pubDate>
				<category><![CDATA[E-commerce]]></category>
		<category><![CDATA[Prestashop]]></category>
		<category><![CDATA[Recomendaciones]]></category>
		<category><![CDATA[Seguridad]]></category>
		<guid isPermaLink="false">https://eligeunaweb.es/?p=987501822</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_9 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_9  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3><strong>Introducción</strong></h3>
<p>PrestaShop es una plataforma robusta para ecommerce, pero como cualquier software web, si no se configura y protege adecuadamente, puede quedar expuesta a ataques comunes como inyecciones, accesos no autorizados, subida de archivos maliciosos o explotación de módulos vulnerables.</p>
<p>En esta guía te mostramos cómo <strong>blindar tu PrestaShop contra ataques frecuentes</strong>, con prácticas probadas en seguridad web, configuración de servidor, limpieza de módulos, permisos, y más.</p>

<div style="height:40px;"></div>

<h4>Índice</h4>
<ul>
<li><a href="#paso1"><strong>1. Proteger el acceso al backoffice</strong></a></li>
<li><a href="#paso2"><strong>2. Controlar permisos de archivos y carpetas</strong></a></li>
<li><a href="#paso3"><strong>3. Desactivar funciones PHP inseguras</strong></a></li>
<li><a href="#paso4"><strong>4. Revisar y limpiar módulos innecesarios</strong></a></li>
<li><a href="#paso5"><strong>5. Evitar exposición de archivos sensibles</strong></a></li>
<li><a href="#paso6"><strong>6. Bloquear ejecución en carpetas de subida</strong></a></li>
<li><a href="#paso7"><strong>7. Activar reglas de seguridad en el servidor</strong></a></li>
<li><a href="#paso8"><strong>8. Conclusión y checklist</strong></a></li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso1"><strong>1. Proteger el acceso al backoffice</strong></h3>
<ul>
<li>🔐 Cambia la ruta de acceso desde `/admin123/` a algo personalizado</li>
<li>💂‍♂️ Aplica protección por IP o contraseña adicional (htpasswd)</li>
<li>🔑 Usa doble autenticación (2FA)</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso2"><strong>2. Permisos recomendados de archivos</strong></h3>
<table>
<thead><tr><th>Carpeta / archivo</th><th>Permiso recomendado</th></tr></thead>
<tbody>
<tr><td>/config, /upload, /download</td><td>750</td></tr>
<tr><td>Archivos .php</td><td>644</td></tr>
<tr><td>.htaccess</td><td>444</td></tr>
</tbody></table>

<p>✔️ Usa <code>chmod</code> y <code>chown</code> desde consola para aplicarlos correctamente.</p>

<div style="height:40px;"></div>

<h3 id="paso3"><strong>3. Desactivar funciones PHP peligrosas</strong></h3>
<p>Desde <code>php.ini</code> o panel de hosting:</p>
<pre class="caja-codigo-blog">disable_functions = exec,passthru,shell_exec,system,proc_open,popen</pre>

<p>🔒 Estas funciones no son necesarias en PrestaShop y suelen ser objetivo de exploits.</p>

<div style="height:40px;"></div>

<h3 id="paso4"><strong>4. Limpieza de módulos</strong></h3>
<ul>
<li>🧹 Elimina módulos inactivos desde el backoffice o por SQL</li>
<li>💣 Revisa módulos de terceros sin mantenimiento</li>
<li>🧠 Desinstala los que no uses, no solo los desactives</li>
</ul>

<pre class="caja-codigo-blog">DELETE FROM ps_module WHERE active = 0;</pre>

<div style="height:40px;"></div>

<h3 id="paso5"><strong>5. Evitar exposición de archivos sensibles</strong></h3>
<p>Bloquea el acceso directo a rutas como:</p>
<pre class="caja-codigo-blog">/config/, /var/, /vendor/, /classes/</pre>
<p>✔️ Usa reglas en `.htaccess` o configuración del servidor:</p>
<pre class="caja-codigo-blog">RewriteRule ^(config|var|vendor|classes) - [F,L]</pre>

<div style="height:40px;"></div>

<h3 id="paso6"><strong>6. Bloquear ejecución de PHP en carpetas inseguras</strong></h3>
<p>Ejemplo para `/upload`:</p>
<pre class="caja-codigo-blog">&lt;FilesMatch "\.php$"&gt;
  Deny from all
&lt;/FilesMatch&gt;</pre>

<p>💡 Crea un `.htaccess` con esta regla en cada carpeta de subida.</p>

<div style="height:40px;"></div>

<h3 id="paso7"><strong>7. Seguridad desde el servidor</strong></h3>
<ul>
<li>Activa firewall o WAF si usas NGINX/Apache</li>
<li>Usa CDN con protección como Cloudflare</li>
<li>Revisa logs de errores o accesos sospechosos</li>
<li>Configura alertas de integridad de archivos</li>
</ul>

<div style="height:40px;"></div>

<h3 id="paso8"><strong>8. Conclusión y checklist final</strong></h3>
<p>✅ Checklist rápida:</p>
<ul>
<li>Backoffice oculto o protegido</li>
<li>Permisos seguros en carpetas clave</li>
<li>Funciones PHP peligrosas desactivadas</li>
<li>Módulos limpios y actualizados</li>
<li>Archivos sensibles protegidos</li>
<li>Firewall activo + logs revisados</li>
</ul>

<p>📩 ¿Quieres que revisemos tu PrestaShop o lo reforcemos con reglas personalizadas? Escríbenos.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>La entrada <a href="https://eligeunaweb.es/guia-practica-para-blindar-prestashop-contra-ataques/">Guía práctica para blindar PrestaShop contra ataques</a> apareció primero en <a href="https://eligeunaweb.es">Eligeunaweb Agencia de marketing y programación web</a>.]]></content:encoded>
					
					<wfw:commentRss>https://eligeunaweb.es/guia-practica-para-blindar-prestashop-contra-ataques/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
