“Vendors” que mas vulnerabilidades reportan a Microsoft

A continuación graficamos los “Vendors” que mas vulnerabilidades descubren y reportan a Microsoft de su sistema entre 2004 y 2014.

Esto nos parece interesante porque vemos que marcas de vendedores ya sea de IPS o IDS son mas eficientes.

Estos datos los obtuvimos de los reconocimientos que da Microsoft a estos “Vendors” en el sitio:

https://technet.microsoft.com/es-ES/library/security/dn631938.aspx

Ejemplo del mes enero del 2006:
https://technet.microsoft.com/library/security/ms06-jan o
http://www.microsoft.com/technet/security/bulletin/ms06-jan.mspx

vendors

Ejemplo de xen-tools.conf para domU con archivos imagenes (.img)

##
dir = /d1
install-method = debootstrap

# Disk and Sizing options.
size = 2G # Root disk, suffix (G, M, k) required
memory = 512M # Suffix (G, M, k) required
#maxmem = 256M # Suffix (G, M, k) optional
swap = 128M # Suffix (G, M, k) required
# noswap = 1 # Don't use swap at all for new systems.
fs = ext4 # Default file system for any disk
# dist = `xt-guess-suite-and-mirror --suite`
# Default distribution is determined by Dom0's distribution
image = sparse # Specify sparse vs. full disk images (file based images only)

# Networking setup values.
gateway = aaa.bbb.ccc.ddd
netmask = 255.255.255.0
broadcast = aaa.bbb.ccc.255
nameserver = aaa.bbb.ccc.ddd
# dhcp = 1
#
# bridge = xendmz
bridge = xenbr0
# hash_method = sha256
passwd = 1
# pygrub = 1
# arch = [i386|amd64]
bootloader = '/usr/lib/xen-4.4/bin/pygrub'
arch = amd64
# mirror = `xt-guess-suite-and-mirror --mirror`
# mirror = http://gb.archive.ubuntu.com/ubuntu/
# http://wiki.debian.org/DebianGeoMirror):
# mirror_sarge = http://archive.debian.org/debian
# mirror_etch = http://archive.debian.org/debian
# mirror_lenny = http://archive.debian.org/debian
# mirror_squeeze = http://http.debian.net/debian
# mirror_wheezy = http://http.debian.net/debian
mirror_jessie = http://http.debian.net/debian
# mirror_sid = http://http.debian.net/debian
# mirror_dapper = http://old-releases.ubuntu.com/ubuntu
# mirror_edgy = http://old-releases.ubuntu.com/ubuntu
# mirror_feisty = http://old-releases.ubuntu.com/ubuntu
# mirror_gutsy = http://old-releases.ubuntu.com/ubuntu
# mirror_hardy = http://old-releases.ubuntu.com/ubuntu
# mirror_intrepid = http://old-releases.ubuntu.com/ubuntu
# mirror_jaunty = http://old-releases.ubuntu.com/ubuntu
# mirror_karmic = http://old-releases.ubuntu.com/ubuntu
# mirror_lucid = http://archive.ubuntu.com/ubuntu
# mirror_maverick = http://old-releases.ubuntu.com/ubuntu
# mirror_natty = http://old-releases.ubuntu.com/ubuntu
# mirror_oneiric = http://archive.ubuntu.com/ubuntu
# mirror_precise = http://archive.ubuntu.com/ubuntu
# mirror_quantal = http://old-releases.ubuntu.com/ubuntu
# mirror_raring = http://old-releases.ubuntu.com/ubuntu
# mirror_saucy = http://old-releases.ubuntu.com/ubuntu
# mirror_trusty = http://archive.ubuntu.com/ubuntu
# mirror_utopic = http://archive.ubuntu.com/ubuntu
# mirror_vivid = http://archive.ubuntu.com/ubuntu
#
# Filesystem options for the different filesystems we support.
ext4_options = noatime,nodiratime,errors=remount-ro
ext3_options = noatime,nodiratime,errors=remount-ro
ext2_options = noatime,nodiratime,errors=remount-ro
xfs_options = defaults
reiserfs_options = defaults
btrfs_options = defaults

