Un blog mas

Bitácora de vuelo

Una de las versiones de OpenVAS que tenemos disponible para descargar del sitio oficial es una imagen OVA que corre sobre VirtualBox. Lamentablemente esta imagen viene con un certificado que venció hace semanas y esto hace que el sistema nos retorne un 503 – Service temporarily down. Para solucionar este fallo solo debemos renovar los certificados del servidor y cliente OpenVAS.

Lo primero que debemos hacer es actualizar el sistema completo

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Generamos el nuevo certificado

# openvas-mkcert -f
-------------------------------------------------------------------------------
                        Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------
 
This script will now ask you the relevant information to create the SSL certificate of OpenVAS.
Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your OpenVAS daemon will be able to retrieve this information.
 
 
CA certificate life time in days [1460]: 
Server certificate life time in days [365]: 
Your country (two letter code) [DE]: 
Your state or province name [none]: 
Your location (e.g. town) [Berlin]: 
Your organization [OpenVAS Users United]: 
 
 
-------------------------------------------------------------------------------
                        Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------
 
Congratulations. Your server certificate was properly created.
 
The following files were created:
 
. Certification authority:
   Certificate = /usr/local/var/lib/openvas/CA/cacert.pem
   Private key = /usr/local/var/lib/openvas/private/CA/cakey.pem
 
. OpenVAS Server : 
    Certificate = /usr/local/var/lib/openvas/CA/servercert.pem
    Private key = /usr/local/var/lib/openvas/private/CA/serverkey.pem
 
Press [ENTER] to exit

Con los archivos de claves generados, nos resta obtener el UUID del escaner.

# openvasmd --get-scanners
 
08b69003-5fc2-4037-a479-93b440211c73  OpenVAS Default

Ahora si podemos actualizar los parámetros del servidor con el siguiente comando:

# openvasmd --modify-scanner 08b69003-5fc2-4037-a479-93b440211c73 	
	    --scanner-ca-pub /usr/local/var/lib/openvas/CA/cacert.pem 
	    --scanner-key-pub /usr/local/var/lib/openvas/CA/servercert.pem 
	    --scanner-key-priv /usr/local/var/lib/openvas/private/CA/serverkey.pem

Actualizamos, guardamos y por las dudas, reiniciamos el servidor.

# openvasmd --rebuild 
# openvasmd --backup
# openvassd
# reboot

Ahora si deberíamos tener el OpenVAS funcionando como de costumbre.

Suerte!

Un sistema operativo linux puede ser integrado de manera sencilla a un dominio de Active Directory para que este administre los usuarios y grupos, ademas de centralizar el proceso de indentificación, autenticación y autorización de nuestros sistemas.

El primer paso es verificar si contamos con las siguientes aplicaciones. Si es necesario instalarlas, lo hacemos de la siguiente manera:

 
pablo@clienteLinux:~$ sudo apt-get install samba smbclient winbind krb5-user krb5-config

Editamos y/o verificamos la configuración de DNS del cliente Linux Ubuntu

 
pablo@clienteLinux:~$ sudo mcedit /etc/resolv.conf
 
nameserver 192.168.0.1		# IP del servidor de DNS primario, el Active Directory Principal
nameserver 192.168.1.1		# IP del servidor de DNS secundario, el Active Directory Alternativo
search miDominio
 
pablo@clienteLinux:~$ sudo mcedit /etc/hosts
 
127.0.0.1	localhost
192.168.0.50	clienteLinux.miDominio	clienteLinux
192.168.0.1	adPrincipal.miDominio	adPrincipal
192.168.1.1	adSecundario.miDominio	adSecundario

Editamos el archivo de configuración del cliente de Kerberos

 
pablo@clienteLinux:~$ sudo mcedit /etc/krb5.conf 
 
[libdefaults]
        default_realm = MIDOMINIO
        clockskew = 300
 
