Instalacion de PlaySMS

El presente instructivo tiene como finalidad describir los pasos necesarios para la instalación del aplicativo PlaySMS sobre el Gateway o pasarela Kannel.

PlaySMS es un sistema portable, móvil, flexible, basado en la web que se puede configurar para adaptarse a diversos servicios, como una puerta de enlace SMS, proveedor de SMS, sistema de mensajería personal, herramientas de comunicación corporativas y grupales, entre otros. PlaySMS es un software de gestión de SMS gratuito y de código abierto.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe tener instalado y configurado un gateway o pasarela para mensajería, tal como kannel
  • Acceso a la internet para la descarga de paquetes

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • Apache2 -> 2.4.25-3
  • MariaDB -> 10.1
  • PHP -> v7.0
  • PlaySMS -> 1.5-dev

Instalación

1. Instalación de Dependencias:

operador@servidor:# aptitude install -y apache2 apache2-utils libapache2-mod-php7.0 php7.0 php7.0-curl php7.0-mysql php7.0-cli php7.0-gd php7.0-zip php7.0-xml php7.0-mbstring mariadb-server mariadb-client mariadb-common wget

Continuar leyendo “Instalacion de PlaySMS”

Anuncios

Prueba de Rendimiento “Stress” en PostgreSQL con Pgbench

El presente instructivo tiene como finalidad explicar los pasos necesrios para la instalación de Pgbench y explicar su funcionamiento a través de unos ejemplos

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe tener instalado postgreSQL-Server

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

Aplicaciones:

  • Pgbench versión (PostgreSQL) 9.6.5

Instalación:

root@server:/# aptitude install postgresql-contrib-9.6

Continuar leyendo “Prueba de Rendimiento “Stress” en PostgreSQL con Pgbench”

Crear Tarea CRON para Ejecutar Código PHP

El presente instructivo tiene como finalidad exponer un ejemplo de ejecución de un código PHP cada minuto, en una tarea de Crontab de linux.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • Comando Crontab

Ejemplo:

1. Editar la tarea Crontab:

root@server:/# crontab -e

Incluir lo siguiente:

*/1 * * * * /usr/bin/php -q /ruta/archivo/prueba.php >> /var/log/log-codigophp.log

2. Listar la tarea:

root@server:/# crontab -l

3. Reiniciar el servicio:

root@server:/# /etc/init.d/cron restart

4. Ejecutar una prueba:

root@server:/# env -i /usr/bin/php -q /ruta/archivo/prueba.php 

Autenticación Apache2 (WebService) por Certificado SSL

El presente instructivo tiene como finalidad demostrar un ejemplo práctico de configuración de servidor Webservice con autenticación mediante Certificados SSL.

Esto autenticación permitirá consultar una página web, sólo aquellos clientes que tengan un certificado Válido y activo.

Puntos a Tratar en el Instructivo:

  • Punto#1. Crear una autoridad certificadora (CA)
  • Punto#2. Generar las llaves autofirmas de la (CA)
  • Punto#3. Generar llaves del servidor WEB
  • Punto#4. Generar solicitud de firma (CA) de certificado SSL del servidor WEB
  • Punto#5. Firmar (CA) certificado SSL para servidor web
  • Punto#6. Adecuar servidor WEB para uso conexión segura (HTTPS)
  • Punto#7. Generar llaves Clientes
  • Punto#8. Generar solicitud de firma (CA) de certificados para la conexión de los clientes
  • Punto#9. Firmar (CA) certificados para la conexión de los clientes
  • Punto#10. Adecuar servidor WEB para recibir sólo conexiones que posean certificados(SSL) válidos
  • Punto#11. Revocar certificados de los clientes
  • Punto#12. Adecuar servidor WEB para verificar los certificados revocados

Si sólo desea generar un certificado SSL para servidor WEB, puede leer el instrutivo en el siguiente enlace: Generar Llaves OpenSSL 2048 bits. Certificado para SSL Web

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe tener instalado el aplicativo openSSL y servidor WEB apache en su versión 2.4

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Para el ejemplo se cuenta con:

– Un servidor para la configuracion de la Autoridad Certificadora (CA)

  • IP: 192.168.1.1
  • hostname: serverCA

– Un servidor para la configuracion del servidor WEB

  • IP: 192.168.1.2
  • hostname: serverWEB

– Un servidor para la configuracion del cliente(CA)

  • IP: 192.168.1.3
  • hostname: cliente

Nota: Las funcionalidades Autoridad Certificadora (CA) y Servidor WEB, pueden ser instaladas y configuradas en un mismo servidor, pero por medidas de seguridad se sugiere dividirlas.
Continuar leyendo “Autenticación Apache2 (WebService) por Certificado SSL”

Crear Nueva Instancia/Cluster BD Postgresql

