miércoles, 11 de diciembre de 2013

Securización de CentOS/RedHat

 

Os dejo con un interesante video de "Security by default" de como securizar una instalación de SO CentOS, totalmente válido para Red Hat.

Saludos,

lunes, 2 de diciembre de 2013

lunes, 14 de octubre de 2013

Bienvenido systemd

Hola,

 estás semanas he estado repasando videos del pasado Red Hat Summit, mirando a ver que novedades tendría Red Hat 7 Enterprise Server. Los cambios serán notables y realmente necesarios. Hoy vamos a ver como funciona systemd. ¿Que es systemd? Es un sustituto del demonio init, demonio clásico donde los alla que ejecuta todos los scripts de inicio del sistema según el runlevel, etc, etc. Systemd es definido con un completo manager del sistema.

Systemd ha sido desarrollado por Lennart Poettering, desarrollador open source y actualmente desarrollador Senior en RedHat. En su web hay un gran repositorio de documentación sobre systemd.

Este nuevo demonio se ejecutará al inicio y llevará el control del proceso de arranque del sistema. Aquí podéis ver la diferencia en un pstree de los procesos del sistema, entre systemd a la izquierda y init clásico a la derecha:
 
Sus principales ventajas las podéis ver en esta tabla comparativa. Ira más allá que controlar el proceso de arranque, pudiendo llevar el control de los demonios arrancados, grupos de recursos, puntos de montaje, runlevel por defecto, cron, syslog, etc.

Sus elementos básicos son:
  • Servicios.
  • Socket.
  • Dispositivos.
  • Puntos de montaje.
  • Puntos de montaje automaticos.
  • Targets, conjunto de grupos de los anteriores recursos.
  • Snapshots, trata la configuración de sistema como un todo pudiendo establecer puntos parciales o totales de recuperación.
Un ejemplo:

Los runlevels se sustituyen por los target. Por ejemplo hasta ahora si queríamos arrancar en el runlevel 3 en vez de 5, lo modificavamos /etc/inittab. Ahora con systemd todos los ficheros de configuración están en /etc/systemd/system  y el runlevel por defecto es default.target que estará linkado al fichero de configuración del runlevel deseado:

[root@localhost system]# ls -ltrha
total 52K
lrwxrwxrwx.  1 root root   39 Jun 27 19:12 syslog.service -> /usr/lib/systemd/system/rsyslog.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 getty.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 default.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 graphical.target.wants
lrwxrwxrwx.  1 root root   41 Jun 27 19:12 dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 basic.target.wants
lrwxrwxrwx.  1 root root   44 Jun 27 19:12 dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 sysinit.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 sockets.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 printer.target.wants
lrwxrwxrwx.  1 root root   46 Jun 27 19:13 dbus-org.freedesktop.NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 system-update.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 spice-vdagentd.target.wants
lrwxrwxrwx.  1 root root   41 Jun 27 19:14 dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:14 bluetooth.target.wants
lrwxrwxrwx.  1 root root   35 Jun 27 19:14 display-manager.service -> /usr/lib/systemd/system/gdm.service
lrwxrwxrwx.  1 root root   37 Oct 10 11:00 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x.  4 root root 4.0K Oct 11 14:37 ..
lrwxrwxrwx.  1 root root   57 Oct 11 14:47 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
drwxr-xr-x. 13 root root 4.0K Oct 11 14:47 .
drwxr-xr-x.  2 root root 4.0K Oct 11 14:48 multi-user.target.wants
Aun siendo una nueva forma de configuración y control, se mantendrá la compatibilidad con las anteriores formas de gestión.

Sus comandos principales son:
  • systemctl, ver y controlar el estado de systemd.
  • systemd-cgls, muestra de forma jerárquica los grupos de de control.
También incluye una utilidad gráfica para su configuración systemadm.



Ya que la versión de Red Hat 7 EL la beta no está disponible (esta a punto de caer). Se puede realizar la pruebas con Fedora 19 que ya lo tiene implementado y 100% funcional. Ya sabéis que Fedora es un proyecto OpenSource donde participa Red Hat y los avances significativos en Fedora son finalmente implementados en Red Hat. 

Prácticamente todas las distribuciones han dado su aprobación a incluir systemd como su demonio de inicio por defecto, excepto Ubuntu que sigue apostando por su Upstart. Viendo la amplia aceptación de systemd, parece que se convertirá en el estándar de facto.


Os dejo la presentación se hizo en la ultima Summit de Red Hat:
Video de RedHat.

Presentación de Redhat.


Otro video:


Saludos, 


viernes, 11 de octubre de 2013

Configuración de Proxy en Red Hat

Hola,

 una rápida, como configurar el proxy de nuestro servidor y poder salir a internet para actualizar paquetes:

  1. Habilitando las siguiente variables en el shell del sistema.
    #proxy.sh
    export http_proxy=http://host.com:port/
    export ftp_proxy=http://host.com:port/
    export no_proxy=.domain.com
  2. Configurarlo en /etc/yum.conf.

    proxy
    URL of a proxy server including the port number.

    proxy_password
    Password for authentication with a proxy server.
    proxy_username
    User name for authentication with a proxy server.

domingo, 1 de septiembre de 2013

Liberar IPhone 3GS (Japonés)

Hola,

 ya mismo empieza de nuevo el curso. Antes de volver a tratar la materia voy a poner esta entrada un poco offtopic. Un amigo le han traido un Iphone 3GS de Japón y quiere liberarlo. El offtopic es relativo, ya que los productos de Apple en el fondo usan una versión de sistema (IOS) que se basa en una versión BSD que es UNIX.