[realms]
        MIDOMINIO = {
            kdc = 192.168.0.1
            kdc = 192.168.1.1
            default_domain = miDominio
            admin_server = 192.168.0.1
            admin_server = 192.168.1.1
        }
 
        miDominio = {
            kdc = 192.168.0.1
            kdc = 192.168.1.1
            default_domain = miDominio
            admin_server = 192.168.0.1
            admin_server = 192.168.1.1
        }
 
[logging]
    kdc = FILE:/var/log/krb5/krb5kdc.log
    admin_server = FILE:/var/log/krb5/kadmind.log
    default = SYSLOG:NOTICE:DAEMON
 
[domain_realm]
    .miDominio = miDominio
    miDominio = miDominio
 
[appdefaults]
    pam = {
        ticket_lifetime = 1d
        renew_lifetime = 1d
        forwardable = true
        proxiable = false
        retain_after_close = false
        minimum_uid = 0
        try_first_pass = true
    }

Debemos crear los tickets Kerberos con el siguiente comando (y respetando el dominio en MAYUSCULA)

 
pablo@clienteLinux:~$ sudo kinit admin@MYDOMINIO

Editamos el archivo de configuración del Samba

 
pablo@clienteLinux:~$ sudo mcedit  /etc/samba/smb.conf
 
[global]
    security = ADS
    netbios name = clienteLinux
    realm = MYDOMINIO
    password server = adPrincipal.miDominio
    workgroup = MYDOMINIO
    log level = 1
    syslog = 0
    idmap uid = 10000-29999
    idmap gid = 10000-29999
    winbind separator = +
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    domain master = no
    server string = linux como cliente del Active Directory
    encrypt passwords = yes
    idmap cache time = 30
    idmap negative cache time = 12
    winbind cache time = 30

Agregamos la máquina Linux al dominio

 
pablo@clienteLinux:~$ sudo net ads join -S adPrincipal.miDominio -U admin
 
pablo@clienteLinux:~$ sudo net ads join -S adSecundario.miDominio -U admin

En este punto podemos tener dos errores comunes:

  • Que haya diferencias en la fecha/hora del linux y el controlador de dominio, donde solo deberíamos setear la hora del cliente para que coincida con la del Active Directory.
  • Que exista un registro fijado en el DNS con el mismo nombre, donde solo debemos eliminarlo para que se genere luego automáticamente.

Debemos editar y configurar el NSSwitch para que resuelva por el Active Directory (además de localmente) los usuarios/passwords, grupos y hosts.

 
pablo@clienteLinux:~$ sudo mcedit /etc/nsswitch.conf 
 
passwd:		files winbind
group:		files winbind
shadow:		files winbind
hosts:		files dns winbind
networks: 	files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:	nis
sudoers:	files

Para configurar el acceso de usuarios del dominio al sistema debemos configurar PAM, editando los siguientes archivos:

 
pablo@clienteLinux:~$ sudo mcedit /etc/pam.d/common-session
 
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session sufficient pam_winbind.so
session required pam_unix.so try_first_pass
 
pablo@clienteLinux:~$ sudo mcedit /etc/pam.d/common-password 
 
password sufficient pam_winbind.so
password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
 
pablo@clienteLinux:~$ sudo mcedit /etc/pam.d/common-auth 
 
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure try_first_pass
 
pablo@clienteLinux:~$ sudo mcedit /etc/pam.d/common-account 
 
account sufficient pam_winbind.so
account required pam_unix.so try_first_pass

y por último el archivo sudoers desde donde autorizamos a los diferentes usuarios/grupos las acciones permitidas. Mucho cuidado durante esta modificación ya que podríamos quedar “fuera” del sistema. Como ejemplo creamos dos grupos en el AD, uno linuxAdmin con permisos totales, y otro linuxSeg con acceso solo a algunos comandos de manera restringida.

 
pablo@clienteLinux:~$ sudo mcedit /etc/sudoers
 
#                                                                                                                                
# This file MUST be edited with the 'visudo' command as root.                                                                    
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 
# Host alias specification
 
# User alias specification
 
# Cmnd alias specification
 
# User privilege specification
root    ALL=(ALL:ALL) ALL
 
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
 
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
 
# See sudoers(5) for more information on "#include" directives:
 