EL presente instructivo tiene como finalidad, presentar los comandos básicos necesarios para crear una nueva instancia de BD en postgresql instalado sobre debian.

En el siguiente ejemplo se creará una instancia (cluster) de postgresql versión 9.3 (aunque ha sido probado con 9.4 y 9.6) con el nombre de webapi y que se ejecutará en el puerto 5433. Actualmente se encuentra corriendo una instancia de BD, la misma es instalada por defecto por Debian en el momento de la instalación de postgresql, los datos de la instancia (cluster) son: versión 9.3 con el nombre de main, en el puerto 5432.

Comandos:
1. Listar las instancias o cluster creados (por defecto debian crea el cluster 9.3 main):

root@database:/home/operador# pg_lsclusters
Ver Cluster    Port Status Owner    Data directory                     Log file
9.3 main       5432 online postgres /var/lib/postgresql/9.3/main       /var/log/postgresql/postgresql-9.3-main.log

Continuar leyendo “Crear Nueva Instancia/Cluster BD Postgresql”

Primeros Pasos con Ansible

El presente instructivo tiene como finalidad suministrar los pasos necesarios para la instalación y configuración básica de la aplicación Ansible en equipo con la distribución GNU/Linux Debian.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con (02) equipos con ssh instalado

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.1 (actualmente estable)

Aplicaciones:

  • Ansible -> 2.2.1.0-2
  • openssh-server -> 1:7.4p1-10+deb9u1
  • openssh-client -> 1:7.4p1-10+deb9u1

Para la configuración de la solución se utilizarán dos (02) maquinas con debian 9.1:

– Un (01) Equipo para instalación y configuración de la maquina de administración:

  • Hostname: admin
  • IP Interna: 192.168.1.2

– Un (01) equipos para la instalación y configuración de nodo

  • Hostname: nodo1
  • IP Interna: 192.168.1.3

– Usuario a utilizar: operador
Continuar leyendo “Primeros Pasos con Ansible”

Tips Seguridad Servidor Apache2 – Hardening Secure Apache Web Server

El presente instructivo tiene como finalidad mostrar algunas recomendaciones de configuraciones que pueden ser aplicadas en servidor web apache2 para su protección.

El presente instructivo ha sido actualizado y es aplicado perfectamente a servidor Web Apache versión 2.4

Aplicaciones o configuraciones complementarias:

Recomendaciones a nivel de sistema operativo:

1. Es algo complicado establecer un estandar para el particionado de un servidor, siempre abrá variables que no dependerán de los administradores. A continuación un ejemplo de lo que podría ser un particionado típico para un servidor WEB:

Particionado base:

- /boot -> 500MB -> EXT4
- /swap -> 5GB 

Particionado LVM:

- /raiz -> 10 GB  -> EXT4
- /home -> 5GB -> EXT4
- /usr -> 5GB -> EXT4
- /usr/local -> 5GB -> EXT4 
- /opt/www -> 5GB -> EXT4
- /var/log -> 10GB -> EXT4
- /tmp  -> 5GB -> EXT4

2. Cambiar la ruta del directorio por defecto (/var/www/html) destinado por Apache(2.4) para alojar los website:

2.1 Crear una nuev a ruta:

admin@servidor:/$ sudo mkdir -p /opt/www/html

2.2 Efectuar cambios en Apache2:

Archivo configuración de Apache2 “/etc/apache2/apache2.conf”:

<Directory /opt/www/html/>
	Options -Indexes -FollowSymLinks -ExecCGI +SymLinksIfOwnerMatch
	AllowOverride None
	Require all granted
</Directory>

Archivo configuración del site “/etc/apache2/sites-enabled/000-default.conf”:

DocumentRoot /opt/www/html

3. Se recomienda efectuar cambios en las opciones de montaje del directorio “/opt”, habilitando las siguientes opciones:

  • -nodev: Impide la interpretación de los dispositivos especiales o de bloques del sistema de archivos
  • -nosuid: Bloquea el funcionamiento de suid, y sgid bits. suid permite a los usuarios comunes ejecutar binarios con privilegios concedidos temporalmente
  • -noexec: No permite la ejecución de binarios que se encuentren en el sistema de archivos. Muy pendiente con el código o aplicativo que se utilizará con el servidor apache, ya que si tienen un binario, el mismo no podrá ser ejecutada

Ejemplo de una entrada en fstab:

/dev/mapper/VolGroup-lvsrv /opt   ext4   nodev,nosuid,noexec   0    2

Recomendaciones a nivel de aplicativo Apache 2.4
Configuración

Evita la búsquedas de DNS para que los nombres de host se pueden registrar

1. Editar archivo de configuración de apache2:

admin@servidor:/$ sudo vim /etc/apache2/apache2.conf

Continuar leyendo “Tips Seguridad Servidor Apache2 – Hardening Secure Apache Web Server”