jueves, 27 de septiembre de 2012

Creacion y configuracion de Zonas en Solaris

1- Paquetes necesarios :
SUNWcakr.i
SUNWcar.i
SUNWckr
SUNWcnetr
SUNWcsd
SUNWcsl
SUNWcsr
SUNWcsu
SUNWkvm.i
SUNWlucfg
SUNWlur
SUNWluu
SUNWluzone
SUNWlxml
SUNWpool
SUNWpoolr
SUNWtecla
SUNWtsg
SUNWzfsu
SUNWzoner
SUNWzoneu
SUNWzoneu

2- Activar el servicio
Para que nuestras zonas arranquen cuando se reinicie la máquina ejecutamos:
#svcadm enable zones

3- Crear la zona  

bash-3.00# zonecfg -z oaszone
zonecfg:oaszone> create

4- Definicion de la ruta de acceso 

zonecfg:oaszone> set zonepath=/zonas/oaszone

5- Configuramos su interface ethernet 

zonecfg:oaszone> add net
zonecfg:oaszone:net> set address=192.168.236.11/24

zonecfg:oaszone:net> set physical=bnx252001
zonecfg:oaszone:net> set defrouter=192.12.236.1
zonecfg:oaszone:net> end

6- Permitimos que bootee automaticamente 

zonecfg:oaszone> set autoboot=true

7- Definimos la cantidad cpu que utilizara la zona  

zonecfg:myzone> add capped-cpu
zonecfg:myzone>capped-cpu> set ncpus=4
zonecfg:myzone>capped-cpu>capped-cpu> end

8- Hacemos lo mismo con la cantidad de memoria ram 

zonecfg:oaszone> add capped-memory
zonecfg:oaszone:capped-memory> set physical=8G
zonecfg:oaszone:capped-memory> end

9- "Compilamos " los cambios realizados 

zonecfg:oaszone> commit
zonecfg:oaszone> exit

10- Creamos el directorio donde de estara la zona en la zona no global  

mkdir /zonas/oaszone

11- Asignamos los permisos recomendados al path creado 

chmod 700 /zonas/oaszone/

12- Verificamos las configuraciones hechas para la zona creada 

zoneadm -z oaszone verify

13- Instalamos la zona  

zoneadm -z oaszone install

14- Iniciamos la zona creada 

zoneadm -z oaszone boot

15- Informacion acerca de la zona 

zonecfg:oaszone> info

16- Ingreso a la zona 

zlogin -C oaszone

17- Creacion - adicion de un file system solo a la zona creada 

VER : http://www.infochotos.com/2012/07/linuxunixcomo-agregar-disco-duro-nuevo.html

18- Eliminar el filesystem de una zona en particular  

zonecfg:oaszone> remove fs dir=/u01

viernes, 10 de agosto de 2012

Configurar interfax ethernet en LINUX


Para CENTOS , RED HAT , FEDORA:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Digital Equipment Corporation DECchip 21140 [FasterNet]
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:15:5d:0a:46:20
BROADCAST=192.168.x.x
IPADDR=192.168.x.x
NETMASK=255.255.255.192
NETWORK=192.168.x.0
TYPE=Ethernet
GATEWAY=192.168.x.1


Para OPEN SUSE , SUSE :
[root@localhost ~]# cat /etc/sysconfig/network/ifcfg-eth0
BOOTPROTO='static'
BROADCAST='192.168.250.255'
ETHTOOL_OPTIONS=''
IPADDR='192.168.250.100'
MTU='1500'
NAME='Broadcom NetXtreme II BCM5708 Gigabit Ethernet'
NETMASK='255.255.255.0'
NETWORK='192.168.250.0'
REMOTE_IPADDR=''
STARTMODE='auto'
UNIQUE='JNkJ.swy66v437tA'
USERCONTROL='no'
_nm_name='bus-pci-0000:03:00.0'
GATEWAY='192.168.250.1'

Para DEBIAN y derivados :

Editar el archivo /etc/network/interfaces que define las interfases de red :
[root@localhost ~]# vi /etc/network/interfaces
Mostraría mas o menos lo siguiente :
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.100.10
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 192.168.100.1

Reiniciamos la interfaz y ya nos deberia funcionar correctamente:
[root@localhost ~]#/etc/init.d/networking restart

Configurar servidores dns
[root@localhost ~]#cat /etc/resolv.conf
nameserver 192.168.x.x
nameserver 192.168.x.x
search localdomain

viernes, 3 de agosto de 2012

Comandos Magicos para que el Solaris reconozca un nuevo disco sin reiniciar el equipo


Comando mágico 1  : cfgadm -al
Comando mágico 2  : devfsadm -Vc

Correrlos de acuerdo a este orden y les aseguro que los discos o lun´s de storages que agregaron a su servidor seran reconocidos sin la necesidad de reiniciarlo , salvandonos de bajar instancias de bd o servicios que corrian .

lunes, 30 de julio de 2012

Apagar , reiniciar y desinstalar Zonas en Solaris

Apagar Zonas


1. Ver las zonas que corren en nuestro sistema :

zonaglobal# zoneadm list -v
ID NAME STATUS PATH BRAND IP

0 zonaglobal running / native shared

1 my-zone running /export/home/my-zone native shared


2. Apagamos la zona con el comando halt :

zonaglobal# zoneadm -z my-zone halt


3. La iniciamos de vuelta :
zonaglobal# zoneadm -z my-zone boot

Reiniciar Zonas


1. Ver las zonas que corren en nuestro sistema.
zonaglobal# zoneadm list -v
ID NAME STATUS PATH BRAND IP
0 zonaglobal running / native shared
1 my-zone running /export/home/my-zone native shared

2. Reiniciamos con el comando reboot

zonaglobal# zoneadm -z my-zone reboot

3. Vemos las zonas que corren en nuestro sistema para verificar que my-zone fue reiniciada:
zonaglobal# zoneadm list -v

ID NAME STATUS PATH BRAND IP

0 zonaglobal running / native shared

2 my-zone running /export/home/my-zone native shared

OBS : Notese que el ID de la zona my-zone ha cambiado . Esto generalmente sucede luego de reinciarla.


Desinstalar Zonas

