Seguridad en Apache

Introducción

La seguridad en Apache hoy en día es algo muy importante ya que es uno de los servidores web más conocidos y usados habitualmente.

Hemos querido realizar un conjunto de medidas que nos pueda ayudar a todos ser un poco menos vulnerable en el mundo de Internet.

Aparte de ello quería reunir las distintas prácticas que hace la gente y tenerlo centralizado para aquellos que quieran aprender.

Leer más

Flush Cache en Exim

Hola,

Nos encontramos con el siguiente mensaje a la hora de enviar correos:

"email@domain.tld all hosts for 'gibraltar.gov.gi' have been failing for a long time (and retry time not reached)"

Lo hemos detectado sobre un panel de control CPANEL + Sistema Operativo Centos 7.

La solución que hemos encontrado:

service exim stop
rm /var/spool/exim/db/* -fv
service exim start

Con esto la cache la libera y la irá generando según su necesidad.

Un saludo

Instalar LogWatch – Análisis de log para administradores

Introducción

Hace tiempo usaba unos logs que me llegaban a diario a mi correo sobre el estado de los servicios o revisión de los logs. Estos logs me servían de información para ver lo ocurrido en el durante el día o lo que había pasado. Entre los detalles que aparece:

  • Revisión de los paquetes instalados/desinstalados.
  • Revisión de posibles problemas en los logs.
  • Accesos no autorizados (IP).
  • Información de dichos accesos no autorizados.

Pues bien como todo buen administrador nosotros podemos tener herramientas que nos hagan nuestro trabajo más fácil y solventar posibles problemas e incidencias que vayan aconteciendo.

Sistemas Operativos probados : Ubuntu 16.04

En este manual vamos a explicar como instalar LogWatch y su configuración básica.

Leer más

Expandiendo las variables de entorno

Hola a todos!

Hoy nos hemos encontrado con un problema expandiendo las variables de entorno en uno de nuestros clientes y es que está intentando ejecutar el comando php desde fuera.

Aparentemente no es ningún problema, pero cuando tiene un PLESK o un sistema multi PHP te coge la versión del sistema por defecto.

Lo que hicimos para solventarlo fue la de meter un alias a php usando la versión que nos había facilitado el cliente.

A pesar de realizar esto efectivamente desde fuera no estaba funcionando, ya que seguía cogiendo la propia del sistema y no la que habíamos establecido en el .bashrc.

Pues la solución para que obtenga nuestras variables en «.bashrc» es poner la siguiente línea:

shopt -s expand_aliases

Con esto lo que hace es expandir las variables que hemos establecido a una shell no interactiva y saldría la versión de php que hemos configurado.

Un saludo

Apache validar por certificado

Introducción

Hace pocos días hubo un cliente que nos ha solicitado que parte de su web se pudiera acceder solicitando un certificado válido.

Para ello tenemos que configurar nuestro virtualhost para que pueda solicitar el certificado y si está permitido en el intermedio entonces le dejará pasar a la nueva sección.

Teniendo estas premisas vamos a trabajar en la configuración.

Apache validar por certificado

Antes de empezar a hablar podemos obtener la configuración a través de la documentación que nos ofrece Apache:

http://httpd.apache.org/docs/current/ssl/ssl_howto.html

Esta es la configuración que debemos realizar sobre nuestro virtualhost:

SSLVerifyClient none
SSLCACertificateFile /ruta-certificados-intermedios/certificados_buenos_fmnt.pem
SSLSessionCacheTimeout 600
SSLOptions +StdEnvVars

<Location /zona/web/1/>
SSLVerifyClient require
SSLVerifyDepth 5
</Location>

<Location /zona/web/2/>
SSLVerifyClient require
SSLVerifyDepth 5
</Location>

<Location /zona/web/3/>
SSLVerifyClient require
SSLVerifyDepth 5
</Location>

Vamos a explicar un poco la configuración:

SSLVerifyClient none: Tenemos que añadir esta directiva ya que no queremos que realice la validación antes.

SSLCACertificateFile ruta: Ruta donde se encuentran los intermedios, esto es lo que nos permitirá que los usuarios se puedan validad.

<Location /zona/web/1/>: Primera zona web donde solicitaremos el requisito de la validación del certificado.

Para ver otros parámetros existentes ver el enlace añadido y además este:

https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#ssloptions

Un saludo

Instalar certificados intermedios en shell de Linux

Introducción

Existen ocasiones en que desde nuestro entorno linux debemos acceder a webs con unos certificados intermedios específicos (estos no están por defecto en nuestro directorio de CA). Por lo tanto debemos aprender a gestionar dichas instalaciones a través de nuestro entorno SHELL (si no disponemos de entorno gráfico).

Para ello vamos a realizar un procedimiento para instalarlo en un sistema operativo RedHat/CentOS y que nos funcione correctamente.

Instalar certificados intermedios en shell de Linux

Lo primero que utilizamos es instalar los intermedio y además hacemos una recarga para que el servidor lo detecte.

yum install ca-certificates
update-ca-trust force-enable

Una vez realizado esto lo que haremos será descargar el certificado en el directorio correspondiente. Por ejemplo con el intermedio del certificado de moneda y timbre:

cd /etc/pki/ca-trust/source/anchors/
wget https://www.sede.fnmt.gob.es/documents/10445900/10526749/FNMTClase2CA.cer

Ejecutamos la actualización de las CA

update-ca-trust extract

Con esto tendremos nuestros certificados intermedios instalados y podemos realizar un curl a la web sin tener problemas de certificado.

Desactivar la confirmación de envío en postfix

Introducción

Al parecer en algunos paneles o inclusive configuraciones con postfix está activada la configuración de envío. Esto lo que quiere decir es que por cada envío que se realiza de manera correcta recibiremos un correo diciendo que se ha hecho bien.

Esto puede llegar a ser bastante molesto aunque hay personas que lo necesitan para saber si su correo ha llegado sin problemas.

Para el resto de los mortales esto puede llegar a ser un incordio.

Desactivar la confirmación de envío en postfix

Accedemos a nuestra configuración de Postfix «/etc/postfix/main.cf»

Añadimos o modificamos la línea por esto:

smtpd_discard_ehlo_keywords = silent-discard, dsn

Reiniciamos postfix

service postfix restart

Suexec – Cambiar el directorio por defecto en CentOS

Introducción

El problema que nos encontramos es que hay proveedores que cambian el directorio por defecto donde se encuentra el Suexec. Por ejemplo al parecer en las CentOS suele ser /home y en el caso de que cambiemos el directorio de nuestras webs esto no funcionaría.

En versiones de Debian lo tenemos un poco más fácil ya que han establecido algo llamado «suexec-custom» el cual nos permite cambiar el directorio suexec de una manera más fácil.

Para CentOS, por desgracia, no se puede hacer de la misma manera y las soluciones que tenemos son:

  1. Mover y configurar todo el contenido en /home
  2. Cambiar el directorio por defecto donde está configurado el suexec.

En nuestro caso elegiremos la opción 2 la cual nos llevará a compilar.

Leer más

Reiniciar contraseña de ROOT en CentOS 7

Resumen de Reiniciar contraseña de ROOT en CentOS 7

He de reconocer que se me suele olvidar un poco realizar esto ya que no es algo habitual que se suela hacer, pero hay que tenerlo siempre en mente.

Reiniciar contraseña de root en Centos 7 cuando se ha perdido o has sido victima de una intrusión viene bien tenerlo cerca para hacer las gestiones de manera eficiente.

Editando el grub

En la parte casi del final del grub debemos detectar donde se encuentra la opción de «ro».

Reiniciar contraseña de ROOT CentOS 7-1
Reiniciar contraseña de ROOT CentOS 7-1

Después debemos modificar dicho valor por el siguiente: «rw init=/sysroot/bin/sh» y pulsar control + x para iniciar el arranque del sistema.

Reiniciar contraseña de ROOT CentOS 7-2
Reiniciar contraseña de ROOT CentOS 7-2

En el sistema operativo

Ejecutamos el comando:

chroot /sysroot

Nos dará acceso al root al completo y podemos cambiar la contraseña de root:

passwd root

Con esto establecemos la contraseña y podemos reiniciar nuestro equipo.

Un saludo

Fuente del artículo

Ejecutar SFTP y FTP con Proftpd

Hola a todos!

En este documento vamos a trabajar sobre como ejecutar SFTP y FTP con Proftpd sin tener ninguna complicación para ello. Al parecer en la última versión de Debian 8 (no he probado en los demás) viene por defecto con la instalación de Proftpd que te fuerce directamente a realizar el SFTP. La cuestión es que, si no recuerdo mal, no te lo hace por el puerto por defecto. De hecho el puerto 21 lo deja deshabilitado.

Existen clientes que le gustan tener opciones de poder elegir:

  1. Que solo escuche por el puerto 21 y solo SFTP.
  2. Que estén los dos servicios corriendo FTP por el 21 y SFTP por el 22.
  3. Ejecutar el SFTP en otro puerto.

Intentaré explicar los 3 casos o por lo menos morir en el intento.

Leer más