jueves, 12 de enero de 2017

Como montar una graja web con Vagrant y Ansible

Últimamente he estado automatizando con Ansible, os recomiendo este libro ( Ansible for DevOps ) si quereis entrar mas a fondo en el tema.

De todas formas vamos al grano... he dejado en mi github un repo ( https://github.com/spysnooper/granjaweb ) con un Vagranfile que crea 3 maquinas virtuales y les aplica un playbook de Ansible que las configura de la siguiente manera.

  1. Balanceador web NGINX / NFS Server
  2. Web server Apache / NFS Client
  3. Web server Apache / NFS Client

El inventario de Ansible se genera automáticamente desde Vagrant, en el Vagranfile definimos los hostgroups

Si quieres puedes coger este ejemplo cambiar el playbook para generarte otro laboratorio.

Hay que tener instalado:

  • Libvirt
  • Vagrant
    • plugins: 
      • vagrant-libvirt

Aunque con pequeñas modificaciones nos puede funcionar en Windows con Virtualbox

lunes, 21 de septiembre de 2015

Zimbra informe de error TLS en Firefox

En Firefox 39 o superior con versiones de Zimbra 7 o anterior no podremos visualizar la web de Zimbra y nos devolverá un error.
https://support.mozilla.org/es/kb/informes-de-error-tls

Tal y como se describe en el wiki de Zimbra hay que deshabilitar los tipos de cifrado Diffie Hellman inseguros.
https://wiki.zimbra.com/wiki/Disabling_the_use_of_weak_DH_keys_in_Zimbra_Collaboration_mailboxd


# su zimbra
$ cd $HOME
$ zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA
$ zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_256_CBC_SHA
$ zmprov mcf +zimbraSSLExcludeCipherSuites SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
$ zmmailboxdctl restart
Stopping mailboxd...done.
Starting mailboxd...done.


Despues de introducir estos comandos ya podremos ver la web en Firefox y ademas habremos hecho que nuestro Zimbra sea mas seguro.

Sino queremos modificar nuestro servidor zimbra, tambien podemos deshabilitar esta comprobacion de seguridad en nuestro navegador firefox para ello en about:config debemos poner a false estas 2 opciones
security.ssl3.dhe_rsa_aes_128_sha=false
security.ssl3.dhe_rsa_aes_256_sha=false

jueves, 17 de septiembre de 2015

Como enjaular usuarios SFTP

#
#Configuracion inicial
#
DIRECTORIO=/var/lib/tftpboot
GRUPO_SFTP=tftp

# ENJAULAR AL GRUPO DE USUARIOS SFTP EN EL DIRECTORIO
echo "Subsystem sftp internal-sftp" >> /etc/ssh/sshd_config
echo "Match group $GRUPO_SFTP" >> /etc/ssh/sshd_config
echo "ChrootDirectory $DIRECTORIO" >> /etc/ssh/sshd_config
echo "AllowTcpForwarding no" >> /etc/ssh/sshd_config
echo "ForceCommand internal-sftp" >> /etc/ssh/sshd_config

#CORREGIR PERMISOS DIRECTORIO CHROOT
chown root:root $DIRECTORIO
chmod 755 $DIRECTORIO


#
# Script para crear un usuario enjaulado para acceder por SFTP a la carpeta de TFTP
#

#!/bin/bash
#VARIABLES
USUARIO=swuser
GRUPO=tftp
DIRECTORIO=/var/lib/tftpboot
SHELL=/bin/false


#CREAR USUARIO EN EL GRUPO
useradd  -m -d $DIRECTORIO -s $SHELL -c "Usuario del grupo $GRUPO para acceder a los archivos del directiorio $DIRECTORIO" $USUARIO
passwd $USUARIO
id $USUARIO



lunes, 18 de mayo de 2015

Reiniciar permisos de una carpeta en windows

Iniciamos un terminal MS-DOS como administrador y ejecutamos los siguientes comandos.

Primero establecemos el propietario de todas las carpetas y archivos que cuelgan de E:\carpeta1\subcarpeta1
icacls  E:\carpeta1\subcarpeta1 /setowner MIDOMINIO\administrador /t /c /q
archivo procesado: E:\carpeta1\subcarpeta1
archivo procesado: E:\carpeta1\subcarpeta1\Nuevo documento de texto.txt
Se procesaron correctamente 2 archivos; error al procesar 0 archivos


Segundo reiniciamos todos los posibles cambios de permisos lo que provoca que se hereden los permisos de E:\carpeta1
icacls  E:\carpeta1\subcarpeta1 /reset /t /c /q
archivo procesado: E:\carpeta1\subcarpeta1
archivo procesado: E:\carpeta1\subcarpeta1\Nuevo documento de texto.txt
Se procesaron correctamente 2 archivos; error al procesar 0 archivos


viernes, 23 de enero de 2015

Añadir MIBs al cliente snmp en Red Hat o CentOS

Descargar los archivos mibs del fabricante

Copiar las mibs (.txt) en el directorio /usr/share/snmp/mibs

ls -lh /usr/share/snmp/mibs | tail -n 10
-rw-r--r--  1 root root 8,7K dic 21  2011 STONESOFT-FIREWALL-MIB.txt
-rw-r--r--  1 root root 1,7K dic 21  2011 STONESOFT-SMI-MIB.txt
-rw-r--r--. 1 root root  28K ago  6  2013 TCP-MIB.txt
-rw-r--r--. 1 root root  17K ago  6  2013 TRANSPORT-ADDRESS-MIB.txt
-rw-r--r--. 1 root root 2,2K ago  6  2013 UCD-DEMO-MIB.txt
-rw-r--r--. 1 root root 4,3K ago  6  2013 UCD-DISKIO-MIB.txt
-rw-r--r--. 1 root root 3,0K ago  6  2013 UCD-DLMOD-MIB.txt
-rw-r--r--. 1 root root 8,0K ago  6  2013 UCD-IPFWACC-MIB.txt
-rw-r--r--. 1 root root  46K ago  6  2013 UCD-SNMP-MIB.txt
-rw-r--r--. 1 root root  21K ago  6  2013 UDP-MIB.txt





Para probar las mibs de stonesoft que hemos añadido

snmpwalk -v1 -cpublic 192.168.1.1 STONESOFT-FIREWALL-MIB::fwSoftwareVersion
STONESOFT-FIREWALL-MIB::fwSoftwareVersion.0 = STRING: Stonesoft Security Engine version 1.1.1.1111

Ampliar una particion con LVM II - ampliar partición root

En otra ocasion ya hice un post con una relacion de comandos para ampliar una particion LVM
En esta caso vamos a ampliar la particion raiz que no podemos desmontar si el sistema se esta ejecutando.
Listamos las particiones:
df -Th

Como hemos añadido un disco de 8GB creamos una particion de 8GB y le asignamos el tipo Linux LVM (8e)
fdisk /dev/sdc1
    n (nueva particion)
    t (cambiar el tipo a Linux LVM)
        8e (el código para seleccionar Linux LVM)

Como una particion que esta montada no se puede redimencionar vamos a utilizar un truco le bajamos el porcentaje de bloques reservados a 0% redimensionamos y despues lo volvemos a dejar al 5% que es el nivel por defecto.
para comprobar el numero de bloques reservados
dumpe2fs /dev/mapper/vg_sistema-lg_root | grep 'Reserved block count'
dumpe2fs 1.41.12 (17-May-2010)
Reserved block count:     207206
tune2fs -m 0 /dev/mapper/vg_sistema-lg_root

dumpe2fs /dev/mapper/vg_sistema-lg_root | grep 'Reserved block count'
dumpe2fs 1.41.12 (17-May-2010)
Reserved block count:     0





Creamos el Phisical Volumen en la particion que hemos creado en el disco nuevo
pvcreate /dev/sdc1

Ampliamos el Volume Group que ya existe en el sistema donde está situado el LV que necesitamos ampliar.
vgextend vg_sistema /dev/sdc1

Ampliamos el Logical Volume que ya existe y el cual queremos ampliar
lvextend /dev/mapper/vg_sistema-lg_root /dev/sdc1

Redimensionamos la particion (en nuestro caso ext4)
resize2fs /dev/mapper/vg_sistema-lg_root 

Volvemos a poner el 5% de bloques reservados
tune2fs -m 5 /dev/mapper/vg_sistema-lg_root
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 5% (207206 blocks)


Listamos de nuevo las particiones y deberiamos ver que ha ampliado en 8GB su espacio
df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_sistema-lg_root
                     ext4    16G  6,0G  8,8G  41% /
tmpfs                tmpfs  4,9G   72K  4,9G   1% /dev/shm
/dev/sda1            ext4   477M  113M  339M  25% /boot
/dev/mapper/vg_sistema-lv_usr_local
                     ext4    53G  5,7G   45G  12% /usr/local


Bibliografía:
http://myshell.co.uk/index.php/how-to-extend-a-root-lvm-partition-online/

lunes, 24 de noviembre de 2014

ifconfig en vmware esxi



~ # esxcli network nic list

Name    PCI Device     Driver  Link  Speed  Duplex  MAC Address         MTU  Description

------  -------------  ------  ----  -----  ------  -----------------  ----  ---------------------------------------------------------------------------

vmnic0  0000:003:00.0  bnx2    Down      0  Half    00:21:5a:a5:25:7c  1500  Broadcom Corporation NC373i Integrated Multifunction Gigabit Server Adapter

vmnic1  0000:00f:00.0  e1000e  Up      100  Full    00:1f:29:55:ed:0a  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

vmnic2  0000:00f:00.1  e1000e  Up     1000  Full    00:1f:29:55:ed:0b  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

~ # esxcfg-vmknic -l

Interface  Port Group/DVPort   IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type

vmk0       Management          IPv4      10.0.0.5                              255.255.255.0   10.50.58.255    00:21:5a:a5:25:7c 1500    65535     true    STATIC

vmk0       Management          IPv6      fe80::221:5aff:fea5:257c                64                              00:21:5a:a5:25:7c 1500    65535     true    STATIC, PREFERRED

~ # esxcli network ip interface list

vmk0

   Name: vmk0

   MAC Address: 00:21:5a:a5:25:7c

   Enabled: true

   Portset: vSwitch0

   Portgroup: Management

   Netstack Instance: defaultTcpipStack

   VDS Name: N/A

   VDS UUID: N/A

   VDS Port: N/A

   VDS Connection: -1

   MTU: 1500

   TSO MSS: 65535

   Port ID: 33554436

Bibliografía:

miércoles, 1 de octubre de 2014

Udev y nombrado de interfaces de red 2 - plantillas de máquinas virtuales


Anteriormente puse un articulo sobre este tema: Udev y nombrado de interfaces de red
Cuando tratamos con máquinas virtuales es posible que una máquina la utilicemos como plantilla
de otra, es decir, que clonemos esta máquina varias veces y utilicemos las clonadas.
Clonar una máquina virtual provoca que los interfaces de red generen nuevas mac (puesto que 
son nuevas tarjetas de red) y por tanto los nombres de interfaz no coincidan (desaparece eth0
y aparece eth1).
Para solucionarlo, en la maquina plantilla:
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
 
Antes de clonar asegurarse de eliminar del fichero 
/etc/sysconfig/network-scripts/ifcfg-eth0
la línea HWADDR=<MAC address of the network interface>
 
 
Bibliografía:
http://www.turnkeylinux.org/docs/virtualization/udev-persistent-net-generation
 

miércoles, 7 de mayo de 2014

Cómo puedo mejorar el rendimiento de Zimbra


Deshabilitar la capa SSL de seguridad en los procesos internos entre los servidores Zimbra (LDAPS, ...), normalmente es una red interna securizada por un firewall y de esta forma nos ahorramos RAM y proceso de CPU.
zmlocalconfig -e zimbra_require_interprocess_security=0

Heap Size 

Por lo general debe ser entre un 20% y un 30% de la memoria total del servidor. Sin pasarse de 6,4GB.Tener en cuenta que al servidor es preferible ampliar la RAM de Mysql.
Si tenemos 20GB le asignamos 5GB
zmlocalconfig -e mailboxd_java_heap_size=5120
Heap size reserved for classes
por defecto viene definido muy bajo 128 hay que ampliarlo a: 
-XX:PermSize=196m -XX:MaxPermSize=350m

CMS y GC

-XX:+UseConcMarkSweepGC -XX:+UseParNewGC
Uses the concurrent mark sweep collector (CMS) and the parallel new garbage collector (GC) together.

-XX:SoftRefLRUPolicyMSPerMB=1
This option helps evict entries from the caches held by the mailbox server. Not setting this option will result in softly reachable (ie, evictable) cache objects filling up the heap and causing out of memory errors.


Memoria de MySQL
nano /opt/zimbra/conf/my.cnf
#Ampliamos el buffer entre un 25% y un 35% de la memoria RAM total del #servidor

innodb_buffer_pool_size        = 7516192768

#Por defecto innodb_max_dirty_pages_pct = 90 
#Esto guarda muchas transacciones en memoria y cuando lo va 
#a escribir en el disco duro todo el sistema se enlentece. Si lo 
#bajamos al 10% escribe en disco más amenudo pero menos cantidad.
innodb_max_dirty_pages_pct = 10

Configurar DKIM en Zimbra 8

Generar una clave de registro DNS de tipo DKIM para el dominio midominio.es
zimbra@host:/root$ /opt/zimbra/libexec/zmdkimkeyutil -a -d midominio.es
DKIM Data added to LDAP for domain midominio.es with selector 4D23690A-D5CF-11E3-9562-BE9DEF34D14A
Public signature to enter into DNS:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqG...." )  ; ----- DKIM key 4D23690A-D5CF-11E3-9562-BE9DEF34D14A for midominio.es


Dar de alta en el DNS el registro que nos ha generado el comando anterior:
si usas bind9 el registro dentro de la zona midominio.es sería el siguiente:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.    IN    TXT    "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqG...."

Comprobar que se ha creado el registro DNS
nslookup -type=txt 4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.

Comprobar que el registro DNS para DKIM funciona correctamente
/opt/zimbra/opendkim/sbin/opendkim-testkey -d midominio.es -s 4D23690A-D5CF-11E3-9562-BE9DEF34D14A -x /opt/zimbra/conf/opendkim.conf -vvv

Bibliografía:
http://tipstricks.itmatrix.eu/?p=1587