1. Ver las zonas que corren en nuestro sistema.
zonaglobal# zoneadm list -v
ID NAME STATUS PATH BRAND IP
0 zonaglobal running / native shared
1 my-zone running /export/home/my-zone native shared

2. Desinstalamos la zona con el comando uninstall
global# zoneadm -z my-zone uninstall -F
El comando -F lo usamos para forzar la desinstalacion de la zona .

3. Vemos las zonas que corren en nuestro sistema para verificar que my-zone fue desinstalada:
zonaglobal# zoneadm list -v

ID NAME STATUS PATH BRAND IP

0 global running / native shared

Agregar disco duro nuevo a una ZONA de Solaris


DESDE LA ZONA GLOBAL

1) Chequeamos que el nuevo disco sea reconocido:

#cfgadm -al
#devfsadm

2) Notamos que hay un nuevo disco en otro bus :
# ls /dev/rdsk/*s0
/dev/rdsk/c0t0d0s0 /dev/rdsk/c1t0d0s0 /dev/rdsk/c0t60060E80104643C004F2B7EC00000023d0s0

3) Empezamos con el formateo del nuevo disco (incluyendo la creacion de particiones):
# format
Searching for disks…done

AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@0,0/pci1000,30@10/sd@0,0
1. c0t60060E80104643C004F2B7EC00000023d0
/pci@0,0/pci1000,30@10/sd@1,0
Specify disk (enter its number):

4) Seleccionamos el disco con la opcion 1, el cual es el nuevo disco adicionado . Es posible que el disco sea preformateado en algunos casos , al tipear ENTER.

selecting c0t60060E80104643C004F2B7EC00000023d0
[disk formatted]

5) Con el comando fdisk crearemos la partición que precisemos, por defecto al tipear "y" crea un partición Solaris por default , lo cual hacemos a continuación.
#format> fdisk
No fdisk table exists. The default partition for the disk is:
a 100% “SOLARIS System” partition

Type “y” to accept the default partition, otherwise type “n” to edit the
partition table.
y

4) Entramos en el submenu del modulo format llamado partition :
format> partition

5) Imprimimos la partition existente:

partition> print
Current partition table (original):
Total disk cylinders available: 1020 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 – 1020 5.99GB (1021/0/0) 4182016
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 – 0 2.00MB (1/0/0) 4096
9 unassigned wm 0 0 (0/0/0) 0

6) Seleccionamos la particion donde queremos asignar nuestro disco (tamaño total o particionado) :
partition> 0
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0

Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 1
Enter partition size[0b, 0c, 1e, 0.00mb, 0.00gb]: 1019c

7) Imprimiendo la tabla de particiones de vuelta vemos los cambios hechos :

partition> print
Current partition table (unnamed):
Total disk cylinders available: 1020 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 unassigned wm 1 – 1019 1.99GB (1019/0/0) 4173824
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 – 1020 1.99GB (1021/0/0) 4182016
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 – 0 2.00MB (1/0/0) 4096
9 unassigned wm 0 0 (0/0/0) 0

8) Guardamos los cambios escribiendo label en el disco:

partition> label
Ready to label disk, continue? y

9 ) Salimos del submenu partition y del modulo format

partition> quit
format> quit
#

10 ) Creamos el sistema de archivos , en este caso UFS.

# newfs /dev/rdsk/c0t60060E80104643C004F2B7EC00000023d0s0
newfs: construct a new file system /dev/rdsk/c1t1d0s0: (y/n)? y
/dev/rdsk/c1t1d0s0: 4173824 sectors in 1019 cylinders of 128 tracks, 32 sectors
2038.0MB in 45 cyl groups (23 c/g, 46.00MB/g, 11264 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 94272, 188512, 282752, 376992, 471232, 565472, 659712, 753952, 848192,
3298432, 3392672, 3486912, 3581152, 3675392, 3769632, 3863872, 3958112,
4052352, 4146592

11 ) Verificamos que el nuevo filesystem este limpio :

# fsck /dev/rdsk/c1t1d0s0
** /dev/rdsk/c1t1d0s0
** Last Mounted on
** Phase 1 – Check Blocks and Sizes
** Phase 2 – Check Pathnames
** Phase 3a – Check Connectivity
** Phase 3b – Verify Shadows/ACLs
** Phase 4 – Check Reference Counts
** Phase 5 – Check Cylinder Groups
2 files, 9 used, 2020758 free (14 frags, 252593 blocks, 0.0% fragmentation)

OBS :Como esto lo hacemos desde la zona global , no existe la necesidad de agregar la linea del Nuevo disco en el etc/vfstab


DESDE NUESTRA ZONA

12 ) Ingresamos a la zona donde queremos agregar el nuevo disco :

zonecfg -z <nombre zona>

zonecfg:my-zone> add fs

zonecfg:my-zone:fs> set dir=/data  ----->> Directorio donde se montara el disco

zonecfg:my-zone:fs> set special=/dev/dsk/c0t60060E80104643C004F2B7EC00000023d0s0

zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t60060E80104643C004F2B7EC00000023d0s0

zonecfg:my-zone:fs> set type=ufs

zonecfg:my-zone:fs> end

zonecfg:my-zone>commit

zonecfg:my-zone>exit

13) Reiniciamos la zona y después verificamos que el nuevo filesystem aparezca con df –h :

zoneadm -z my-zone reboot

viernes, 20 de julio de 2012

Configuracion de cliente pppoe en router cisco 861

interface FastEthernet4 (Interface Wan)
 no ip address
 duplex full
 speed 100
 pppoe-client dial-pool-number 1 pppoe enable

interface Dialer1 (Interface virtual creada para la conexion pppoe)
 ip address negotiated (en caso de que el proveedor nos asigne ip´s dinamicas , caso contrario asignar la ip brindada)
 ip mtu 1492
 encapsulation ppp
 dialer pool 1
 dialer idle-timeout 0
 dialer persistent
 dialer-group 1
 ppp authentication chap pap callin
 ppp chap hostname <HOSTNAME QUE TE DA EL PROVEEDOR>
 ppp chap password 0 <PASSWORD DADO POR EL PROVEEDOR>
 ppp pap sent-username <HOSTNAME> password 0 <PASSWORD>
 no cdp enable

