Archive for the ‘debian’ category

Usando Horde con safe_mode para enviar por smtp y no usar sendmail

March 15th, 2012

Seguramente esté muy documentado ya por ahí pero es muy recomendable dejar de usar horde bajo sendmail con el fin de securizar la máquina. Con el cambio que comentamos a continuación, evitamos tener que ejecutar comandos en la máquina local, ya que el correo lo enviamos vía smtp al servidor local o a cualquier otro servidor que configuremos.

Resumen rápido:

Deshabilitamos la mayor parte de funciones potencialmente peligrosas para el sistema.
Esto implica que fallen algunas aplicaciones, como Horde

# /etc/php5/apache2/php.ini)
disable_functions = system,passthru,readfile,escapeshellarg,proc_close,proc_open,ini_alter,dl,show_source,curl_exec

La alternativa elegante sería activar safe_mode y dejar de usar sendmail, como vemos en el fragmento de la configuración de Horde:

# fragmento de la configuracion de horde
# /etc/psa-webmail/horde/horde/conf.p
if (ini_get("safe_mode") == "1") { // Safe mode in action
$conf['mailer']['params']['host'] = '127.0.0.1';
$conf['mailer']['params']['port'] = 25;
$conf['mailer']['params']['auth'] = false;
$conf['mailer']['type'] = 'smtp';
} else {
$conf['mailer']['params']['sendmail_path'] = '/usr/sbin/sendmail';
$conf['mailer']['params']['sendmail_args'] = '-oi';
$conf['mailer']['type'] = 'sendmail';
}

En Plesk10 se han definido plantillas para los servicios de forma que aunque cambiasemos los ficheros de configuarción de apache estos cambios se terminarían machacando y volveríamos al estado por defecto.

Para ello, Plesk ha provisto un repositorio de plantillas para configurar los servicios en /usr/local/psa/admin/conf/templates/

Para reconfigurar la plantilla tenemos aqui un copy&paste muy cómodo, como siempre nos gusta:

# reemplazar safe_mode en la plantilla
sed -i 's/safe_mode off/safe_mode on/g' /usr/local/psa/admin/conf/templates/default/horde.php
# reconfigurar las plantillas
/usr/local/psa/admin/bin/httpdmng --reconfigure-server
# recargar el servicio
apache2ctl graceful

Para probarlo es necesario cerrar la sesión de Horde y volver a autenticarse.

Github hacked

February 15th, 2012

Pues sí, la seguridad de Github ha sido comprometida hace unos días aquí teneis un enlace de Slashdot.

En este otro sitio teneis una entrada en el blog del propio github

Si teneis cuenta en github se recomienda encarecidamente que cambieis vuestras credenciales

[debian] xulrunner

October 8th, 2011

Otro error actualizando Debian esta mañana.

Al actualizar el sistema y abrir Iceweasel…. cataplas !!!!!

Error de lectura XML: entidad no definida
Ubicación: jar:file:///usr/lib/xulrunner-7.0/omni.jar!/chrome/toolkit/content/global/netError.xhtml
Número de línea 338, columna 43:        <h1 id="et_corruptedContentError">&corruptedContentError.title;</h1>
------------------------------------------^

Así que lo de siempre, googlear y encuentro un bug reportado en http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=643862

Hacen referencia a que es causa de un paquete e idiomas que no está actualizado, así que para evitar estar dando vueltas, directamente los desinstalo y otro día… ya veremos :D

  iceweasel-l10n-es-ar* iceweasel-l10n-es-es*

y a funcionar….

Fallos de seguridad

September 6th, 2011

Comprueba si tus sistemas están al día. Importantes fallos de seguridad en Apache y Rails han sido descubiertos y publicados, así como sus correspondientes parches.

En Apache se ha descubierto una vulnerabilidad que permite realizar un ataque de denegacion de servicio y en rails es posible realizar XSS y SQL Injection.

A continuación más detalles :

Apache: http://www.debian.org/security/2011/dsa-2298

CVE-2010-1452, CVE-2011-3192.

Rails: http://www.debian.org/security/2011/dsa-2301

CVE-2011-2930, CVE-2011-2931, CVE-2011-3186, CVE-2009-4214.

[softaculous] “ERROR LOADING DATA”

August 19th, 2010