#includedir /etc/sudoers.d
 
%MYDOMINIO+linuxAdmin ALL=(ALL) ALL
 
%MYDOMINIO+linuxSeg ALL=(ALL) /sbin/iptables -L -n,/usr/bin/less /var/log/*,/usr/sbin/aideinit,/usr/bin/tshark*

Para que el sistema funcione es conveniente reiniciar el sistema y ya podríamos iniciar sesión con el usuario de AD.

 
pablo@clienteLinux:~$ sudo reboot
.
.
.
pablo@otroClienteLinux:~$ ssh -l pablo@myDominio clienteLinux 2222
 
pablo@MYDOMINIO@clienteLinux\'s password: 
Last login: Wed Apr 27 10:21:09 2016 from 192.168.0.55
MYDOMINIO+pablo@clienteLinux:~$

Como información adicional, les dejo la ayuda del comando wbinfo con el que podemos extraer información variada del controlador de domino, como ser usuarios, grupos, uids, etc..

 
pablo@clienteLinux:~$ wbinfo   
Usage: wbinfo [OPTION...]
  -u, --domain-users                    Lists all domain users
  -g, --domain-groups                   Lists all domain groups
  -N, --WINS-by-name=NETBIOS-NAME       Converts NetBIOS name to IP
  -I, --WINS-by-ip=IP                   Converts IP address to NetBIOS name
  -n, --name-to-sid=NAME                Converts name to sid
  -s, --sid-to-name=SID                 Converts sid to name
      --sid-to-fullname=SID             Converts sid to fullname
  -R, --lookup-rids=RIDs                Converts RIDs to names
      --lookup-sids=Sid-List            Converts SIDs to types and names
  -U, --uid-to-sid=UID                  Converts uid to sid
  -G, --gid-to-sid=GID                  Converts gid to sid
  -S, --sid-to-uid=SID                  Converts sid to uid
  -Y, --sid-to-gid=SID                  Converts sid to gid
      --allocate-uid                    Get a new UID out of idmap
      --allocate-gid                    Get a new GID out of idmap
      --set-uid-mapping=UID,SID         Create or modify uid to sid mapping in idmap
      --set-gid-mapping=GID,SID         Create or modify gid to sid mapping in idmap
      --remove-uid-mapping=UID,SID      Remove uid to sid mapping in idmap
      --remove-gid-mapping=GID,SID      Remove gid to sid mapping in idmap
      --sids-to-unix-ids=Sid-List       Translate SIDs to Unix IDs
  -t, --check-secret                    Check shared secret
  -c, --change-secret                   Change shared secret
  -P, --ping-dc                         Check the NETLOGON connection
  -m, --trusted-domains                 List trusted domains
      --all-domains                     List all domains (trusted and own domain)
      --own-domain                      List own domain
      --sequence                        Deprecated command, see --online-status
      --online-status                   Show whether domains are marked as online or offline
  -D, --domain-info=STRING              Show most of the info we have about the domain
  -i, --user-info=USER                  Get user info
      --uid-info=UID                    Get user info from uid
      --group-info=GROUP                Get group info
      --user-sidinfo=SID                Get user info from sid
      --gid-info=GID                    Get group info from gid
  -r, --user-groups=USER                Get user groups
      --user-domgroups=SID              Get user domain groups
      --sid-aliases=SID                 Get sid aliases
      --user-sids=SID                   Get user group sids for user SID
  -a, --authenticate=user%password      authenticate user
      --pam-logon=user%password         do a pam logon equivalent
      --logoff                          log off user
      --logoff-user=STRING              username to log off
      --logoff-uid=INT                  uid to log off
      --set-auth-user=user%password     Store user and password used by winbindd (root only)
      --ccache-save=user%password       Store user and password for ccache operation
      --getdcname=domainname            Get a DC name for a foreign domain
      --dsgetdcname=domainname          Find a DC for a domain
      --dc-info=domainname              Find the currently known DCs
      --get-auth-user                   Retrieve user and password used by winbindd (root only)
  -p, --ping                            Ping winbindd to see if it is alive
      --domain=domain                   Define to the domain to restrict operation
  -K, --krb5auth=user%password          authenticate user using Kerberos
      --separator                       Get the active winbind separator
      --verbose                         Print additional information per command
      --change-user-password=STRING     Change the password for a user
      --ntlmv2                          Use NTLMv2 cryptography for user authentication
      --lanman                          Use lanman cryptography for user authentication
 
Help options:
  -?, --help                            Show this help message
      --usage                           Display brief usage message
 
Common samba options:
  -V, --version                         Print version

Fuentes:

El mejor método para evitar que personas no deseadas tengan acceso a nuestros datos es protejerlos con algoritmos fuertes de cifrado, por suerte en estos tiempos, y con las herramientas adecuadas, dicha tarea es extremadamente sencilla siempre y cuando se conozcan algunos detalles. Es por ello que este post tiene su razon de ser, lugar donde les mostraremos estas herramientas de cifrado y firma digital disponibles para correr sobre Windows, Linux y Mac.

En primer lugar debemos separar los métodos en dos grupos. El primero en nuestra lista es el Cifrado Simétrico, por lejos el método mas conocido y utilizado, en donde como su nombre lo indica, se utiliza una misma clave (preacordada) para cifrar y descifrar el mensaje.

Diapositiva2

Si lo que queremos es una aplicación bien user-friendly que corra sobre Windows y Mac, AxCrypt es LA HERRAMIENTA. En dos minutos descargamos de aquí e instalamos la última versión disponible (a la fecha 1.7.3156). AxCrypt nos agrega en el menú contextual una serie de herramientas para cifrar, editar, y descifrar archivos.

Diapositiva4

La utilización de Cifrado Asimetrico difiere un poco, ya que en este caso se trabaja con un juego de claves, una pública y otra privada, que se generan y asocian en el proceso inicial. Como su nombre lo indica, la parte pública se encuentra disponible en todo momento por cualquier usuario que la desee, y en contrapartida, la clave privada se guarda para que solo esté disponible por su dueño y creador. En definitiva un usuario dispone de UNA clave privada que se utilizará para descifrar los archivos cifrados con SU clave pública, y tantas claves públicas de otras personas como su anillo de confianza disponga, y con las que se cifraran los mensajes para que solo el dueño de su parte privada pueda descifrarlo.

Diapositiva5

GnuPG es la solución, y su versión para Windows Gpg4Win el grupo de aplicaciones que incluye a Kleopatra para administrar las claves, y GpgEX quien agrega en el menú contextual las operaciones posibles sobre los archivos. La última versión la podemos descargar de aquí y se instala en unos pocos pasos, uno de los cuales nos permite generar el juego de llaves pública/privada.

A continuación les dejo un par de diapositivas con las intrucciones para crear, exportar, importar y verificar las claves de nuestro anillo.

Diapositiva6

Diapositiva8

Diapositiva9

Diapositiva10

Desde el menú contextual implementado con GpgEX, y teniendo disponibles las claves necesarias, podemos cifrar y descifrar los archivos directamente.

Diapositiva11

Diapositiva12

La Función Resúmen, suma de comprobación o Hash son una representación compacta de un conjunto de datos, los cuales fueron sometidos a la aplicación de un algoritmo computable, y retornan un valor finito representativo. Los métodos mas utilizados en la actualidad son el MD5 (no recomendado por la facilidad de obtener coliciones o valores identicos para diferentes entradas), SHA1 y SHA256.

Diapositiva13

GpgEX permite obtener el hash (MD5, SHA1 o SHA256) de un archivo mediante el menú contextual. El algoritmo de generación de hash se puede predefinir desde la configuración del Kleopatra.

Diapositiva14

La firma digital se aplica con un procedimiento similar al de cifrado asimétrico pero invirtiendo el rol de las claves. La información se firma con MI clave privada y es verificada con MI clave pública disponible por el receptor del mensaje.

Diapositiva15

Con GpgEX, este proceso se incluye en el menú contextual, agregando las operaciones de firma y verificación como vemos en las siguientes imágenes.

Diapositiva16

Diapositiva17

Con todo este material estamos en condiciones de saltar al próximo post, donde vamos a enviar correo electrónico Firmado y Cifrado, con Thunderbird + Enigmail para plataformas Windows y Linux, y K9-Mail + APG para sistemas Android.

Saludos!

Dell OpenManage Server Administrator (OMSA) es un agente de software que proporciona una solución para la para gestión de dispositivos DELL a través de un software web que se accede vía browser.

Instalación de OMSA en XenServer 6.2

Lo primero que debemos obtener es la imagen que se descarga desde el sitio oficial de Dell, hoy en día corresponde a la versión 7.4.

wget http://downloads.dell.com/FOLDER02019315M/1/OM-SrvAdmin-Dell-Web-LX-7.4.0-866.XenServer62_A00.iso

Instalar la iso en el servidor Dell con SO XenServer 6.2

xe-install-supplemental-pack OM-SrvAdmin-Dell-Web-LX-7.4.0-866.XenServer62_A00.iso

Abrir el firewall y arrancar los servicios

cd /opt/dell/srvadmin/etc
./autoconf_cim_component.sh -p 5986
service iptables save
/etc/init.d/openwsmand restart
/etc/init.d/sfcb restart
iptables -I RH-Firewall-1-INPUT -p tcp --destination-port 5986 -j ACCEPT
cd /opt/dell/srvadmin/sbin
./srvadmin-services.sh start

Instalar el cliente web

wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
yum -y install *Meta-Package srvadmin-webserver*
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

Instalación de OMSA en XenServer 6.5

Primero debemos deshabilitar temporalmente el repositorio de Citrix. Lo movemos para no perderlo definitivamente y utilizamos un repo alternativo

mv /etc/yum.repos.d/Citrix.repo /root/Citrix.repo
yum clean all
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash

Instalamos el OMSA y abrimos el puerto 1311 en el firewall para conectarnos desde el exterior

yum --enablerepo=base install srvadmin-all
nano /etc/sysconfig/iptables

La siguiente linea debe ser agregada antes de la que menciona icmp-host-prohibited:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1311 -j ACCEPT

Restarteamos/arrancamos los servicios involucrados

service iptables restart
 
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

y movemos el repo original a la ubicación normal

mv /root/Citrix.repo /etc/yum.repos.d

continua leyendo…

Respondiendo a la necesidad de mantener mayor cantidad de instancias de backup sin el espacio necesario en disco, nos pusimos a investigar los parámetros de Schedule que el BackupPc ofrece, y por suerte siguen sumando estrellas.

FullPeriod: Cantidad de días entre backups completos. El valor por default es 6.97 que establece el período en una semana.

IncrPeriod: Cantidad de días entre backups incrementales. El valor por default es 0.97 y representa un backup incremental por día.

FullKeepCnt: Cantidad de Backups Completos que se mantienen antes de ser eliminados. Si se le pasa un array de números, BackupPC los interpreta de la siguiente manera (suponiendo que el FullPeriod está seteado en una semana):

– El #1 representa la cantidad de Backups Completos a mantener cada 1 semana.
– El #2 representa la cantidad de Backups Completos a mantener cada 2 semanas.
– El #3 representa la cantidad de Backups Completos a mantener cada 4 semanas.
– El #4 representa la cantidad de Backups Completos a mantener cada 8 semanas.
– El #5 representa la cantidad de Backups Completos a mantener cada 16 semanas.
– y así siempre con intervalos de 2^n * FullPeriod

Entonces, si queremos guardar todos los Backpus completos de los últimos dos meses, un backup completo cada dos semanas por 4 meses mas, y por último un backup completo por mes hasta completar las 48 semanas, se podría definir la variable de la siguiente manera:

FullKeepoCnt = [8, 8, 6];

O sea, guardamos 8 backups semanales, 8 bi-semanales y 6 tetra-semanales (si dichas palabras existen), cubriendo 8 + 16 + 24 = 48 semanas en total

continua leyendo…

Stop SOPA