ip route 0.0.0.0 0.0.0.0 Dialer1 (creamos una ruta por defecto que saque todo el trafico del router a traves de nuestra interfaz pppoe)

dialer-list 1 protocol ip permit (creamos una acl que permita todo el trafico ip por el enlace pppoe)
ip name-server X.X.X.X
ip name-server X.X.X.X


lunes, 9 de julio de 2012

Agregar ruta por defecto en Solaris

Agregando ruta por defecto en solaris es muy sencillo. Si tratamos de agregar solo una ruta temporalmente lo hacemos con el siguiente comando . El mismo se borrara al reiniciarse el equipo :

Ejemplo: route add default 192.168.1.1

Si queremos que la ruta sea persistente al reiniciar el sistema , debemos agregar una ruta en el archivo /etc/defaulrouter :

Ejemplo: echo 192.168.1.1 > /etc/defaultrouter

martes, 3 de julio de 2012

Instalar y configurar VNCServer en CentOS , RHEL y Fedora


La instalación de un servidor vnc en sistemas CentOS, Fedora y Red Hat es muy sencilla. Gracias a la instalación de este servicio podremos conectarnos a la máquina de forma remota y con entorno gráfico con un cliente vnc o con el propio visor de escritorio remoto de Linux (Vinagre en Ubuntu).

En primera instancia, procedemos a la instalación vía yum del servidor vnc:
yum install vnc-server

Una vez finalizada, hemos de retocar el fichero de configuración “/etc/sysconfig/vncservers”, en el que definimos los usuarios a los que vamos a permitir conectar remotamente y las preferencias de sus conexiones. En el siguiente ejemplo permitimos la conexión al usuario “alex”, con una resolución de pantalla de 1024×768:
# vim /etc/sysconfig/vncservers

VNCSERVERS="1:alex"
VNCSERVERARGS[1]="-geometry 1024x768"

Si quisieramos tener múltiples usuarios:
VNCSERVERS="1:alex 2:pepe 3:laura"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 640x480"
VNCSERVERARGS[3]="-geometry 800x600"

Ahora hemos de asignar una clave a cada uno de los usuarios vnc. Debemos loguearnos con cada usuario en la shell y ejecutar el siguiente comando:
vncpasswd

Finalmente arrancamos vnc-server como root:
service vncserver start

Por defecto se configura para que arranque automáticamente, pero por si acaso:
chkconfig vncserver on

Ahora ya podemos conectarnos desde un cliente VNC o el visor de escritorios remotos de Linux. El puerto a utilizar es el 5900 + el número de pantalla asignado (es el ID asignado en el fichero vncservers, 1:alex 2:pepe 3:laura…), alex sería el 5901, pepe el 5902, etc.
Un punto a tener en cuenta, si accedéis por VNC y no entráis con el gestor de ventanas Gnome, editad el fichero de configuración del usuario (~/.vnc/xstartup) y cambiad la referencia a “twm” por “gnome-session”
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &  # Esto cambialo por exec gnome-session

jueves, 31 de mayo de 2012

Comprimir y descomprimir tipos de archivo (rar,gzip,zip,tar,tar.gz,bz2, lha, zoo) en LINUX