Vamos a ver un procedimiento para hacer un jailbreak y posteriormente liberarlo para que nos permita conectar con cualquier proveedor. NOTA: Este procedimiento tiene sus riesgos si no se sabe lo que hace podeis estropear el telefono de forma irreversible. Aplicar el procedimiento bajo vuestra propia responsabilidad.

Lo primero es comprobar el modelo:
IPHONE 3GS
IOS 5.1.1
Baseband 5.16.05 (Firmware modem)
Antes de hacer nada comprobar el número de serie del telefono si el telefono es de fabricación posterior a las semana 34 del 2011 NO APLICARLO. ¿Como lo podemos saber?
Serial Number: 88943XXXXXX 

La tercera cifra nos indica el año y la cuarta y quinta la semana. Es decir nos encontramos ante un Iphone fabricado la semana 43 del 2009. Con lo cual entraria dentro de los modelos que se pueden liberar con este procedimiento. Es menor que los fabricados la semana 34 del 2011.

El nuestro tiene baseband 5.16.05, siguiendo el procedimiento lo subiremos a 6.15 y lo bajaremos a 5.13 que es el baseband necesario para liberarlo con la utilidad ultraSn0w.

Os pongo un video para que veais el procedimiento del Jailbreak:

 

Una vez bajado al baseband 5.13 vamos a Cydia e instalamos el UltraSn0w, el cual nos permitira poner la SIM de cualquier proveedor. 

 
Poner el MUTE. ;-)

Saludos!!

miércoles, 7 de agosto de 2013

CentOS Basic Installation

Hola,

 os pongo un vídeo de la instalación básica de CentOS. Como se suele decir una imagen vale más que mil palabras.




 Saludos!!


viernes, 19 de julio de 2013

Solaris boot devices

Hola,

 seguro que en todos o practicamente todos nuestros servidores Solaris tenemos el sistema en RAID 1 entre dos discos. Vamos a ver como comprobarlo y ver que el servidor arranca con el disco adecuado.

El hardware de Sparc de Solaris tiene una eeprom donde guarda los parametros de hardware y arranque del sistema. Algo parecido a la BIOS del PC, Sun en su momento le llamo Open Boot Prompt. Se pude acceder directamente a ella con "init 0" al finalizar veremos un el "ok" prompt que nos indicará que estamos en ella.

También podemos acceder a Open Boot Prompt des de el propio sistema operativo con el comando "eeprom".
root@myserver # eeprom
nvramrc=devalias mirrordisk /ssm@0,0/pci@18,600000/pci@1/scsi@2/disk@0,0
devalias rootdisk /ssm@0,0/pci@19,700000/pci@2/scsi@2/disk@0,0
devalias cdrom /ssm@0,0/pci@19,700000/pci@2/scsi@2/disk@6,0:f
network-boot-arguments: data not available.
secondary-diag?=false
auto-boot-timeout=512
scsi-initiator-id=7
powerfail-time=0
fcode-debug?=true
output-device=/sgcn
input-device=/sgcn
load-base=0x4000
boot-command=boot
auto-boot?=true
error-reset-recovery=sync
diag-file: data not available.
boot-file: data not available.
diag-device=disk diskifp diskglm diskc net
boot-device=rootdisk mirrordisk
local-mac-address?=false
ansi-terminal?=true
screen-#columns=80
screen-#rows=34
silent-mode?=false
use-nvramrc?=true
oem-logo: data not available.
oem-logo?=false
oem-banner: data not available.
oem-banner?=false
security-mode=none
security-password: data not available.
security-#badlogins: data not available.
hardware-revision: data not available.
last-hardware-update: data not available.
#power-cycles: data not available.
diag-switch?=false

Podemos ver todas la variables. Nos interesa ver el boot-device que és donde está el orden de arranque de los dispositivos. En nuestro ejemplo:
boot-device=rootdisk mirrordisk
Y los alias corresponden a los siguientes dispositivos:

mirrordisk /ssm@0,0/pci@18,600000/pci@1/scsi@2/disk@0,0
rootdisk /ssm@0,0/pci@19,700000/pci@2/scsi@2/disk@0,0

Bien ahora identificamos en que disco tenemos la partición "/" o root.

root@myserver(SunOS-5.10) # df -h /dev/md/dsk/d0
Filesystem             size   used  avail capacity  Mounted on
/dev/md/dsk/d0         9.6G   3.4G   6.2G    36%    /
Se encuentra en el dispositivo de raid /dev/md/dsk/d0. Vamos a ver su estado con metastat. También nos mostrara los devices.

root@myserver(SunOS-5.10) # metastat d0
d0: Mirror
    Submirror 0: d10
      State: Okay        
    Submirror 1: d20
      State: Okay        
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20494464 blocks (9.8 GB)

d10: Submirror of d0
    State: Okay        
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s0          0     No            Okay   Yes


d20: Submirror of d0
    State: Okay        
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c0t0d0s0          0     No            Okay   Yes


Device Relocation Information:
Device   Reloc  Device ID
c1t0d0   Yes    id1,sd@n5000cca0044105bf
c0t0d0   Yes    id1,sd@n5000cca0044105b3
Si hacemos un ls vemos la dirección del hardware:

root@suxb175(SunOS-5.10) # ls -ltra /dev/dsk/c0t0d0s0
lrwxrwxrwx   1 root     root          57 Jul 17  2008 /dev/dsk/c0t0d0s0 -> ../../devices/ssm@0,0/pci@18,600000/pci@1/scsi@2/sd@0,0:a
root@suxb175(SunOS-5.10) # ls -ltra /dev/dsk/c1t0d0s0
lrwxrwxrwx   1 root     root          57 Jul 17  2008 /dev/dsk/c1t0d0s0 -> ../../devices/ssm@0,0/pci@19,700000/pci@2/scsi@2/sd@0,0:a

Como podemos ver concuerdan con los alias.

Saludos!!