Softacolous es un software para autoinstalar software en los paneles de alojamiento. Como el application vault de plesk, instalar paquetes como wordpress, joomla, etc… con un sólo click es un alivio para los administradores y para los clientes y esta compañía es en lo que se enfoca, en facilitar la vida de los de usuarios. La version gratuita tiene 60 scripts y la de pago 146 paquetes de software. Es interesante al menos valorar si puede cuadrarnos en nuestra oferta a clientes.

En una prueba e instalación con Plesk 9.3 y Debian, hemos tenido un problema en la instalación con este error ” ERROR LOADING DATA “. La experencia con el soporte técnico ha sido bastante buena, en 24-48 horas han estado contestandonos enviandonos un fichero php para realizar comprobaciones. Después de unos dias hemos dado con el problema.

Al parecer ( por que su script viene cifrado con ioncube y sólo hablamos de suposiciones ) su script ejecuta comandos usando system() o exec() e invocando a php en consola. El problema viene ocasionado por permisos de propietario y safe_mode:

Warning: file_get_contents(): SAFE MODE Restriction in effect. The
script whose uid is 0 is not allowed to access
/var/softtmp/0ae5f781a1f5e65fc712cc66b4b9f8de owned by uid 1001 in
/opt/psa/admin/htdocs/modules/softaculous/load.php on line 11 Warning:
file_get_contents(/var/softtmp/0ae5f781a1f5e65fc712cc66b4b9f8de):
failed to open stream: Inappropriate ioctl for device in
/opt/psa/admin/htdocs/modules/softaculous/load.php on line 11
<pre>

Así que la solución ha sido desactivar safe_mode en /etc/php5/cli/php.ini de esta forma ha funcionado.

[debian] 17 años de Gnu

August 17th, 2010

Ayer 16 de Agosto de 2010, la distribución GNU/Linux Debian, ha cumplido 17 años.
Podeis felicitarla en http://thank.debian.net/

Debian Etch 4.0 : descatalogada y obsoleta

July 8th, 2010

Desde esta semana Debian Etch es historia y queda en archives.debian.org para la posteridad. Aunque el soporte acababa en Febrero de 2010 se anunció la novena actualización el 22 de Mayo de 2010.

Se recomienda pasar a ‘stable’ aunque siempre es posible modificar las fuentes apt indicando en el repositorio :


deb http://archive.debian.org/debian etch main contrib non-free
deb http://archive.debian.org/debian-security etch/updates main contrib non-free

[magento] PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0

July 8th, 2010

Estos últimas días hemos tenido que optimizar la carga de servidores con Magento. Una de las tareas es usar un sistema de caché que acelere los scripts php. Usamos apc por compatibilidad con Magento y por que ya viene paquetizado en los repositorios de Debian.

El problema, aparece en el pié de página: “PHP Fatal error:  Exception thrown without a stack frame in Unknown on line 0″.
Este error aparece cuando se ha lanzado una excepcion en un lugar donde se no se puede lanzar una excepción por no tener ‘stack frame‘.

Los manejadores de excepciones ‘ exception handlers‘ y los destructores no tienen ‘stack frame‘.
Por lo que combinar por ejemplo un ‘execption handler‘ con un ‘error preporting‘  o lanzar un execption en un destructor puede provocar que aparezcan. Os podeis documentar más en este interesante enlace Solving “Fatal error: Exception thrown without a stack frame in Unknown on line 0″

En nuestro caso, tan solo hizo falta acutalizar la version del apc con un simple apt


apt-get install php-apc

En la máquina estaba previamente instalado el apc vía pecl

Plesk 9.5 : lista para instalar – CORREGIDO

March 30th, 2010

Aunque hace varias semanas hacíamos referencia a que estaba disponible Plessk 9.5, al día siguiente fue retirada de los repositorios. Según comentarios del equipo de Parallels era una beta para algunos clientes, aunque lo habitual es que lo liberen para que un pequeño grupo de usuarios actualice creyendo que es estable y probarles como cobayas :D

Desde antes de ayer ( más o menos) vuelve a estar disponible, aunque no ha sido oficialmente publicado. Seguramente sea la release final ya que en el KA ( panel de gestión de las licencias ) de Parallels aparecen disponibles ya las licencias de 9.5. Este hecho hace pensar que Plesk 9.5 marcará un cambio en la linea de Parallels ( marketing, funcional… habrá que verlo )