# boot = 1
serial_device = hvc0 #default
# serial_device = tty1
#disk_device = xvda #default
# disk_device = sda
#

Para crear un DomU con esta configuración:

xen-create-image --hostname www --ip=aaa.bbb.ccc.ddd --pygrub --dist=jessie

Ejemplo de xen-tools.conf para domU con lvm

##
lvm = vg
install-method = debootstrap

# Disk
size = 2G # Root disk, suffix (G, M, k) required
memory = 512M # Suffix (G, M, k) required
#maxmem = 256M # Suffix (G, M, k) optional
swap = 128M # Suffix (G, M, k) required
# noswap = 1 # Don't use swap at all for new systems.
fs = ext4 # Default file system for any disk

# Networking setup values.
gateway = aaa.bbb.ccc.ddd
netmask = 255.255.255.0
broadcast = aaa.bbb.ccc.255
nameserver = aaa.bbb.ccc.ddd
# bridge = xendmz
bridge = xenbr0

# hash_method = sha256
passwd = 1
# pygrub = 1

# bootloader = '/usr/lib/xen-4.4/bin/pygrub'
arch = amd64
# mirror = `xt-guess-suite-and-mirror --mirror`
# mirror = http://gb.archive.ubuntu.com/ubuntu/
# http://wiki.debian.org/DebianGeoMirror):
# mirror_sarge = http://archive.debian.org/debian
# mirror_etch = http://archive.debian.org/debian
# mirror_lenny = http://archive.debian.org/debian
# mirror_squeeze = http://http.debian.net/debian
# mirror_wheezy = http://http.debian.net/debian
mirror_jessie = http://http.debian.net/debian
# mirror_sid = http://http.debian.net/debian
# mirror_dapper = http://old-releases.ubuntu.com/ubuntu
# mirror_edgy = http://old-releases.ubuntu.com/ubuntu
# mirror_feisty = http://old-releases.ubuntu.com/ubuntu
# mirror_gutsy = http://old-releases.ubuntu.com/ubuntu
# mirror_hardy = http://old-releases.ubuntu.com/ubuntu
# mirror_intrepid = http://old-releases.ubuntu.com/ubuntu
# mirror_jaunty = http://old-releases.ubuntu.com/ubuntu
# mirror_karmic = http://old-releases.ubuntu.com/ubuntu
# mirror_lucid = http://archive.ubuntu.com/ubuntu
# mirror_maverick = http://old-releases.ubuntu.com/ubuntu
# mirror_natty = http://old-releases.ubuntu.com/ubuntu
# mirror_oneiric = http://archive.ubuntu.com/ubuntu
# mirror_precise = http://archive.ubuntu.com/ubuntu
# mirror_quantal = http://old-releases.ubuntu.com/ubuntu
# mirror_raring = http://old-releases.ubuntu.com/ubuntu
# mirror_saucy = http://old-releases.ubuntu.com/ubuntu
# mirror_trusty = http://archive.ubuntu.com/ubuntu
# mirror_utopic = http://archive.ubuntu.com/ubuntu
# mirror_vivid = http://archive.ubuntu.com/ubuntu

# Filesystem options for the different filesystems we support.
ext4_options = noatime,nodiratime,errors=remount-ro
ext3_options = noatime,nodiratime,errors=remount-ro
ext2_options = noatime,nodiratime,errors=remount-ro
xfs_options = defaults
reiserfs_options = defaults
btrfs_options = defaults
#
# boot = 1
serial_device = hvc0 #default
# serial_device = tty1
disk_device = xvda #default
# disk_device = sda

Para crear una domu con esta configuración:

xen-create-image --hostname "hostname" --ip=aaa.bbb.ccc.ddd --pygrub --dist=jessie

Configuración de la red en XEN