.tar (tar)
Empaquetartar cvf archivo.tar /archivo/mayo/*
Desempaquetartar xvf archivo.tar
Ver el contenido (sin extraer)tar tvf archivo.tar
.tar.gz – .tar.z – .tgz (tar con gzip)
Empaquetar y comprimirtar czvf archivo.tar.gz /archivo/mayo/*
Desempaquetar y descomprimirtar xzvf archivo.tar.gz
Ver el contenido (sin extraer)tar tzvf archivo.tar.gz
.gz (gzip)
Comprimirgzip -q archivo
(El archivo lo comprime y lo renombra como “archivo.gz”)
Descomprimirgzip -d archivo.gz
(El archivo lo descomprime y lo deja como “archivo”
Nota: gzip solo comprime archivos, no directorios
.bz2 (bzip2)
Comprimirbzip2 archivo
bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2″)
Descomprimirbzip2 -d archivo.bz2
bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)
Nota: bzip2 solo comprime archivos, no directorios
.tar.bz2 (tar con bzip2)
Comprimirtar -c archivos | bzip2 > archivo.tar.bz2
Descomprimirbzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf archivo.tar.bz2 (versiones recientes de tar)
Ver contenidobzip2 -dc archivo.tar.bz2 | tar -tv
.zip (zip)
Comprimirzip archivo.zip /mayo/archivos
Descomprimirunzip archivo.zip
Ver contenidounzip -v archivo.zip
.lha (lha)
Comprimirlha archivo.lha /mayo/archivos
Descomprimirlha -x archivo.lha
Ver contenidolha -v archivo.lha
lha -l archivo.lha
.zoo (zoo)
Comprimirzoo -a archivo.zoo /mayo/archivos
Descomprimirzoo -x archivo.zoo
Ver contenidozoo -v archivo.zoo
zoo -L archivo.zoo
.rar (rar)
Comprimirrar -a archivo.rar /mayo/archivos
Descomprimirrar -x archivo.rar
Ver contenidorar -v archivo.rar
rar -l archivo.rar

viernes, 18 de mayo de 2012

Solaris.Como encontrar el wwn (World Wide Name) de los hba´s conectados

Linux.Unix.Como encontrar el wwn (World Wide Name) de los hba´s conectados en Solaris

World Wide Name (WWN) are unique 8 byte (64-bit) identifiers in SCSI or fibre channel similar to that of MAC Addresses on a Network Interface Card (NIC).

Talking about the WWN names, there are also
World Wide port Name (WWpN), a WWN assigned to a port on a Fabric which is what you would be looking for most of the time.

World Wide node Name (WWnN), a WWN assigned to a node/device on a Fibre Channel fabric.
To find the WWN numbers of your HBA card in Sun Solaris, you can use one the following procedures

Using fcinfo (Solaris 10 only)
This is probably the easiest way to find the WWN numbers on your HBA card. Here you can see the HBA Port WWN (WWpN) and the Node WWN (WWnN) of the two ports on the installed Qlogic HAB card.

This is also useful in finding the Model number, Firmwar version FCode, supported and current speeds and the port status of the HBA card/port.

 root@ sunserver:/root# fcinfo hba-port | grep WWN
HBA Port WWN: 2100001b32xxxxxx
Node WWN: 2000001b32xxxxxx
HBA Port WWN: 2101001b32yyyyyy
Node WWN: 2001001b32yyyyyy

For detailed info including Make & model number, Firmware, Fcode and current status and supported/current speeds then

root@ sunserver:/root# fcinfo hba-port
HBA Port WWN: 2100001b32xxxxxx
OS Device Name: /dev/cfg/c2
Manufacturer: QLogic Corp.
Model: 375-3356-02
Firmware Version: 4.04.01
FCode/BIOS Version: BIOS: 1.24; fcode: 1.24; EFI: 1.8;
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 2000001b32xxxxxx
HBA Port WWN: 2101001b32yyyyyy
OS Device Name: /dev/cfg/c3
Manufacturer: QLogic Corp.
Model: 375-3356-02
Firmware Version: 4.04.01
FCode/BIOS Version: BIOS: 1.24; fcode: 1.24; EFI: 1.8;
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 2001001b32yyyyyy

Using scli
root@ sunserver:/root# scli -i | egrep “Node Name|Port Name”
Node Name : 20-00-00-1B-32-XX-XX-XX
Port Name : 21-00-00-1B-32-XX-XX-XX
Node Name : 20-01-00-1B-32-YY-YY-YY
Port Name : 21-01-00-1B-32-YY-YY-YY

For more detailed info on the HBA Cards run as follows: Similar to fcinfo but also provides Model Name and serial number.

root@ sunserver:/root# scli -i
——————————————————————————
Host Name : sunserver
HBA Model : QLE2462
HBA Alias :
Port : 1
Port Alias :
Node Name : 20-00-00-1B-32-XX-XX-XX
Port Name : 21-00-00-1B-32-XX-XX-XX
Port ID : 11-22-33
Serial Number : AAAAAAA-bbbbbbbbbb
Driver Version : qlc-20080514-2.28
FCode Version : 1.24
Firmware Version : 4.04.01
HBA Instance : 2
OS Instance : 2
HBA ID : 2-QLE2462
OptionROM BIOS Version : 1.24
OptionROM FCode Version : 1.24
OptionROM EFI Version : 1.08
OptionROM Firmware Version : 4.00.26
Actual Connection Mode : Point to Point
Actual Data Rate : 2 Gbps
PortType (Topology) : NPort
Total Number of Devices : 2
HBA Status : Online
——————————————————————————
Host Name : sunserver
HBA Model : QLE2462
HBA Alias :
Port : 2
Port Alias :
Node Name : 20-01-00-1B-32-YY-YY-YY
Port Name : 21-01-00-1B-32-YY-YY-YY
Port ID : 00-00-00
Serial Number : AAAAAAA-bbbbbbbbbb
Driver Version : qlc-20080514-2.28
FCode Version : 1.24
Firmware Version : 4.04.01
HBA Instance : 3
OS Instance : 3
HBA ID : 3-QLE2462
OptionROM BIOS Version : 1.24
OptionROM FCode Version : 1.24
OptionROM EFI Version : 1.08
OptionROM Firmware Version : 4.00.26
Actual Connection Mode : Unknown
Actual Data Rate : Unknown
PortType (Topology) : Unidentified
Total Number of Devices : 0
HBA Status : Loop down



Using prtconf


root@ sunserver:/root# prtconf -vp | grep -i wwn
port-wwn: 2100001b.32xxxxxx
node-wwn: 2000001b.32xxxxxx
port-wwn: 2101001b.32yyyyyy
node-wwn: 2001001b.32yyyyyy

Using prtpicl


root@ sunserver:/root# prtpicl -v | grep wwn
:node-wwn 20 00 00 1b 32 xx xx xx
:port-wwn 21 00 00 1b 32 xx xx xx
:node-wwn 20 01 00 1b 32 yy yy yy
:port-wwn 21 01 00 1b 32 yy yy yy



Using luxadm

Run the following command to obtain the physical path to the HBA Ports


root@ sunserver:/root$ luxadm -e port
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl CONNECTED
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:devctl NOT CONNECTED



With the physical path obtained from the above command, we can trace the WWN numbers as follows. here I use the physical path to the one that is connected:


root@ sunserver:/root$ luxadm -e dump_map /devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl
Pos Port_ID Hard_Addr Port WWN Node WWN Type
0 123456 0 1111111111111111 2222222222222222 0×0 (Disk device)
1 789123 0 1111111111111111 2222222222222222 0×0 (Disk device)
2 453789 0 2100001b32xxxxxx 2000001b32xxxxxx 0x1f (Unknown Type,Host Bus Adapter)

jueves, 22 de marzo de 2012

How to Log In to a Remote Host With Solaris Secure Shell



  1. Start a Solaris Secure Shell session.
    Type the ssh command, and specify the name of the remote host.

    myLocalHost% ssh myRemoteHost
    
    A prompt questions the authenticity of the remote host:

    The authenticity of host 'myRemoteHost' can't be established.
    RSA key fingerprint in md5 is: 04:9f:bd:fc:3d:3e:d2:e7:49:fd:6e:18:4f:9c:26
    Are you sure you want to continue connecting(yes/no)? 
    This prompt is normal for initial connections to remote hosts.
  2. If prompted, verify the authenticity of the remote host key.
    • If you cannot confirm the authenticity of the remote host, type no and contact your system administrator.

      Are you sure you want to continue connecting(yes/no)? no
      
      The administrator is responsible for updating the global /etc/ssh/ssh_known_hosts file. An updated ssh_known_hosts file prevents this prompt from appearing.
    • If you confirm the authenticity of the remote host, answer the prompt and continue to the next step.

      Are you sure you want to continue connecting(yes/no)? yes
      
  3. Authenticate yourself to Solaris Secure Shell.
    1. When prompted, type your passphrase.

      Enter passphrase for key '/home/jdoe/.ssh/id_rsa': <Type passphrase>
      
    2. When prompted, type your account password.

      jdoe@myRemoteHost's password: <Type password>
      Last login: Fri Jul 20 14:24:10 2001 from myLocalHost
      myRemoteHost%
  4. Conduct transactions on the remote host.
    The commands that you send are encrypted. Any responses that you receive are encrypted.
  5. Close the Solaris Secure Shell connection.
    When you are finished, type exit or use your usual method for exiting your shell.

    myRemoteHost% exit
    myRemoteHost% logout
    Connection to myRemoteHost closed
    myLocalHost%

How to Generate a Public/Private Key Pair for Use With Solaris Secure Shell

Users must generate a public/private key pair when their site implements host-based authentication or user public-key authentication. For additional options, see the ssh-keygen(1) man page.
Before You Begin
Determine from your system administrator if host-based authentication is configured.

  1. Start the key generation program.

    myLocalHost% ssh-keygen -t rsa
    Generating public/private rsa key pair.
    …
    where -t is the type of algorithm, one of rsadsa, or rsa1.
  2. Specify the path to the file that will hold the key.
    By default, the file name id_rsa, which represents an RSA v2 key, appears in parentheses. You can select this file by pressing theReturn key. Or, you can type an alternative file name.

    Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<Press Return>
    
    The file name of the public key is created automatically by appending the string .pub to the name of the private key file.
  3. Type a passphrase for using your key.
    This passphrase is used for encrypting your private key. A null entry is strongly discouraged. Note that the passphrase is not displayed when you type it in.

    Enter passphrase (empty for no passphrase): <Type passphrase>
    
  4. Retype the passphrase to confirm it.

    Enter same passphrase again: <Type passphrase>
    Your identification has been saved in /home/jdoe/.ssh/id_rsa.
    Your public key has been saved in /home/jdoe/.ssh/id_rsa.pub.
    The key fingerprint is:
    0e:fb:3d:57:71:73:bf:58:b8:eb:f3:a3:aa:df:e0:d1 jdoe@myLocalHost
  5. Check the results.
    Check that the path to the key file is correct.

    % ls ~/.ssh
    id_rsa
    id_rsa.pub
    At this point, you have created a public/private key pair.
  6. Choose the appropriate option:
    • If your administrator has configured host-based authentication, you might need to copy the local host's public key to the remote host.
      You can now log in to the remote host. For details, see How to Log In to a Remote Host With Solaris Secure Shell.
      1. Type the command on one line with no backslash.

        % cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> ~./ssh/known_hosts && echo "Host key copied"'
        
      2. When you are prompted, supply your login password.

        Enter password: <Type password>
        Host key copied
        %
    • If your site uses user authentication with public keys, populate your authorized_keys file on the remote host.
      1. Copy your public key to the remote host.
        Type the command on one line with no backslash.

        myLocalHost% cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost \
        'cat >> .ssh/authorized_keys && echo "Key copied"'
        
      2. When you are prompted, supply your login password.
        When the file is copied, the message “Key copied” is displayed.

        Enter password: Type login password
        Key copied
        myLocalHost%
  7. (Optional) Reduce the prompting for passphrases.
    For a procedure, see How to Reduce Password Prompts in Solaris Secure Shell. For more information, see the ssh-agent(1) and ssh-add(1) man pages.


Example 19–2 Establishing a v1 RSA Key for a User

In the following example, the user can contact hosts that run v1 of the Solaris Secure Shell protocol. To be authenticated by v1 hosts, the user creates a v1 key, then copies the public key portion to the remote host.

myLocalHost% ssh-keygen -t rsa1 -f /home/jdoe/.ssh/identity
Generating public/private rsa key pair.
…
Enter passphrase (empty for no passphrase): <Type passphrase>
Enter same passphrase again: <Type passphrase>
Your identification has been saved in /home/jdoe/.ssh/identity.
Your public key has been saved in /home/jdoe/.ssh/identity.pub.
The key fingerprint is:
…
myLocalHost% ls ~/.ssh
id_rsa
id_rsa.pub
identity
identity.pub
myLocalHost% cat $HOME/.ssh/identity.pub | ssh myRemoteHost \
'cat >> .ssh/authorized_keys && echo "Key copied"'

viernes, 16 de marzo de 2012

Ficheros para configuración de red en Solaris

Cuando configuramos los parámetros de red en Solaris, lo hacemos mediante línea de comandos. Pero para que los cambios perduren después del reinicio de la máquina hay que volcar los datos en ficheros de configuración.


En este artículo explicaremos los diferentes ficheros de configuración de red de Solaris.


/etc/hostname.interface

Define el hostname que tendrá cada interfaz de red.


/etc/nodename

Contiene el hostname local del equipo.


/etc/defaultdomain

Contiene el nombre del dominio del equipo.


/etc/defaultrouter

Contiene la puerta de enlace por defecto.


/etc/inet/hosts

Contiene la resolución IP/host. Tiene un softlink en el fichero /etc/hosts.

/etc/inet/netmasks

Contiene la máscara de red de cada IP.

viernes, 24 de febrero de 2012

Redes.10 pautas para ser un buen Administrador de Sistemas

Reglas de oro para el administrador de sistemas
Me ha encantado este artículo de Unix Craft, así que voy a traducirlo/adaptarlo (+-) por encima porque sé que puede resultar interesante.

1. Haz las cosas fáciles.
En el mundo de la administración de sistemas, siempre hay varias formas de resolver un problema o realizar una tarea. Es bueno averiguar todas las formas posibles de abordar una tarea, tanto las complejas como las simples, pero a la hora de realizarla es siempre preferible hacerlo lo más sencillo posible.

2. Realiza copias de seguridad (Backups) periódicamente.
Para un momento a pensar si tienes copias de seguridad de todas las cosas realmente importantes tanto de tus servidores, proyectos personales, ordenador en el que trabajas regularmente… En caso contrario, deja cualquier cosa y haz backups de todo cuanto antes.
Nunca se sabe cuando puede haber un fallo en una máquina y que provoque que el trabajo de mucho tiempo se vaya al traste. Por ello es indispensable mantener copias regulares de toda información relevante e importante. Tarde o temprano te sucederá y desearas tener un backup de los datos perdidos para evitar cualquier catástrofe.


3. Comprueba tus copias de seguridad (Backups) regularmente.
De nada sirve hacer copias de seguridad periódicas si no comprobamos que cuando las necesitemos van a cumplir su función. Planifica comprobaciones de backups periódicamente para verificar que se realizan correctamente y en caso de desastre serán de utilidad.

4. Monitorización.
Una buena monitorización de las máquinas que un administrador de sistemas ha de supervisar es el mejor modo de adelantarte (en la medida de lo posible) a quejas de clientes, usuarios, etc sobre fallos del servicio. Así mismo, hará tu trabajo muchísimo más fácil teniendo controlado en todo momento tus redes, servidores, recursos, etc.

5. Documentación.
Los administradores de sistemas deberían documentar todo lo que realizan en sus sistemas, aunque realmente es prácticamente imposible. No obstante conviene tener una bitácora o base de datos en la que almacenar toda la información relacionada con tareas realizadas, solución a problemas que se han presentado, puede ser muy útil en infinidad de situaciones.
Se destacan los siguientes motivos para documentar:
No aprender lo mismo dos veces. A quíen no le ha pasado de arreglar algo, dejarlo pasar, presentarse el mismo fallo al tiempo y no recordar como ha sido solucionado.
En caso de que alguien ocupe tu puesto durante un tiempo (ya sea por vacaciones o cualquier otro motivo) o tengas un empleado a tu cargo, tendrá información clara y concisa sobre como solventar problemas comunes, situaciones críticas, etc.
Compartir conocimiento es bueno, y en el campo (tan sumamente amplio) de la administración de sistemas mucho más.
No malgastes toda la RAM de tu cerebro recordando todo, descarga esa información a un fichero de texto para liberar memoria ;)

6. Planificación y estructuración.
Cuando estés realizando una tarea, manten un orden y planifica cada uno de los pasos a realizar. Esto te ayudará a prevenir los posibles riesgos de cada uno de los pasos y las opciones para evitarlos, solventarlos en caso de que ocurran, etc.

7. Usa más la línea de comandos, y menos la GUI.
Los motivos son muy simples, la línea de comandos suele ser muchísimo más rápida que las interfaces gráficas. Normalmente las GUI evitan que se comprenda el funcionamiento total del sistema, y no hay duda que para tareas repetitivas es lo más rápido y preciso. Decir por supuesto que es mucho más divertido.

8. Automatiza tareas repetitivas.
Sin duda uno de los puntos más importantes. En el momento que veas que diariamente tienes que hacer una tarea una y otra vez, programa un script o una tarea para que se ejecute de forma automática. Te ahorrará tiempo y evitará perder un valioso tiempo con tareas de “monos” que puede usarse para cosas más interesantes.

9. Ayuda a los usuarios y clientes de tus sistemas.
Puede resultar frustrante tener que explicar el funcionamiento de un sistema o la solución de un problema a un cliente con pocas nociones informáticas. Lo ideal es explicar a los usuarios en términos no técnicos cual es el problema, y como ha sido solucionado, para que comprendan que no se ha tratado de un fallo del propio sistema (suele suceder), y que debe revisarse por ejemplo la programación de una aplicación para no alterar el correcto funcionamiento del servicio.

10. Sigue aprendiendo y disfrutando.
No hay duda de que la mayoría de administradores de sistemas disfrutan muchísimo de su trabajo. Esa es la ídea, seguir disfrutando día a día y aprendiendo con ilusión, pues es un trabajo en constante evolución

Fuente : http://rm-rf.es/10-pautas-para-ser-un-buen-administrador-de-sistemas/

CheckPoint.Recover a lost root password



I wrote this procedure last year after losing the both the shell and expert password on the SPLAT NGx R65 box. This procedure has been tested on both R65 many times in production environment by myself without losing any configurations. Here it is:

#1: boot up with CentOS 5.3, 5.4 or 5.5 CD #1 (DVD will work just as well) iso. You can do this from the IBM RSA Rack (aka ILOM) or DELL DRAC card if you have one. Go to "F5" to for rescue, then enter "linux rescue"

#2: do not need to active network connecvitity, just follow the default, this will take you directly to the # prompt.

#3: mkdir /checkpoint

#4 mount /dev/sda7 /checkpoint

#5: mount /dev/sda1 /checkpoint/boot

#6: chroot /checkpoint

#7: /bin/expert_password (change your expert password here)

#8: \passwd admin (change admin password cpshell here)

#9: reboot the box

Please keep this procedure handy

Windows.Combinar una instantánea con su archivo .vhd

Discos diferenciales son aquellos que acumulan las diferencias respecto a un padre. Un disco padre, puede tener diferentes discos diferenciales y estos estar asociados a diferentes máquinas virtuales, un ejemplo para entender todo esto, podría ser:

Tenemos un disco con Windows XP al que declaramos como padre y guardamos en una carpeta con permisos de solo lectura, creamos un disco diferencial conectado a este padre que asociamos a una máquina virtual en la que instalamos el sp2. Creamos otro disco duro diferencial conectado a este padre que asociamos a una máquina virtual en la que instalamos sp3. Ahora tenemos dos máquinas virtuales, una con xp sp2 y otra con xp sp3 para que nuestros desarrolladores prueben sus programas. No entro a detallar buenas prácticas en entornos de este tipo, pero raudos y veloces seguro que habéis pensado que el rendimiento del raid donde almacenamos el disco padre, afecta al rendimiento de las VM asociadas a los discos hijos.

Una vez tenemos discos padres y discos diferenciales o hijos, podemos realizar una combinación de ambos poniendo como origen del diferencial el mismo disco padre o crear un tercer disco con la combinación de estos dos. Muy a tener en cuenta esto en el anterior ejemplo, ya que la combinación de un disco padre con el disco hijo, podría afectar a la segunda máquina virtual (atención a esto para el tema que nos ocupa en el artículo).

Entramos en materia.

Dicho todo esto, es cuando podemos decir que una instantánea de una máquina virtual, no es más que un disco diferencial de crecimiento dinámico por cada disco .vhd que contiene la VM, almacenado por defecto en la carpeta “snapshots” que hay en de cada VM, a no ser que cambiemos esta ruta en la consola de administración de hyper-v. Un aspecto importante que tenemos que conocer, es que las snapshots, a pesar de tener una estructura exactamente igual a los discos diferenciales, tienen una extensión .avhd.

Seguro que habéis deducido que esto de las instantáneas no es una maravilla, sobre todo si hacéis una y dejáis el sistema trabajando con ese disco diferencial de crecimiento dinámico.

Por tanto, toca decir que no se recomienda trabajar con snapshots/instantáneas en producción, peeero, me arriesgo a apuntar que si conocemos el funcionamiento interno de esta tecnología, podríamos aventurarnos a utilizarlas y aprovechar su potencial, siempre y cuando repito, conozcamos hasta el último detalle sus pros y sus contras (Alguien me va a matar por esto).

Con cada Snapshot o Instantánea creada en cada VM se crea un disco diferencial asociado a un padre que es un .vhd de la máquina virtual. Podemos ver en el archivo .xml de una máquina virtual, el nombre de cada archivo .avhd de cada disco de cada snapshot nuestra máquina virtual, por ejemplo:



Si borráis una instantánea, el archivo .avhd no se combina con el archivo .vhd padre hasta que no hacéis una apagado ordenado de la máquina virtual y esperáis a la posterior “combinación”, no vale con apagar el host habiendo configurado que cada máquina virtual se apague previamente al apagado del host, por que este no espera a que termine la combinación iniciada con el apagado de la VM.

Por si acaso hacéis o habéis hecho caso omiso de esta y otras advertencias similares y por aquello de la ley de Murphy, va y se os queda colgada una instantánea, podéis recuperar la información almacenada en esta, dentro de su .vhd .

Voy a poner un ejemplo:

Puede pasar que teniendo un disco de tamaño fijo que ocupe una gran parte de la partición física realicemos una instantánea, esta empiece a crecer como disco dinámico que es y se coma el espacio que dejasteis entre en disco .vhd de tamaño fijo y la totalidad de la partición física. Entonces es cuando llegáis al 100 del espacio ocupado, la VM no arranca y aparecen esos sudores fríos, ese pensamiento de por qué elegí esto de la informática, si tengo la misma responsabilidad que un médico y gano mil veces menos (este es otro tema del que hablaremos algún día), etc.

Si recuperáis un archivo .vhd de una copia de seguridad, os podéis encontrar que en él, se encuentren los datos de hasta el día en el que hicisteis una instantánea y que puede que haya pasado mucho tiempo...

Si os encontráis en estos u otros problemas similares, puede que lleguéis a la conclusión de que queréis fusionar una instantánea con un .vhd. Pues bien, paso a detallaros los pasos a seguir para realizar esta acción. Un apunte importante, lo voy a realizar partiendo que la copia la habéis recuperado en otro servidor host de virtualización (vendito portátil que soporta virtualización), en el caso que queráis saber como hacerlo en el mismo host, tendréis que leer un anexo que aparecerá pronto en este mismo blog.

1. Recuperar de la copia de seguridad, los archivos: .XML , .VHD y el .AVHD que indica el XML que está asociado el disco .VHD (mirar la captura de más arriba):

2. Cambiar la extensión del archivo .AVHD a .VHD.

3. En la consola de Hyper-v – – Editar disco y elegir el disco renombrado:

4. Como no encuentra el disco padre, os pedirá la ruta para “Volver a conectar” el disco al archivo .VHD (aquí es importante no estar en el mismo host, si no os modificará el disco que tenéis en producción y esto puede funcionar bien o no, pero mejor no tocar este disco de momento).

5. Volver a Editar el disco y esta vez elegir la opción Combinar:

6. Elegir el disco duro primario, ya que no es el que está en producción (repito):

7. Final feliz.

He visto cosas que me han sorprendido gratamente, como es el recuperar un archivo .avhd en un disco en producción el cual contiene una nueva instantánea y que el asistente: Editar disco – Combinar, me proponga insertar los datos del archivo .avhd antiguo en el nuevo, esto último me hace pensar que podríamos aventurarnos a recuperar una instantánea recuperada del backup en un disco en producción sin el menor riesgo aun teniendo este una nueva instantánea (ya seríais el colmo si habéis vuelto a dejar algo así colgado y funcionando), pero mejor hacerlo como os he dicho, por si acaso.

Fuente : http://undercpd.blogspot.com/2009/03/combinar-una-instantanea-con-su-archivo.html y me ha salvado mas de una vez , totalmente recomendado!!


Windows.Matar procesos por linea de comandos

Buenas tardes ,para matar el proceso de un servidor o cliente windows sin la necesidad de ingresar mediante rdp o si el mismo se quedo "colgado" (comun en software´s microsoft) , lo podemos realizar mediante la linea de comandos si y solo si somos administradores del equipo cliente (locales o domain admins) de la siguiente manera:
  • Ingresar a la linea de comandos de windows ,  tipeamos lo siguiente :
    • tasklist /s [nombreequipo] ---> Lista los procesos que estan corriendo en el equipo remoto , luego de ingresar este comando nos solicitara la contraseña del usuario administrador del equipo remoto .
  • En caso de que no contemos con el passwd del administrador local y si estamos dentro de un dominio podriamos ingresar con el usuario domain admin de esta forma :
    • tasklist /s [nombrequipo] /u [usuariodomainadmin] /p [passwd]
          Asi vemos listado los procesos del equipo remoto .


  • De la imagen anterior debemos fijarnos en el nombre de la aplicacion que queremos matar , luego cerrarla mediante su process Id (PID) :
    • taskkill /s [nombreequipo] /PID [nroproceso]
    • ej : Vamos a matar el proceso EXCEL.EXE (MsExcel) del equipo remoto al que me conecte , el cual cuenta con el PID 8084. 
    • taskkill /s equipito /PID 8084 , luego de introducir el password de administrador el proceso es cerrado.
e


Utiles.NMAP basico


Nmap básico
Nmap es el scanner de puertos por excelencia, y esta licenciado bajo la GPL.
A continuación dejo unos ejemplos basicos pero muy utiles de esta herramienta. Para profundizar en nmap visitar http://insecure.org/nmap/nmap_documentation.html
1) Descubrir direcciones IP activas en la red 192.168.50.0
# nmap -sP 192.168.50.0/24
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:09 CET
Host 192.168.50.0 seems to be a subnet broadcast address (returned 2 extra pings).
Host 192.168.1.100 appears to be up.
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Host 192.168.1.254 appears to be up.
Host 192.168.1.255 seems to be a subnet broadcast address (returned 3 extra pings).
Nmap finished: 256 IP addresses (2 hosts up) scanned in 18.312 seconds
2) Eplorar puertos TCP activos en el host 192.168.50.100 (un router Linksys)
# nmap -sT 192.168.50.100
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:12 CET
Interesting ports on 192.168.50.100:
(The 1660 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
23/tcp open  telnet
53/tcp open  domain
80/tcp open  http
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Nmap finished: 1 IP address (1 host up) scanned in 1.397 seconds
y para UDP:
# nmap -sU 192.168.50.100
3) Detectar el SO utilizado por un host:
# nmap -O 192.168.50.100
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:17 CET
Interesting ports on 192.168.50.100:
(The 1660 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
23/tcp open  telnet
53/tcp open  domain
80/tcp open  http
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux 2.4.0 - 2.5.20
Uptime 1.678 days (since Sun Mar  4 22:01:48 2007)
Nmap finished: 1 IP address (1 host up) scanned in 4.749 seconds

Linux.Unix.10 consejos básicos para supervisar la seguridad en Linux


10 consejos básicos para supervisar la seguridad en Linux
He hecho un pequeño guión con los puntos a tener en cuenta a la hora de mantener seguro un sistema Linux, que en mi caso es Debian. Espero que os pueda ser útil como referencia inicial.
  1. Suscribirse a las listas de correo de seguridad de Debian debian-security-announce. Otra opción sería visitar periódicamente la sección de seguridad en la web de Debian.
  2. Tampoco esta de mas acostumbrase a visitar sitios especializados en seguridad comowww.securityfocus.com o www.kriptopolis.es .
  3. Actualizar todo el software que tengamos instalado con los últimos parches de seguridad.
  4. En Debian bastaría con:
    # apt-get update
    # apt-get upgrade
    Sin olvidar todos aquellas aplicaciones que hallamos instalado nosotros por nuestra cuenta. Por ejemplo aplicaciones web como: drupal, joomla, etc.
  5. Revisar periódicamente los log del sistema.
  6. Realizar periódicamente copias de seguridad de todos los datos de interés en nuestro servidor.
  7. Los directorios de usuarios (/home), las web (/var/www), los archivos de configuración (/etc), las bases de datos, etc.
    Lo ideal es automatizar las copias y tenerlas programadas diariamente, semanalmente, etc. en función de la importancia de los datos y la frecuencia en la que estos se actualicen.
  8. Configurar adecuadamente el firewall ya sea con Iptables, shorewall. Con el target por defecto a DROP.
  9. Revisar periódicamente las cuentas de usuario y fortaleza de las contraseñas.
  10. Revisar los archivos o ejecutables con el bit SUID activo.
  11. Podemos localizarlos mediante la orden:
    # find / -type f -perm -04000
    También podemos automatizar la revisión de la integridad de estos u otros ficheros con herramientas como tripwire
  12. Asignar cuotas y recursos limitados a los usuarios.
  13. Deshabilitar todos aquellos servicios que no utilicemos.
  14. Instalar y utilizar un antivirus.
  15. De esta forma podemos detectar y eliminar los posibles virus en las carpetas compartidas mediante samba, o cuentas ftp de nuestro servidor. Ya que, aunque a linux no afectes los posibles virus, si es una buena medida para aumentar la seguridad de la red en general y evitar en parte la existencia de virus en los archivos que se compartan en una red windows. Una de las opciones que tenemos es instalar y utilizar avg.
A partir de aquí, otra de las cosas que podríamos hacer es probar la vulnerabilidad de nuestro sistema mediante nessus, o monitorizar todos los servicios con herramientas como nagios. Con este último, podríamos por ejemplo monitorizar cuando una maquina de nuestra red o incluso un servicio de una maquina cae. Y programar avisos automáticos por correo, etc.

Linux.Servidor FTPS con VSFTPD


Utilizando Debian y el servidor FTP vsftpd, voy a configurar un servidor FTPS (FTP/SSL). La idea es disponer de un servidor FTP donde las transferencias sean seguras.
Lo voy a configurar para no aceptar conexiones anonimas, y unicamente permita las conexiones de tipo FTPS.
1º) Instalación
# apt-get install vsftpd openssl
2º) Crear certificado
# cd /etc/ssl/certs
# openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem
3º) Configurar VSFTPD
La configuración se centraliza toda en el fichero /etc/vsftpd.conf.
#
# Configuración General
#
listen=YES
# No se permite acceso anonimo
anonymous_enable=NO
local_enable=YES
local_umask=022
ftpd_banner=Bienvenido al Servidor FTPS
# Se enjaulan los usuarios en su home
chroot_local_user=YES
# Configuracion PASV
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=6100
pasv_address=ip_publica_servidor
#
# Configuracion SSL
#
# Habilita el soporte de TLS/SSL
ssl_enable=YES
# Permite utilizar TLS/SSL a usuarios anónimos
allow_anon_ssl=YES
# Obliga a utilizar TLS/SSL para todas las operaciones
force_local_data_ssl=YES
force_local_logins_ssl=YES
# Se prefiere TLSv1 sobre SSLv2 y SSLv3
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# Ruta del certificado
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
4º) Alta Usuarios
Los usuarios utilizados por vsftp serán los del sistema. Si tenemos que dar de alta usuarios exclusivamente para el ftp, lo adecuado es darlos de alta sin shell de la siguiente forma:
# echo "/bin/false" >> /etc/shells
# adduser usuario --shell /bin/false
5º) Abriendo Puertos
No hay que pasar por alto que en nuestro firewall tenemos que abril los puertos 20 (ftp-data) y 21 (ftp). Además al tratarse de una configuración con soporte al modo pasivo tenemos que abrir un rango de puertos, por ejemplo del 6000 al 6100.
6º) Cliente
Para probar el funcionamiento necesitamos utilizar un cliente FTP que soporte: FTPES - FTP sobre TLS/SSL explícito.
Cuando estemos configurando el servidor, recomiendo el cliente de terminal ftp-ssl. Y ya como cliente en modo gráfico, recomiendo utilizar FileZilla, que además de ser software libre es multiplaforma.
Para Debian lo instalamos desde los repositorios de paquetes
# apt-get install filezilla