Desde la versión Plesk 8.6, que a mi gusto ha sido la mas estable y con mejor rendimiento desde las 6.x, la gente de Parallels no ha estado muy acertada con los cambios y han estado plagadas de bugs , sobretodo relacionados con postfix, qmail, spamasassin, drweb y domain keys y la basura del nuevo sistema de backup ( or decir algo elegante ) . Por todo ello no recomendaría instalar esta nueva versión en producción al menos hasta que salga Plesk 9.5.1 o 9.5.2 que seguro no tardarán mas de un mes desde que la liberen oficialmente.

No obstante para los intrépidos y los testers que quieran estar a la última , aqui teneis los repositorios para probarlas:

  • Centos


  • cat > /etc/yum.repos.d/CentOS-Plesk9.repo << EOF

    [plesk9-base]
    name=CentOS-Plesk9 – Base
    baseurl=http://autoinstall.plesk.com/PSA_9.5.0/dist-rpm-CentOS-\$releasever-\$basearch/
    gpgcheck=0
    enabled=1

    [plesk9-thirdparty]
    name=CentOS-Plesk9 – thirparty
    baseurl=http://autoinstall.plesk.com/PSA_9.5.0/thirdparty-rpm-CentOS-\$releasever-\$basearch/
    gpgcheck=0
    enabled=1

    [plesk9-updates]
    name=CentOS-Plesk9 – Updates
    baseurl=http://autoinstall.plesk.com/PSA_9.5.0/update-rpm-CentOS-\$releasever-\$basearch/
    gpgcheck=0
    enabled=1
    EOF

  • Debian

  • Etch

    cat > /etc/apt/sources.list.d/Plesk950.list << EOF
    deb http://autoinstall.plesk.com/debian/PSA_9.5.0 etch all
    EOF

  • Lenny:
    cat > /etc/apt/sources.list.d/Plesk950.list << EOF
    deb http://autoinstall.plesk.com/debian/PSA_9.5.0 lenny all
    EOF

FEDERATED: cómo activar storage engine en GNU/Linux

February 5th, 2010

En algún momento se puede requerir activar el motor FEDERATED para mysql en nuestro servidor.

Una tabla de la base de datos ‘FEDERATED‘ no se almacena localmente. Viene a ser algo asi como crear la esctructura de los datos en local pero el almacenamiento de los datos se realiza en otro servidor remoto y se usa el api del cliente de mysql para las operaciones de lectura escritura. actualización e inserción.

En ejemplo de tabla FEDERATED:

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

Para activar esta opción en nuestro servicio de mysql es necesario ver si tenemos compilado el soporte. Para ello ejecutaremos

SHOW ENGINES;

Un ejemplo en una distro Debian :

mysql> show engines ;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

En la documentación del comando show engines vemos que hay cuatro valores posibles:

  •  Yes : El soporte para ese motor es posible y está activo
  • Default : Como yes, pero el motor es que hay por defecto
  • No : El motor no está soportado
  • Disabled : El motor está soportado pero no activo.

En caso de las máquinas con Centos 5.x está como “NO” así que es necesario recompilar para activar el soporte. Para ello realizamos los siguientes pasos:

Descargamos las fuentes de mysql :

wget http://mirror.centos.org/centos/5/updates/SRPMS/mysql-5.0.77-4.el5_4.1.src.rpm
rpm -ivh mysql-5.0.77-4.el5_4.1.src.rpm

Si en nuestro sistema tenemos rpmbuild4.x:
Editar el fichero /usr/src/redhat/SPECS/mysql.spec y agregar a la seccion %configure –with-federated-storage-engine

Con rpmbuild 5 :

rpmbuild -bb --with federated-storage-engine /usr/src/redhat/SPECS/mysql.spec

Una vez generado los paquetes los ACTULIZAMOS en vez de instalar para evitar problemas.

rpm -Uvh /usr/src/redhat/RPMS/x86_64/mysql-5.0.77-4.1.x86_64.rpm /usr/src/redhat/RPMS/x86_64/mysql-server-5.0.77-4.1.x86_64.rpm

Para ello necesitaremos añadir federated en nuestro fichero my.conf