En debian jessie simplente creo un “bridge” (puente) para conexión de red.

En /etc/network/interfaces

————————————————————-
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
auto xenbr0
iface xenbr0 inet static
address aaa.bbb.ccc.ddd
netmask xxx.xxx.xx.0
network aaa.bbb.ccc.0
broadcast aaa.bbb.ccc.255
gateway aaa.bbb.ccc.254
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers aaa.bbb.ccc.ddc
dns-search patatux.net
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_maxwait 0
bridge_ports eth0
bridge_stp off

————————————————————

En las direcciones colocar sus IPs correspondientes.

Al ejecutar el command
# brctl show

debe desplegar algo como:
bridge name bridge id STP enabled interfaces
xenbr0 8000.0024e86c27eb no eth0

Virtualización con XEN en Debian Jessie

Instalación.

Para comprobar que el CPU soporta esta tecnología:

egrep '(vmx|svm)' /proc/cpuinfo

Esto dará un resultado como el siguiente:

# egrep '(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority

Donde para Intel regresa: vmx y para AMD: svm

Comprobamos que el núcleo tiene soporte para Xen mediante:

cat /boot/config-3.16.0-4-amd64 |grep -i xen

CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_TCG_XEN=m
CONFIG_XEN_WDT=m
CONFIG_XEN_FBDEV_FRONTEND=y
# Xen driver support
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=m
CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y

Y observamos la palabra XEN :-)

1.- Instalando.
# aptitude install xen-linux-system-amd64

2.- Para tener soporte XEN HVM instalar qemu el cual proporcionará la infraestructura necesaria para la emulación de un invitado HVM.

apt-get install qemu-system-x86-64

Encontramos en debian se enumeran los kenerl para dar prioridad de inicio, de tal manera que al que colocar al kernel compilado para XEN. Observamos que:

user@maquina:/etc/grub.d# ls
00_header 05_debian_theme 10_linux 20_linux_xen 30_os-prober 40_custom 41_custom README

El kernel linux_xen no arrancara primero, por lo que cambiaremos esto asi:

# dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

salida es:

Adding 'local diversion of /etc/grub.d/20_linux_xen to /etc/grub.d/08_linux_xen'

(Para hacer "rollback" al kernel por default:
dpkg-divert --rename --remove /etc/grub.d/20_linux_xen)

# update-grub

salida de la oden anterior:

update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
grub-probe: error: unknown filesystem.
done

Y encontramos ahora:

user@maquina:/etc/grub.d# ls
00_header 05_debian_theme 08_linux_xen 10_linux 30_os-prober 40_custom 41_custom README

Finalmente reiniciar el sistema operativo.

---
Pruebas:

Podemos ver que se cargan automáticamente algunos módulos para el funcionamiento correcto de Xen:

# lsmod|grep xen
xen_gntdev 13021 0
xen_evtchn 13012 1
xenfs 17724 1

En Xen todos los sistemas, incluido el dom0, están virtualizados y se ejecutan sobre el hipervisor, como podemos ver si ejecutamos la instrucción xm (xen management user interface):

# xen list
Name ID Mem VCPUs State Time(s)
Domain-0 0 22122 8 r----- 11.4

Instalación de un invitado o domU.
Esto se puede hacer con la ayuda de el paquete xen-tools

#aptitude install xen-tools

Y la configuración base de este esta:

/etc/xen-tools/xen-tools.conf

ejemplo para crear una máquina virtual con esta herramienta.

xen-create-image --hostname --ip --vcpus 2 --pygrub --dist jessie

Para iniciar la maquina creada:

xen create /etc/xen/maquina_virtual.cfg

Para borrar una máquina:
xen-delete-image nombre_MV
--

TIP1

Por "default" solo es posible crear algunos Domu (Maquinas virtuales), si no mal recuerdo entre 5 y 7, la solución que he leído es aumentar el numero de dispositivos "loop", para esto de carga el módulo loop en: /etc/modules
# loop
loop max_loop=64

