<?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>Lapiz Corto &#187; Plesk</title>
	<atom:link href="http://www.lapizcorto.com/category/servidores/plesk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lapizcorto.com</link>
	<description>Para esas soluciones que nunca recuerdas</description>
	<lastBuildDate>Mon, 14 Dec 2015 08:34:34 +0000</lastBuildDate>
	<language>es-ES</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Migración de Plesk para Windows a Plesk para Linux</title>
		<link>http://www.lapizcorto.com/migracion-de-plesk-para-windows-a-plesk-para-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=migracion-de-plesk-para-windows-a-plesk-para-linux</link>
		<comments>http://www.lapizcorto.com/migracion-de-plesk-para-windows-a-plesk-para-linux/#comments</comments>
		<pubDate>Mon, 07 Jan 2013 09:00:06 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mailenable]]></category>
		<category><![CDATA[migración]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=218</guid>
		<description><![CDATA[En las últimas versiones de Plesk, Parallels ha incluido una herramienta estupenda que permite realizar migraciones entre servidores Linux, o servidores Windows, e incluso de un servidor Linux a un servidor Windows, utilizando internamente ssh y rsync para realizar el transporte de datos, pero no da la posibilidad de realizar una migración automatizada de Windows [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En las últimas versiones de Plesk, Parallels ha incluido una herramienta estupenda que permite realizar migraciones entre servidores Linux, o servidores Windows, e incluso de un servidor Linux a un servidor Windows, utilizando internamente ssh y rsync para realizar el transporte de datos, pero no da la posibilidad de realizar una migración automatizada de Windows a Linux, así que para este caso no ha quedado más remedio que recurrir a procedimientos más artesanales.</p>
<p>El plan consiste básicamente en realizar consultas SQL a la base de datos de Plesk para Windows, a partir de las cuáles se pueda obtener una serie de scripts que utilicen los comandos CLI provistos por Plesk. Una vez replicada la estructura de clientes y dominios, ya se comienza a pasar los datos, vía FTP, del código de las webs, y mediante exports de MySQL para las bases de datos. Para el correo se creó una utilidad en Python que analizaba el fichero AUTH.TAB de <a title="MailEnable" href="http://www.mailenable.com/" target="_blank">MailEnable</a>, generando un script que crea los buzones en Plesk, y después invoca a <a href="http://freecode.com/projects/imapsync" target="_blank">imapsync</a> para copiar el contenido de los mismos.<br />
<span id="more-218"></span></p>
<h4>Estructura de dominios en Plesk</h4>
<p>Comenzamos generando la estructura de revendedores, clientes y dominios en el servidor destino, creando una serie de comandos para el CLI de Plesk, ejecutando comandos SQL en el servidor origen:</p>
<p>SQL que genera los revendedores:</p>
<pre class="brush: sql; title: ; notranslate">
SELECT &quot;reseller -c &quot; + cl.login +
&quot; -name &quot;&quot;&quot; + cl.pname + &quot;&quot;&quot;&quot; +
&quot; -passwd &quot; + cl.passwd +
&quot; -company &quot;&quot;&quot; + cl.cname + &quot;&quot;&quot;&quot; +
&quot; -phone &quot;&quot;&quot; + cl.phone + &quot;&quot;&quot;&quot; +
&quot; -email &quot;&quot;&quot; + cl.email + &quot;&quot;&quot;&quot; +
&quot; -address &quot;&quot;&quot; + cl.address + &quot;&quot;&quot;&quot; +
&quot; -city &quot;&quot;&quot; + cl.city + &quot;&quot;&quot;&quot; +
&quot; -zip &quot;&quot;&quot; + cl.pcode + &quot;&quot;&quot;&quot; +
&quot; -country &quot;&quot;&quot; + cl.country + &quot;&quot;&quot;&quot; +
&quot; -creation-date &quot;&quot;&quot; + FORMAT(cl.cr_date,&quot;YYYY-MM-DD&quot;) + &quot;&quot;&quot;&quot;
FROM clients cl
WHERE type = &quot;reseller&quot;
</pre>
<p>SQL que genera un script para la creación de clientes, obviando los suscriptores, que ya tienen su cuenta del paso anterior:</p>
<pre class="brush: sql; title: ; notranslate">
SELECT &quot;customer -c &quot; + cl.login +
&quot; -name &quot;&quot;&quot; + cl.pname + &quot;&quot;&quot;&quot; +
&quot; -passwd &quot; + cl.passwd +
&quot; -company &quot;&quot;&quot; + cl.cname + &quot;&quot;&quot;&quot; +
&quot; -phone &quot;&quot;&quot; + cl.phone + &quot;&quot;&quot;&quot; +
&quot; -email &quot;&quot;&quot; + cl.email + &quot;&quot;&quot;&quot; +
&quot; -address &quot;&quot;&quot; + cl.address + &quot;&quot;&quot;&quot; +
&quot; -city &quot;&quot;&quot; + cl.city + &quot;&quot;&quot;&quot; +
&quot; -zip &quot;&quot;&quot; + cl.pcode + &quot;&quot;&quot;&quot; +
&quot; -country &quot;&quot;&quot; + cl.country + &quot;&quot;&quot;&quot; +
&quot; -creation-date &quot;&quot;&quot; + FORMAT(cl.cr_date,&quot;YYYY-MM-DD&quot;) + &quot;&quot;&quot;&quot; +
&quot; -owner &quot;&quot;&quot; + res.login + &quot;&quot;&quot;&quot;
FROM clients cl
LEFT JOIN clients res ON (res.id = cl.parent_id)
  WHERE type &amp;lt;&amp;gt; &quot;reseller&quot;
</pre>
<p>En este punto, nosotros reemplazamos el owner &#8220;admin&#8221; por nuestra empresa, para que nada dependiese del usuario raíz, ya que según la nueva estructura de Plesk 10, parece más correcto.</p>
<p>Por último, el SQL que genera un script para la creación de suscripciones a partir de los dominios de Plesk 9. Los dominios los crea con el DNS desactivado, dado que seguiremos manejando el servicio DNS con el otro servidor, y a la IP compartida (que está, claramente, modificada). También el login utiliza sólo minúsculas, ya que se ha introducido esta restricción en Plesk 10.</p>
<pre class="brush: sql; title: ; notranslate">
SELECT &quot;domain -c &quot; + dom.name +
&quot; -owner &quot;&quot;&quot; + cl.login + &quot;&quot;&quot;&quot; +
&quot; -dns false&quot; +
&quot; -hosting true &quot; +
&quot; -ip 192.168.0.164 &quot; +
&quot; -login &quot;&quot;&quot; + LCASE(hos.fp_adm) + &quot;&quot;&quot;&quot; +
&quot; -passwd &quot;&quot;&quot; + hos.fp_pass + &quot;&quot;&quot;&quot; +
&quot; -creation-date &quot;&quot;&quot; + FORMAT(dom.cr_date,&quot;YYYY-MM-DD&quot;) + &quot;&quot;&quot;&quot;
FROM (domains dom
LEFT JOIN clients cl ON (cl.id = dom.cl_id))
LEFT JOIN hosting hos ON (hos.dom_id = dom.id)
</pre>
<p>Puntos mejorables:</p>
<ul>
<li>Hay que revisar los DNS a mano. Hemos preferido hacerlo así, para hacer limpieza, pero tampoco sería complejo realizar un script similar a los mostrados, y marcar las suscripciones con el servicio DNS activado por defecto, de forma que sólo quedase pendiente realizar la modificación en el dominio.</li>
<li>Las redirecciones de correo y demás opciones específicas deben ser revisadas, ya que el script únicamente ignora las cuentas que estén desactivadas en MailEnable, pero nada más.</li>
<li>Todas las suscripciones pasan como hosting, así que las que son redirecciones o simplemente sin hosting no pasan mediante el script. Esto es debido a que se hace un JOIN con la tabla hosting de Plesk 9.</li>
<li>Las suscripciones y revendedores pasan con un plan personalizado. En nuestro caso nos da igual, porque vamos a aprovechar para repasar todos los clientes y revisar así usos y precios.</li>
</ul>
<h4>Correo electrónico</h4>
<p>Bien, tras esto ya tenemos los revendedores, clientes, suscripciones y dominios en Plesk 10. A continuación presentamos una pequeña utilidad en Python que genera dos ficheros, uno que permite la creación de los buzones en Plesk, y otro que sincroniza los correos entre los dos servidores mediante IMAP, creando la estructura de carpetas existente en el antiguo.</p>
<pre class="brush: python; title: ; notranslate">
# This Python file uses the following encoding: utf-8
'''
me2plesk: Utilidad para la transformación de AUTH.TAB en scripts Plesk 10 e imapsync
Created on 13/10/2011
@author: Vicente Monroig (Digital Disseny)
'''

import os
import sys

def parse_authtab(fichero):
    '''Abre el fichero AUTH.TAB, lo parsea y devuelve una lista con los buzones y contraseñas.'''
    print &quot;Procesando fichero AUTH.TAB &quot; + fichero + &quot;...&quot;
    f = open(fichero, &quot;r&quot;)
    lista = []
    while True:
        lin = f.readline().strip()
        if not lin: break
        campos = lin.split('\t')
        # Ignoramos los que estén desactivados
        if campos[1] &lt;&gt; 1:
            lista.append([campos[0], campos[2]])
    f.close()
    return lista

# Obtenemos la ruta donde se está ejecutando el archivo
ruta = os.path.dirname(os.path.abspath(__file__)) + '/'
# Recogemos el parámetro donde está el AUTH.TAB o mostramos la ayuda
if (len(sys.argv) &gt; 1):
    # Extraemos los pares correo, contraseña
    lista = parse_authtab(sys.argv[1])
    print(&quot;Generando scripts...&quot;)
    # Creamos los archivos de script
    fplesk = open(ruta + 'me2plesk_plesk.txt', &quot;w&quot;)
    fsync = open(ruta + 'me2plesk_imapsync.txt', &quot;w&quot;)
    for elemento in lista:
        # Creamos una nueva línea en ambos scripts
        fplesk.write(&quot;/opt/psa/bin/mail --create &quot; + elemento[0] + &quot; -passwd &quot; + elemento[1] +
                     &quot; -mailbox true\n&quot;)
        fsync.write(&quot;imapsync --host1 origen.com&quot; +
                    &quot; --user1 &quot; + elemento[0] + &quot; --password1 &quot; + elemento[1] +
                    &quot; --host2 destino.com&quot; +
                    &quot; --user2 &quot; + elemento[0] + &quot; --password2 &quot; + elemento[1] +
                    &quot; --sep1 / --prefix1 &quot;&quot;  --subscribe --fastio1 --fastio2 --fast\n&quot;)
    fplesk.close()
    fsync.close()
    print(&quot;Scripts me2plesk_plesk.txt y me2plesk_imapsync.txt generados en %s.&quot; % ruta)
else:
    print &quot;&quot;&quot;
Información:
    me2plesk es una pequeña utilidad que analiza sintácticamente el fichero AUTH.TAB del
    servidor de correo MailEnable para Windows, generando dos scripts, uno que llama a la
    función mail del CLI de Plesk 10, creando los buzones encontrados, y un segundo que
    invoca a la utilidad imapsync, una vez por cada buzón, permitiendo con la combinación
    de ambos la mudanza de un servidor MailEnable Windows a un Plesk 10.
Uso:
    me2plesk.py &lt;AUTH.TAB&gt;
       &quot;&quot;&quot;
</pre>
<p>Además, como algunos ISPs son algo lentos cambiando los registros DNS, tenemos la ventaja de que no perderemos ningún correo, al poder ejecutar la sincronización varias veces, incluso con los DNS ya cambiados y propagados.</p>
<p>Una pega: Aquellos clientes que mantengan correo en el servidor y utilicen POP3 como protocolo, verán sus correos duplicados en los clientes. Sin embargo, los que utilicen IMAP no tendrán este problema, dado que <a title="imapsync" href="http://freecode.com/projects/imapsync" target="_blank">imapsync</a>, la utilidad llamada por el script para sincronizar los buzones, respeta las <em>flags</em> de cada mensaje.</p>
<h4>Webs (código y bases de datos)</h4>
<p>Para pasar el código de las webs utilizaremos FTP, y más concretamente <a title="LFTP" href="http://lftp.yar.ru/" target="_blank">LFTP</a>, que incorpora un comando mirror que nos va a permitir realizar todo el traspaso en una única línea de comandos ejecutada en el servidor destino:</p>
<pre class="brush: bash; light: true; title: ; notranslate">
lftp -e &quot;mirror httpdocs /var/www/vhosts/&lt;dominio&gt;/httpdocs --parallel=10&quot; -u &lt;usuario&gt;,&lt;contraseña&gt; &lt;servidor_fuente&gt;
</pre>
<p>Quedaría ajustar los permisos y propietario de los distintos archivos. Podemos poner unos estándar para Plesk y después repasar lo que necesite permisos de escritura, como carpetas para ficheros temporales.</p>
<pre class="brush: bash; light: true; title: ; notranslate">
chown -R &lt;usuarioplesk&gt;:psacln /var/www/vhosts/&lt;dominio&gt;/httpdocs/*
find /var/www/vhosts/&lt;dominio&gt;/httpdocs/* -type d -exec chmod 755 {} \;
find /var/www/vhosts/&lt;dominio&gt;/httpdocs/* -type f -exec chmod 644 {} \;
</pre>
<p style="text-align: center;"><a href="http://www.lapizcorto.com/wp-content/uploads/2012/02/export_sql.png"><img class="aligncenter size-full wp-image-474" title="HeidiSQL Export" src="http://www.lapizcorto.com/wp-content/uploads/2012/02/export_sql.png" alt="" width="606" height="328" /></a></p>
<p>Vamos a por las bases de datos. Nos centraremos en MySQL, que son las que nos vamos a encontrar en su mayoría (WordPress, Joomla, Magento, Drupal&#8230;). Aprovechando que todavía tenemos un servidor Windows, podemos utilizar HeidiSQL para realizar una copia de seguridad, y si configuramos debidamente el servidor destino para aceptar conexiones externas, también podremos utilizarlo para restaurar, todo desde el mismo servidor origen.</p>
<h4>DNS</h4>
<p>Ya están la estructura de usuarios recreada, correos pasados, código fuente transferido y bases de datos restauradas. Tan sólo queda modificar los DNS de los dominios para que dirijan al nuevo servidor.</p>
<p>Como último apunte, antes de comenzar con los cambios de IPs en los DNS es muy recomendable modificar los registros SOA, indicando un TTL de 5 minutos, con lo que podremos realizar modificaciones que se propaguen mucho más rápido. Por supuesto, esto conlleva un aumento del tráfico, pero con las máquinas y anchos de banda de hoy en día, no debería ser ningún problema.</p>
<p>Recordad también que el <a title="Archivo hosts" href="http://es.wikipedia.org/wiki/Archivo_hosts" target="_blank">archivo hosts</a> es nuestro amigo, y que es <span style="text-decoration: underline;">muy</span> conveniente realizar pruebas en el nuevo servidor antes de cambiar los DNS. Siempre podemos relanzar la sincronización de correos y volver a pasar la copia de seguridad de la base de datos cuando estemos seguros de que todo está operativo de nuevo.</p>
<h4>Organización</h4>
<p>Lo más crucial, lo más importante y lo único que no puede fallar durante el proceso es la organización. Sobre esto poco voy a decir, pues esto es un blog técnico, pero sí quiero remarcar que antes de empezar hay que planificar y dividir las tareas que van a tener que hacerse fuera de horario de oficina. Hay que comunicar a los clientes previamente lo que se va a hacer, y que les quede claro que puede haber problemas, y cuándo se va a hacer, no sea que les dé por liarse a actualizar su web justo cuando tenemos pensado ponernos a migrar sus servicios.</p>
<p><a href="http://www.lapizcorto.com/wp-content/uploads/2012/12/organizacion1.jpg"><img class="aligncenter size-full wp-image-824" title="Organización" src="http://www.lapizcorto.com/wp-content/uploads/2012/12/organizacion1.jpg" alt="Organización en hoja de cálculo" width="600" height="629" /></a></p>
<p>Prepara una hoja de cálculo, verifica y anota los servicios a trasladar, agrúpalos por similitud y anota los posibles problemas y su resolución. Como mínimo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/migracion-de-plesk-para-windows-a-plesk-para-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación simple de mod_security en Plesk 10 para Ubuntu</title>
		<link>http://www.lapizcorto.com/instalacion-simple-de-mod_security-en-plesk-10-para-ubuntu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalacion-simple-de-mod_security-en-plesk-10-para-ubuntu</link>
		<comments>http://www.lapizcorto.com/instalacion-simple-de-mod_security-en-plesk-10-para-ubuntu/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 11:30:08 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=378</guid>
		<description><![CDATA[Uno de los sistemas para minimizar las posibilidades de éxito de los intentos de ataque a los servidores, a nivel de aplicación, es ModSecurity. Con él podemos dormir un poquito más tranquilos, sabiendo que vamos a estar más protegidos de los ataques de inyección SQL, fuerza bruta o vulnerabilidades conocidas. Lamentablemente, parece que por cuestiones [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Uno de los sistemas para minimizar las posibilidades de éxito de los intentos de ataque a los servidores, a nivel de aplicación, es <a title="ModSecurity" href="http://www.modsecurity.org/projects/modsecurity/apache/" target="_blank">ModSecurity</a>. Con él podemos dormir un poquito más tranquilos, sabiendo que vamos a estar más protegidos de los ataques de inyección SQL, fuerza bruta o vulnerabilidades conocidas.</p>
<p>Lamentablemente, parece que por cuestiones de licencia, ya no se siguen generando los binarios en paquetes Debian, por lo que el método recomendado de instalación es compilar a partir del código fuente, pero esto necesita un cambio en el servidor Apache que viene con Plesk 10 para Ubuntu, así que mejor dejamos la última versión disponible instalable con apt, y procedemos con:</p>
<p><code>apt-get install libapache-mod-security</code></p>
<p>Esto nos dejará instalados y activados los módulos mod_security2 y mod_unique_id, con sus enlaces en /etc/apache2/mods-enabled. Ahora necesitamos un conjunto de reglas para ModSecurity, y las que vamos a utilizar son las gratuitas de Atomicorp, los editores de ASL, que las ofrecen con un retraso de 90 días sobre las de pago, disponibles en <a title="Reglas ModSecurity" href="http://updates.atomicorp.com/channels/rules/delayed/" target="_blank">http://updates.atomicorp.com/channels/rules/delayed/</a>. Las descargamos y descomprimimos en /etc/apache2/modsecurity.d:</p>
<p><code>mkdir /etc/apache2/modsecurity.d<br />
wget http://updates.atomicorp.com/channels/rules/delayed/modsec-2.5-free-latest.tar.gz<br />
tar xvf modsec-2.5-free-latest.tar.gz</code></p>
<p>Ahora creamos un fichero de configuración, también en /etc/apache2/modsecurity.d, llamado modsecurity_crs_10_config.conf, con el siguiente contenido:</p>
<pre class="brush: plain; title: ; notranslate">SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
SecResponseBodyMimeType (null) text/html text/plain text/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecComponentSignature 200911012341
SecUploadDir /var/asl/data/suspicious
SecUploadKeepFiles Off
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus &quot;^(?:5|4(?!04))&quot;
SecAuditLogType Concurrent
SecAuditLog /var/log/apache2/modsecurity/audit_log
SecAuditLogParts ABIFHZ
SecArgumentSeparator &quot;&amp;&quot;
SecCookieFormat 0
SecRequestBodyInMemoryLimit 131072
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
SecResponseBodyLimitAction ProcessPartial

#SecPcreMatchLimit  100000
#SecPcreMatchLimitRecursion 100000

SecDebugLog /var/log/apache2/modsecurity/modsec_debug_log
SecDebugLogLevel 3</pre>
<p>Atención a las carpetas especificadas para las estructuras de datos necesarias para ModSecurity, que deben existir y Apache tener permiso sobre ellas, por lo que ejecutamos:</p>
<p><code>mkdir /var/asl /var/asl/data /var/asl/data/audit /var/asl/data/msa /var/asl/data/security<br />
chown -R www-data:www-data /var/asl/data/</code></p>
<p>Por último, creamos un fichero 00_modsecurity.conf en /etc/apache2/conf/, con ese nombre para que cargue el primero, activando las reglas que deseemos, que en nuestro caso son las siguientes:</p>
<pre class="brush: plain; title: ; notranslate">LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so

  # Todas + exclusiones personalizadas:
  Include /etc/apache2/modsecurity.d/00_asl_0_global.conf
  Include /etc/apache2/modsecurity.d/00_asl_custom_exclude.conf
  # Quitamos RBL porque coge las IPs incorrectamente, como desordenadas
  #Include /etc/apache2/modsecurity.d/00_asl_rbl.conf
  #Include /etc/apache2/modsecurity.d/00_asl_whitelist.conf
  # Esta sólo funciona con ModSecurity &gt; 2.6.1
  #Include /etc/apache2/modsecurity.d/00_asl_z_antievasion.conf
  Include /etc/apache2/modsecurity.d/00_asl_zz_strict.conf
  Include /etc/apache2/modsecurity.d/05_asl_exclude.conf
  # No tenemos el CLAM antivirus instalado
  #Include /etc/apache2/modsecurity.d/05_asl_scanner.conf
  Include /etc/apache2/modsecurity.d/09_asl_rules.conf
  Include /etc/apache2/modsecurity.d/09_asl_rules_antievasion.conf
  Include /etc/apache2/modsecurity.d/10_asl_antimalware.conf
  Include /etc/apache2/modsecurity.d/10_asl_antimalware_output.conf
  Include /etc/apache2/modsecurity.d/10_asl_rules.conf
  Include /etc/apache2/modsecurity.d/11_asl_data_loss.conf
  Include /etc/apache2/modsecurity.d/12_asl_brute.conf
  Include /etc/apache2/modsecurity.d/20_asl_useragents.conf
  Include /etc/apache2/modsecurity.d/30_asl_antimalware.conf
  Include /etc/apache2/modsecurity.d/30_asl_antispam.conf
  Include /etc/apache2/modsecurity.d/30_asl_antispam_referrer.conf
  Include /etc/apache2/modsecurity.d/40_asl_apache2-rules.conf
  Include /etc/apache2/modsecurity.d/50_asl_rootkits.conf
  Include /etc/apache2/modsecurity.d/60_asl_recons.conf
  Include /etc/apache2/modsecurity.d/61_asl_recons_dlp.conf
  Include /etc/apache2/modsecurity.d/98_asl_jitp.conf
  Include /etc/apache2/modsecurity.d/99_asl_exclude.conf
  Include /etc/apache2/modsecurity.d/99_asl_jitp.conf
  Include /etc/apache2/modsecurity.d/99_asl_redactor.conf
  # No tenemos el CLAM antivirus instalado
  #Include /etc/apache2/modsecurity.d/99_asl_scanner.conf
</pre>
<p>Vamos, prácticamente todas, menos la que da problemas por la versión de ModSecurity, que no es la 2.6.1 o superior, las de listas negras y las del antivirus CLAM.</p>
<p>Ya está todo listo. Comprobamos que la configuración de Apache es correcta con</p>
<p><code>apache2ctl configtest</code></p>
<p>Y si lo es, reiniciamos apache con</p>
<p><code>apache2ctl graceful</code></p>
<p>Hale, ya podemos empezar a ver correr en /var/log/apache2/modsecurity/audit_log la lista de peticiones bloqueadas.</p>
<h2></h2>
<h2>Actualización: Cómo desactivar reglas</h2>
<p>&nbsp;</p>
<p>Es muy posible que tengamos que desactivar algunas reglas al encontrarnos con falsos positivos, mostrando errores 403 cuando los permisos y el código están perfectamente. En nuestro caso, al alojar tiendas, algunos TPVs virtuales dan problemas, así que decidimos desactivar globalmente. Para esto, se modifica el fichero <code>/etc/apache2/modsecurity.d/00_asl_custom_exclude.conf</code>, añadiendo el siguiente contenido:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;LocationMatch .*&gt;
  &lt;IfModule mod_security2.c&gt;
    SecRuleRemoveById 350147
    SecRuleRemoveById 350148
  &lt;/IfModule&gt;
&lt;/LocationMatch&gt;
</pre>
<p>Al modificar el fichero de configuración global y utilizar <code>.*</code> como patrón, indicamos que para cualquier dominio y URL alojada en el servidor no queremos que se tengan en cosideración esas reglas. También podemos modificar una regla para un dominio en particular, modificando el fichero <code>vhost.conf</code> que Plesk utiliza para este menester, y regenerando la configuración, por supuesto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/instalacion-simple-de-mod_security-en-plesk-10-para-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Integración de Roundcube con Plesk 10</title>
		<link>http://www.lapizcorto.com/integracion-de-roundcube-con-plesk-10/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integracion-de-roundcube-con-plesk-10</link>
		<comments>http://www.lapizcorto.com/integracion-de-roundcube-con-plesk-10/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 09:20:40 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Roundcube]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=298</guid>
		<description><![CDATA[If you prefer to read this post in english, click here. Como ya hemos comentado en anteriores ocasiones, los webmails incluidos con Plesk 10 no eran de nuestro agrado, así que cuando sustituímos Plesk 9.5 Windows por Plesk 10.3 Linux, decidimos cambiarlo por Roundcube. El problema ha sido que los usuarios han echado de menos [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>If you prefer to read this post in english, <a href="http://www.lapizcorto.com/roundcube-and-plesk-10-integration">click here</a>.</em></p>
<p>Como ya hemos comentado en <a href="http://www.lapizcorto.com/instalacion-del-webmail-roundcube-en-plesk-10/">anteriores ocasiones</a>, los webmails incluidos con Plesk 10 no eran de nuestro agrado, así que cuando sustituímos Plesk 9.5 Windows por Plesk 10.3 Linux, decidimos cambiarlo por <a href="http://roundcube.net/" target="_blank">Roundcube</a>. El problema ha sido que los usuarios han echado de menos cierta funcionalidad de la que disponían con MailEnable, pero lo hemos podido solventar mediante el desarrollo de plugins o drivers para plugins ya existentes, que queremos publicar:</p>
<table>
<tbody>
<tr>
<td><strong>Función</strong></td>
<td><strong>Descripción</strong></td>
<td><strong>Descarga</strong></td>
</tr>
<tr>
<td>Cambio de contraseña</td>
<td>Driver para el plugin <a href="http://trac.roundcube.net/browser/trunk/plugins/password" target="_blank">Password</a>, que permite cambiar la contraseña del buzón utilizando la utilidad CLI <code>mail</code>, provista en Plesk 10.3.</td>
<td><a href="http://www.lapizcorto.com/wp-content/uploads/2011/10/password_plesk.tar.gz">Enlace</a></td>
</tr>
<tr>
<td>Mensaje fuera de oficina</td>
<td>Driver para el plugin <a href="https://github.com/bhuisgen/rc-vacation/" target="_blank">Vacation</a>, que permite establecer una respuesta automática a los correos recibidos, y de forma opcional, reenviar el correo a un tercero, utilizando la utilidad CLI <code>autoresponder</code>, provista en Plesk 10.3.</td>
<td><a href="http://www.lapizcorto.com/wp-content/uploads/2011/10/vacation_plesk.tar.gz">Enlace</a></td>
</tr>
<tr>
<td>Redireccionamiento</td>
<td>Plugin nuevo, desarrollado a partir de <a href="https://github.com/bhuisgen/rc-vacation/" target="_blank">Vacation</a>, que permite especificar varias direcciones e-mail a las que se reenviarán los correos recibidos, utilizando la utilidad CLI <code>mail</code>, provista en Plesk 10.3.</td>
<td><a href="http://www.lapizcorto.com/wp-content/uploads/2011/10/forward.tar.gz">Enlace</a></td>
</tr>
</tbody>
</table>
<p>Todos los desarrollos asumen que Roundcube se está ejecutando en el mismo servidor que Plesk, y precisan de permisos de ejecución de las utilidades CLI para el usuario que esté ejecutando Apache. La ventaja de llamar nativamente a Plesk es que los cambios realizados en el panel se ven en el webmail, y viceversa, además de que se incluyen en la copia de seguridad de Plesk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/integracion-de-roundcube-con-plesk-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Roundcube and Plesk 10 integration</title>
		<link>http://www.lapizcorto.com/roundcube-and-plesk-10-integration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=roundcube-and-plesk-10-integration</link>
		<comments>http://www.lapizcorto.com/roundcube-and-plesk-10-integration/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 09:20:23 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Roundcube]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=313</guid>
		<description><![CDATA[Si prefiere leer esta entrada en castellano, pulse aquí. As mentioned previously, webmails included with Plesk 10 were not to our liking, so when we switched from Plesk 9.5 Windows to Plesk 10.3, we decided to replace them with Roundcube. The problem was that users have missed some functionality available with MailEnable, but we were [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>Si prefiere leer esta entrada en castellano, <a href="http://www.lapizcorto.com/integracion-de-roundcube-con-plesk-10">pulse aquí</a>.</em></p>
<p>As mentioned <a href="http://www.lapizcorto.com/instalacion-del-webmail-roundcube-en-plesk-10/">previously</a>, webmails included with Plesk 10 were not to our liking, so when we switched from Plesk 9.5 Windows to Plesk 10.3, we decided to replace them with <a href="http://roundcube.net/" target="_blank">Roundcube</a>. The problem was that users have missed some functionality available with MailEnable, but we were able to solve by developing plugins or drivers for existing plugins which we want to publish:</p>
<table>
<tbody>
<tr>
<td><strong>Function</strong></td>
<td><strong>Description</strong></td>
<td><strong>Download</strong></td>
</tr>
<tr>
<td>Password change</td>
<td>Driver for <a href="http://trac.roundcube.net/browser/trunk/plugins/password" target="_blank">Password</a> plugin, which lets users change mailbox password using the CLI utility <code>mail</code>, provided in Plesk 10.3.</td>
<td><a href="http://www.lapizcorto.com/wp-content/uploads/2011/11/password_plesk.tar.gz">Link</a></td>
</tr>
<tr>
<td>Vacation message</td>
<td>Driver for <a href="https://github.com/bhuisgen/rc-vacation/" target="_blank">Vacation</a> plugin, which lets users define an automatic reply to received emails, and optionally, forward emails to third parties, using the CLI utility <code>autoresponder</code>, provided in Plesk 10.3.</td>
<td><a href="https://github.com/did-vmonroig/rc-vacation/tree/master/lib/drivers" target="_blank">Link</a></td>
</tr>
<tr>
<td>Forward</td>
<td>New plugin, developed from <a href="https://github.com/bhuisgen/rc-vacation/" target="_blank">Vacation</a> code, which lets users specify multiple e-mail addresses to which incoming e-mail will be forwarded, using the CLI utility <code>mail</code>, provided in Plesk 10.3.</td>
<td><a href="http://www.lapizcorto.com/wp-content/uploads/2011/10/forward.tar.gz">Link</a></td>
</tr>
</tbody>
</table>
<p>All developments assume that Roundcube is running on the same server as Plesk, and require execute permissions over CLI utilites for user running Apache. The advantage of call natively Plesk through his CLI is that changes made in the panel are shown in the webmail, and vice versa, in addition to being included in the Plesk backup.</p>
<p><span style="text-decoration: underline;">Update 23/12/2011</span>: Changed link for Vacation message to GitHub repository, where latest version should be found, with contributions from other authors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/roundcube-and-plesk-10-integration/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Scripts y consultas SQL interesantes de Plesk 10</title>
		<link>http://www.lapizcorto.com/scripts-interesantes-de-plesk-10/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scripts-interesantes-de-plesk-10</link>
		<comments>http://www.lapizcorto.com/scripts-interesantes-de-plesk-10/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 07:07:01 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=263</guid>
		<description><![CDATA[¿Un cliente llama con problemas en uno de sus buzones de correo? No hay problema. En lugar de ir preguntando la contraseña, podemos averiguarla nosotros mismos, utilizando uno de los scripts que el CLI de Plesk 10 incorpora, así que accedemos por SSH a nuestro servidor y lo lanzamos. En esta entrada iremos actualizando con [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>¿Un cliente llama con problemas en uno de sus buzones de correo? No hay problema. En lugar de ir preguntando la contraseña, podemos averiguarla nosotros mismos, utilizando uno de los scripts que el CLI de Plesk 10 incorpora, así que accedemos por SSH a nuestro servidor y lo lanzamos. En esta entrada iremos actualizando con los scripts que veamos interesantes, conforme los vayamos descubriendo.</p>
<p><code>/usr/local/psa/admin/bin/mail_auth_view</code>: Muestra en la salida estándar una tabla con todos los buzones de correo, el estado de la cuenta y la contraseña.</p>
<p><code>mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "use psa; select sys_users.home, sys_users.login, accounts.password from accounts INNER JOIN sys_users ON accounts.id=sys_users.account_id;"</code>: Muestra una lista de los usuarios y contraseñas FTP, el directorio raíz (que nos da una pista del dominio o subdominio al que acceden), y su contraseña.</p>
<p><code>mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "USE psa; SELECT domains.name AS domain_name, data_bases.name AS database_name, db_users.login, accounts.password FROM data_bases, db_users, domains, accounts WHERE data_bases.dom_id = domains.id AND db_users.db_id = data_bases.id AND db_users.account_id = accounts.id ORDER BY domain_name;"</code>: Muestra una lista con el dominio, nombre de la base de datos, usuario y contraseña de todas las bases de datos registradas en Plesk.</p>
<p><code>for i in `mysql -uadmin -p\`cat /etc/psa/.psa.shadow\` psa -Ns -e "select concat(mail.mail_name,\"@\",domains.name) as address from mail,domains,accounts where mail.dom_id=domains.id and mail.account_id=accounts.id order by address"`; do /usr/local/psa/bin/spamassassin -u $i -status true -action move -modify-subj false; done</code>: Activar el sistema de detección de correo basura <a title="Spamassassin" href="http://spamassassin.apache.org/" target="_blank">Spamassassin</a> en todas las cuentas, configurado para mover los mensajes sospechosos a una carpeta específica y sin modificar el asunto.</p>
<p><code>mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "USE psa; SELECT cl.type, cl.login, acc.password FROM clients cl, accounts acc WHERE acc.id = cl.account_id;"</code>: Obtiene todos los nombres de usuario y contraseñas de clientes y revendedores.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/scripts-interesantes-de-plesk-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación del webmail Roundcube en Plesk 10</title>
		<link>http://www.lapizcorto.com/instalacion-del-webmail-roundcube-en-plesk-10/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalacion-del-webmail-roundcube-en-plesk-10</link>
		<comments>http://www.lapizcorto.com/instalacion-del-webmail-roundcube-en-plesk-10/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 09:47:29 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Roundcube]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=219</guid>
		<description><![CDATA[La versión 10 de Plesk incluye en su versión Linux dos posibles webmail. Una es Horde, que si bien está bastante avanzada, tiene un skin que le da un toque viejuno bastante desagradable para los usuarios. La otra es Atmail, que si bien mejor algo, cuando quieres ponerle temas personalizables tienes que apoquinar más de [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La versión 10 de Plesk incluye en su versión Linux dos posibles webmail. Una es <a href="http://www.horde.org/apps/webmail" target="_blank">Horde</a>, que si bien está bastante avanzada, tiene un skin que le da un toque viejuno bastante desagradable para los usuarios. La otra es <a href="http://www.atmail.com/webmail-client/" target="_blank">Atmail</a>, que si bien mejor algo, cuando quieres ponerle temas personalizables tienes que apoquinar más de $600, según la cantidad de dominios a gestionar. Así pues, buscando otras opciones, decidimos probar <a href="http://roundcube.net/" target="_blank">Roundcube</a>, que resultó ser el más agradable, fácil de configurar, ligero y con un interfaz AJAX bien majete.</p>
<p>El tema es que a partir de la versión 10.2 de Plesk, han incorporado un sistema para añadir webmails externos, pero o bien somos extremadamente torpes, o simplemente no funciona correctamente. Y como ya conocemos a los amigos de Parallels, casi que me inclino por lo segundo. Además, <a href="http://forum.parallels.com/showthread.php?t=110864" target="_blank">tengo pruebas</a>.</p>
<p>Sin embargo, es posible instalarlo, o bien como reemplazo de alguno de los webmails existentes, cosa que no termino de recomendar ya que en alguna actualización de Plesk volará todo, o bien desinstalando los dos existentes y dejando como única opción para los clientes el nuevo, cosa que tenemos instalada en producción.</p>
<p>Así pues, empezamos desinstalando los webmails existentes:</p>
<pre>apt-get remove psa-horde psa-atmail</pre>
<p>Después se descomprime el webmail, en <code>/var/www/roundcube</code>, por ejemplo.</p>
<pre>wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail-beta/0.5-RC/roundcubemail-0.5-rc.tar.gz
tar xvfz roundcubemail-0.5-rc.tar.gz
mkdir /var/www/roundcube
mv /roundcubemail-0.5-rc/* /var/www/roundcube</pre>
<p>Como alternativa a utilizar el instalador que incorpora el webmail, también se puede seguir <a href="http://www.roundcubeforum.net/3-news-announcements/12-general-discussion/1588-setup-roundcube-plesk-2.html#post20057" target="_blank">este post</a>, lo que otorga mayor control sobre lo que se está haciendo, aunque está algo desfasado, ya que en las últimas versiones se pueden utilizar variables de reemplazo para acceder al domino actual, o al del servidor IMAP. No olvidarse de hacer desaparecer el directorio <code>installer</code> al terminar, para evitar posibles problemas.</p>
<p>Por último, ya que hemos eliminado los webmails conocidos para Plesk, éste no interferirá con el subdomino webmail, así que creamos un VirtualHost común a todos nuestros dominios, creando un fichero <code>roundcube.conf</code> en el directorio <code>/etc/apache2/conf.d</code>, con el siguiente contenido:</p>
<pre>&lt;VirtualHost 192.168.0.250:80&gt;
    ServerName webmail
    ServerAlias webmail.*
    DocumentRoot /var/www/roundcube
    &lt;Directory "/var/www/roundcube"&gt;
        allow from all
        php_flag magic_quotes_gpc Off
        php_flag register_globals Off
        php_flag include_path /usr/share/awl/inc
    &lt;/Directory&gt;
&lt;/VirtualHost&gt;</pre>
<p>Por supuesto, hay que cambiar la IP por la que toque, así como las rutas, si no son las correctas. Tras un reinicio del Apache podremos acceder al webmail si teníamos los DNS configurados.</p>
<pre>service apache2 restart</pre>
<p>Por cierto, gracias a <a href="http://www.codarbyte.de/2011/01/roundcube-statt-atmailhorde-in-plesk-10/" target="_blank">Florian Moker</a> por su inestimable ayuda en esto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/instalacion-del-webmail-roundcube-en-plesk-10/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Activación de mod_proxy en Plesk</title>
		<link>http://www.lapizcorto.com/activacion-de-mod_proxy-en-plesk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=activacion-de-mod_proxy-en-plesk</link>
		<comments>http://www.lapizcorto.com/activacion-de-mod_proxy-en-plesk/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:03:18 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=196</guid>
		<description><![CDATA[Ahora que disponemos de un servidor Linux y las páginas son servidas por Apache, podemos disfrutar de algunos módulos que se podían echar de menos en un IIS con Windows, como son mod_rewrite y mod_proxy. Sin embargo, el primero viene activado con la instalación estándar de Plesk, pero el segundo no, de forma que al [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Ahora que disponemos de un servidor Linux y las páginas son servidas por Apache, podemos disfrutar de algunos módulos que se podían echar de menos en un IIS con Windows, como son <code>mod_rewrite</code> y <code>mod_proxy</code>. Sin embargo, el primero viene activado con la instalación estándar de Plesk, pero el segundo no, de forma que al escribir ciertas reglas en el fichero <code>.htaccess</code> obtendremos mensajes de error.</p>
<p>Así, el siguiente <code>.htaccess</code>:</p>
<pre>RewriteEngine on
Options +FollowSymlinks

RewriteCond %{HTTP_HOST} url\.original\.com
RewriteRule (.*)$ http://otroserver.com/undircualquiera/$1 [P,L]</pre>
<p>Que lo que busca es la redirección &#8220;neutra&#8221;, mediante un <em>proxy</em>, de una URL a otro sitio (por la directiva <code>[P]</code>), genera el siguiente error:</p>
<pre>[Mon Sep 19 13:33:04 2011] [alert] [client x.x.x.x] /var/www/vhosts/dominio.com/subdominio/.htaccess: Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration.</pre>
<p>Bien, esto lo que nos indica es que el módulo no está activado, ya que instalado sí está en Plesk, así que procedemos a su activación con <code>a2enmod proxy</code>. Tras esto, nos podemos encontrar con otro error:</p>
<pre>[Mon Sep 19 13:57:08 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.</pre>
<p>Esto es debido a que el módulo mod_proxy por si solo no funciona, así que instalaremos otros dos módulos, con <code>a2enmod proxy_balancer</code> y <code>a2enmod proxy_http</code>, y reiniciaremos apache con <code>service apache2 restart</code>.</p>
<p>Tras esto, ya deberíamos tener <code>mod_proxy</code> redirigiendo correctamente las peticiones, sin que cambie la URL que el cliente ve en su navegador.</p>
<p>Si en lugar de utilizar <code>.htaccess</code> preferimos definir las reglas en <code>vhosts.conf</code>, conviene recordar que la carpeta adecuada es <code>/var/www/vhosts/dominio.com/conf</code>, que luego Plesk ya generará el fichero <code>vhosts.conf</code> completo.</p>
<h4>Bonus: mod_rewrite en IIS</h4>
<p>Si por lo que sea —jugando a adivinar, por mantener ASP.NET en un servidor IIS 6— necesitamos mantener el Internet Information Server, pero queremos disfrutar de <code>mod_rewrite</code>, permitiendo así tener URLs amigables, disponemos de una estupenda solución: <a href="http://www.helicontech.com/ape/">Helicon Ape</a>.</p>
<p><a href="http://www.lapizcorto.com/wp-content/uploads/2011/09/ApeManager.png"><img class="aligncenter size-full wp-image-199" title="Helicon Ape in action!" src="http://www.lapizcorto.com/wp-content/uploads/2011/09/ApeManager.png" alt="" width="580" height="284" /></a></p>
<p>Es gratuito hasta tres dominios, y si se necesitan más, tiene un precio muy interesante. Como se puede ver, soporta no sólo <code>mod_rewrite</code>, sino casi cualquier módulo que se te ocurra de Apache.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/activacion-de-mod_proxy-en-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajustes de Rootkit Hunter en Ubuntu 10.04 Server con Plesk</title>
		<link>http://www.lapizcorto.com/ajustes-de-rootkit-hunter-en-ubuntu-10-04-server-con-plesk-10/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ajustes-de-rootkit-hunter-en-ubuntu-10-04-server-con-plesk-10</link>
		<comments>http://www.lapizcorto.com/ajustes-de-rootkit-hunter-en-ubuntu-10-04-server-con-plesk-10/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 10:12:27 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Servidores]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=192</guid>
		<description><![CDATA[Plesk incluye la utilidad Rootkit Hunter para la revisión de código malicioso en el servidor. El problema es que no han terminado de configurarla correctamente, de forma que siempre devolverá algunos warnings, que provocarán que se envíe un correo electrónico periódicamente con un críptico mensaje: Please inspect this machine, because it may be infected. Sin embargo, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.parallels.com/es/products/plesk/">Plesk</a> incluye la utilidad <a href="http://www.rootkit.nl/projects/rootkit_hunter.html">Rootkit Hunter</a> para la revisión de código malicioso en el servidor. El problema es que no han terminado de configurarla correctamente, de forma que siempre devolverá algunos <em>warnings</em>, que provocarán que se envíe un correo electrónico periódicamente con un críptico mensaje: <code>Please inspect this machine, because it may be infected.</code></p>
<p>Sin embargo, se puede modificar el fichero de configuración, situado en <code>/usr/local/psa/etc/modules/watchdog/rkhunter.conf</code>, añadiendo las siguientes líneas, para que esto no ocurra:</p>
<pre>XINETD_ALLOWED_SVC=/etc/xinetd.d/ftp_psa
XINETD_ALLOWED_SVC=/etc/xinetd.d/poppassd_psa
ALLOWHIDDENDIR=/dev/.udev
APP_WHITELIST="gpg OpenSSL PHP named"
ALLOW_SSH_ROOT_USER=no</pre>
<p>La última línea dependerá de cómo tengamos configurado SSH, permitiendo acceso como <em>root</em> o no.</p>
<p>La siguiente vez que se lance el proceso ya no debería haber errores o advertencias, por lo que no se recibirá el correo. Si se desea lanzar manualmente el proceso de revisión, se puede realizar bien a través de Plesk, o desde consola, con el comando <code>/usr/local/psa/admin/bin/modules/watchdog/rkhunter --check</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/ajustes-de-rootkit-hunter-en-ubuntu-10-04-server-con-plesk-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajuste en lote del TTL de los registros DNS con Plesk</title>
		<link>http://www.lapizcorto.com/ajuste-en-lote-del-ttl-de-los-registros-dns-con-plesk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ajuste-en-lote-del-ttl-de-los-registros-dns-con-plesk</link>
		<comments>http://www.lapizcorto.com/ajuste-en-lote-del-ttl-de-los-registros-dns-con-plesk/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 20:15:46 +0000</pubDate>
		<dc:creator><![CDATA[Vicente]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=183</guid>
		<description><![CDATA[Antes de realizar una migración de servidor que incluya cambio de IP es muy conveniente modificar el TTL de los registros DNS, que por lo general suele estar establecido en 24 horas, de forma que cuando procedamos a realizar el cambio en estos registros, haciendo que las peticiones cambien de un servidor a otro, minimicemos [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Antes de realizar una migración de servidor que incluya cambio de IP es muy conveniente modificar el TTL de los registros DNS, que por lo general suele estar establecido en 24 horas, de forma que cuando procedamos a realizar el cambio en estos registros, haciendo que las peticiones cambien de un servidor a otro, minimicemos el tiempo durante el que éstas llegaran a uno u otro servidor de forma indeterminada, por ejemplo a 5 minutos.</p>
<p>En servidores Plesk, este cambio se puede realizar cómodamente modificando la base de datos. Este es el SQL a utilizar a partir de la versión 8.3, y probado sobre una 9.5.1:</p>
<p><code>UPDATE 'dns_zone' SET 'ttl' = '300', 'ttl_unit' = '60' WHERE 'id' &gt; 1;</code></p>
<p>Una vez modificada la base de datos, ejecutamos este comando para que Plesk regenere los archivos de zona:</p>
<p><code>"%plesk_bin%\dnsmng.exe" update *</code></p>
<p>Hay que tener en cuenta que los cambios no serán inmediatos, debido al propio funcionamiento del sistema DNS, que provoca que la propagación no se pueda garantizar hasta que vaya caducando en la caché de los distintos servidores el registro anterior, así que hay que anticiparse y realizar este cambio al menos 24 horas antes de realizar la modificación de la IP.</p>
<h4>Bonus 1: Modificación de la base de datos MDB de Plesk</h4>
<p>Si estuvimos poco hábiles el día de la instalación de Plesk y decidimos que utilizase Access en lugar de MySQL, tendremos alguna dificultad para realizar cambios sin instalar el Microsoft Access, del que tendríamos que adquirir una licencia para poder realizar esta modificación, además de que dejarlo instalado en un servidor de producción no mola.</p>
<p>Pero tenemos una buena alternativa: <a href="http://www.alexnolan.net/software/mdb_viewer_plus.htm">MDB Viewer Plus</a>, que permite examinar y desde hace bien poco también la ejecución de SQL sobre tablas Access, utilizando MDAC, que viene instalado con Windows.</p>
<p><a href="http://www.lapizcorto.com/wp-content/uploads/2011/09/ExecQuery.png"><img class="aligncenter size-full wp-image-184" title="SQL go! go! go!" src="http://www.lapizcorto.com/wp-content/uploads/2011/09/ExecQuery.png" alt="" width="580" height="289" /></a></p>
<h4>Bonus 2: Comprobación de los registros DNS</h4>
<p>Para comprobar que efectivamente el TTL de nuestros registros DNS es el correcto, podemos utilizar el comando <code>dig</code> en Linux contra cualquier servidor DNS, que nos mostrará lo que tenga almacenado:</p>
<pre>jefazo@servidor:~$ dig midominio.tld @8.8.8.8

; &lt;&lt;&gt;&gt; DiG 9.7.3 &lt;&lt;&gt;&gt; midominio.tld @8.8.8.8
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 10873
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;midominio.tld.                        IN      A

;; ANSWER SECTION:
midominio.tld.         300     IN      A       1.2.3.4

;; Query time: 108 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Sep 10 22:12:07 2011
;; MSG SIZE  rcvd: 48</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/ajuste-en-lote-del-ttl-de-los-registros-dns-con-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Directorio protegido con plesk</title>
		<link>http://www.lapizcorto.com/directorio-protegido-con-plesk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=directorio-protegido-con-plesk</link>
		<comments>http://www.lapizcorto.com/directorio-protegido-con-plesk/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 13:55:31 +0000</pubDate>
		<dc:creator><![CDATA[Jorge]]></dc:creator>
				<category><![CDATA[Plesk]]></category>
		<category><![CDATA[directorio protegido]]></category>

		<guid isPermaLink="false">http://www.lapizcorto.com/?p=71</guid>
		<description><![CDATA[Al proteger una carpeta con contraseña desde plesk, en windows, pasa que los ficheros contenidos están disponibles para descargar con contraseña pero el directorio no se puede listar. Si es necesario listar el contenido entonces: 1.- Desde la opción de &#8220;Directorios protegidos con contraseña&#8221; añades el directorio que quieres proteger y le creas el usuario [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Al proteger una carpeta con contraseña desde plesk, en windows, pasa que los ficheros contenidos están disponibles para descargar con contraseña pero el directorio no se puede listar. Si es necesario listar el contenido entonces:</p>
<p>1.- Desde la opción de &#8220;Directorios protegidos con contraseña&#8221; añades el directorio que quieres proteger y le creas el usuario que quieras<br />
2.- En este momento tienes el directorio protegido y si escribes la ruta completa a un fichero (p.e http://www.dominio.com/pruebas/documento.pdf) te pedirá usuario y contraseña para descargarlo o mostrarlo pero si pones una ruta sin fichero (p.e http://www.dominio.com/pruebas)  no listará el contenido de la carpeta. Osea protege los ficheros con contraseña y no deja listarlos.<br />
3.- Para que te deje listarlos tienes que crear un directorio virtual. Para eso te vas a directorios virtuales y creas uno nuevo con las opciones:<br />
3.1 Ponle un nombre (p.e. pruebaspetardas o el mismo de antes)<br />
3.2 Ruta: Deselecciona la opción &#8220;Crear directorio físico con el mismo&#8230;&#8230;.&#8221; y te aparecerá una casilla nueva para poner la carpeta donde tienes los ficheros<br />
3.3 Navegacion directorio: Finalmente selecciona la opcion &#8220;Navegación directorio&#8221;</p>
<p>Y ahora si, ya se lista el directorio. Para eso escribiriamos si pones www.dominio.com/pruebaspetardas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lapizcorto.com/directorio-protegido-con-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