------

rcube_imap.php en roundcube

Condiciones iniciales:
Debian 6.0
roundcube 0.3.1-6

Mensaje en logs:

[12-Apr-2012 12:52:40] PHP Warning: strtolower() expects parameter 1 to be string, array given in /usr/share/roundcube/program/include/rcube_imap.php on line 1285

Solución:

En base a la línea 1285 en el archivo rcube_imap.php esta el siguiente codigo:
(esto está contenido en el archivo original)
..
if (strtolower($part[$i][0]) == 'message' ||
(in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL'))) {
$part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1;

el cual debe sustituirse por:
(El archivo modificado rcube_imap.php tendrá el sig. contenido)

//if (strtolower($part[$i][0]) == 'message' ||
// (in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL'))) {
// fetch message headers if message/rfc822 or named part (could contain Content-Location header)
if (!is_array($part[$i][0]) && (strtolower($part[$i][0]) == 'message' ||
(in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL')))) {
$part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1;

Ordenes o “comandos” utilizados
diff rcube_imap.php rcube_imap.php.orig

archivos utilizados
/usr/share/roundcube/program/include/rcube_imap.php
/var/log/roundcube/errors

Imágenes relacionadas con el “post”:

Referencias: tazzadelcesso

MDB2.php y roundcube

Condiciones iniciales:
Debian 6.0
roundcube 0.3.1-6
php.mdb2 version: 2.5.0b2-1

mensaje en log:
[08-Apr-2012 06:29:21] PHP Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/php/MDB2.php on line 393
[08-Apr-2012 06:29:21] PHP Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/php/MDB2.php on line 2647

Solución:

actualización de version de php.mdb2

Acción:
pear upgrade MDB2.beta

Esto actualizará a la version: MDB2-2.5.0b3

Ordenes o “comandos” utilizados
apt-show-versions
pear
tail -t

archivos utilizados
/usr/share/php/MDB2.php
/var/log/roundcube/errors

Referencias: comments.gmane.org

Imágenes relacionadas con el “post”:

no tty present and no askpass program specified

Condiciones:
S.O. Debian
Aplicacion: Squirrelmail

Instale el plugin Quota Usage pero no funcionaba, pues no desplegaba la gráfica de usp de la cuota al accesar al correo y al checar las bitácoras de apache2/error.log me tope con el error o advertencia:

sudo: no tty present and no askpass program specified

No se exactamente a que se refiera esta advertencia, pero buscando por algunos lados encontré que si se agrega una línea en el archivo sudores se soluciona.

dicha línea es:
www-data ALL=NOPASSWD: ALL

Les comento lo que hice por si les sirve, aunque si alguien sabe mas al respeto agradezco su participación.

call_user_func_array

Con debian 6 y squirrelmal 1.4.0

Al iniciar o cerrar sesión con squierrelmail me genera en la entrada de registro de errores de apache:

 

[Tue Apr 10 03:16:57 2012] [error] [client 145.201.34.238] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /usr/share/squirrelmail/functions/global.php on line 258, referer: https://localhost/webmail/src/right_main.php

Por lo que leo es un bug en php.

Para solucionarlo he bajado e instalado el parche de la sig. forma:
parche

cd /usr/share/squirrelmail/functions
patch global.php array-is-null.patch

En el siguiente enlace se puede encotras mas información:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641869

Cambiando el puerto de escucha de apache2

Para cambiar el puerto de eschucha del servidor apache 2 en debian, se modifican los archivos ports.conf y default.

Por ejemplo cambiando al puerto de escucha: 1001

/etc/apache2/sites-available/ports.conf

NameVirtualHost *:80
Listen 80

por:

NameVirtualHost *:1001
Listen 1001

/etc/apache2/sites-available/default

<VirtualHost *:80>

por:

<VirtualHost *:1001>

 

Para accesar al nuevo url, debe de agregarse el puerto, de la sig. forma:

http://www.example.com:1001