En lilo
Al encender la maquina y cuando aparece el menu gráfico de lilo en pantalla, teclea control+x ó control+c para ir al modo texto; verás lo siguiente:
boot:
escribe linux single y presiona enter.
boot: linux single
Esto cargará los elementos minimos del sistema, te dejará en el prompt del bash# y ahí podrás ejecutar passwd
bash# passwd
Passwd: NuevoPasswordDeRoot
Con eso estarás asignando un nuevo password a la cuenta de root, ya tienes cuenta de root.
Reincia el sistema y ten en cuenta que el resto depende de ti... ya sea bueno o malo.
En grub
El cargador por excelencia [desde mi punto de vista] es grub, veamos primero como se explota el agujero:
Cuando sale el menu de opciones, dice algo asi:
Use the ↑ and ↓ keys to select which entry is highligted. Press 'e' to edit the commands before booting....
Selecciona la entrada de Linux y presiona la tecla e para editar la entrada, te mostrará algo asi:
grub editing>
root (hd0,0)
kernel /vmlinuz-2.4.18.3 ro root=/dev/hda3
initrd /initrd-2.4.18-3.img
Elige la linea del kernel; al final agrega lo siguiente: single y presionas enter.
Quedaría así:
kernel /vmlinuz-2.4.18.3 ro root=/dev/hda3 single
Presiona b para bootear.
Esto cargará los elementos minimos del sistema, te dejará en el prompt del bash# y ahí podrás ejecutar passwd bla bla bla.. igual que en el anterior.
Muy bien, ya vimos como pedir prestada la cuenta de root.
viernes, 26 de diciembre de 2008
martes, 23 de diciembre de 2008
GRUB - protegido con contraseña
El gestor de arranque GRUB permite hacer operaciones muy sensibles, como por ejemplo, modificar el dispositivo desde el que arranca el sistema o arrancar sin tener la contraseña de root (administrador). Para evitar esto, tienes la posibilidad de protoger GRUB con su propia contraseña.
Grub soporta dos formas diferentes para añadir una contraseña de acceso a su fichero de configuración. La primera usa texto sin cifrado, mientras que la segunda utiliza cifrado md5
Para ponerle una contraseña debes hacer lo siguiente (como root):
La primera opción usa texto sin cifrado
En el parámetro password escribimos la contraseña
que queramos usar,en este ejemplo usamos cambiame.
password cámbiame
Lo pegamos en el fichero /boot/grub/menu.lst antes de la lista de entradas de arranque,
o bien lo podemos poner en una entrada de arranque para proteger dicha entrada.
Ejemplo real :
password cambiame
Ejemplo en el grub en una entrada de arranque protegida:
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
password cambiame
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
La segunda opción utiliza cifrado --md5
En una consola y como root escribimos el siguiente comando
# grub-md5-crypt
Te pedirá una contraseña y su verificación (en nuestro ejemplo es cambiame), como resultado te dará un puñado de caracteres, los copias, los pegas en el fichero /boot/grub/menu.lst antes de la lista de entradas de arranque añade:
password --md5 $1$QJ.y0$KZfBdWPyEOPwd6vnsX77H/
Ahora cuando arranque grub sólo te permitirá seleccionar una entrada de arranque,
o pulsar 'p' para introducir la clave y a partir de ahí
tendrás acceso total para hacer lo que quieras.
Por cierto, si en alguna entrada de arranque pones 'lock'
te pedirá la misma contraseña del grub para poder usar dicha entrada,
o bien ponemos una entrada -md5 diferente,
eso es a gusto de cada uno.
Lo pegamos en el fichero /boot/grub/menu.lst
antes de la lista de entradas de arranque,
o bien lo podemos poner en una entrada de arranque
para proteger dicha entrada.
Ejemplo en el grub antes de la lista de entradas de arranque:
password --md5 $1$xf3y0$ak/xghHtCR0Z2RDRixnwS.
Ejemplo en el grub en dos entradas de arranque:
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
password --md5 $1$QJ.y0$KZfBdWPyEOPwd6vnsX77H/
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
lock
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
Grub soporta dos formas diferentes para añadir una contraseña de acceso a su fichero de configuración. La primera usa texto sin cifrado, mientras que la segunda utiliza cifrado md5
Para ponerle una contraseña debes hacer lo siguiente (como root):
La primera opción usa texto sin cifrado
En el parámetro password escribimos la contraseña
que queramos usar,en este ejemplo usamos cambiame.
password cámbiame
Lo pegamos en el fichero /boot/grub/menu.lst antes de la lista de entradas de arranque,
o bien lo podemos poner en una entrada de arranque para proteger dicha entrada.
Ejemplo real :
password cambiame
Ejemplo en el grub en una entrada de arranque protegida:
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
password cambiame
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
La segunda opción utiliza cifrado --md5
En una consola y como root escribimos el siguiente comando
# grub-md5-crypt
Te pedirá una contraseña y su verificación (en nuestro ejemplo es cambiame), como resultado te dará un puñado de caracteres, los copias, los pegas en el fichero /boot/grub/menu.lst antes de la lista de entradas de arranque añade:
password --md5 $1$QJ.y0$KZfBdWPyEOPwd6vnsX77H/
Ahora cuando arranque grub sólo te permitirá seleccionar una entrada de arranque,
o pulsar 'p' para introducir la clave y a partir de ahí
tendrás acceso total para hacer lo que quieras.
Por cierto, si en alguna entrada de arranque pones 'lock'
te pedirá la misma contraseña del grub para poder usar dicha entrada,
o bien ponemos una entrada -md5 diferente,
eso es a gusto de cada uno.
Lo pegamos en el fichero /boot/grub/menu.lst
antes de la lista de entradas de arranque,
o bien lo podemos poner en una entrada de arranque
para proteger dicha entrada.
Ejemplo en el grub antes de la lista de entradas de arranque:
password --md5 $1$xf3y0$ak/xghHtCR0Z2RDRixnwS.
Ejemplo en el grub en dos entradas de arranque:
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
password --md5 $1$QJ.y0$KZfBdWPyEOPwd6vnsX77H/
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
title Debian GNU/Linux, con barra de progreso kernel 2.6.18-4-k7
lock
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hdb1 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.18-4-k7
savedefault
viernes, 19 de diciembre de 2008
Detectar mas de 3 Gigas de ram en debian o ubuntu
Cuando instalas un servidor o estacion de trabajo con linux debian este no detecta mas de 3 o 4 gigas de memoria ram y si tienes mas pierdes el resto una manera facil de resolver eso en debian o ubuntu es de la siguiente manera
Instálate otro kernel que soporte para más de 4 Gigas que tienes:
apt-get install linux-image-2.6-686-bigmem
Normalmente, con el Etch a secas sin haber actualizado el paquete del kernel, te va a instalar el linux-image-2.6-486, que es el que te indica que tengas tan sólo un giga de RAM.
Una vez hecho eso, borra ese kernel:
apt-get --purge remove linux-image-2.6-486
Con esto ya tenemos listo nuestro servidor o equipo para verificar que eso sea cierto escribe lo siguiente orden en la consola
cat /proc/meminfo
Hay veras cuanta memoria ram esta detectando tu equipo y para verificar el procesador o procesadores
cat /proc/cpuinfo
En caso de que tengas mas de uno y no lo detecte instalar el soporte smp para el kernel.
Instálate otro kernel que soporte para más de 4 Gigas que tienes:
apt-get install linux-image-2.6-686-bigmem
Normalmente, con el Etch a secas sin haber actualizado el paquete del kernel, te va a instalar el linux-image-2.6-486, que es el que te indica que tengas tan sólo un giga de RAM.
Una vez hecho eso, borra ese kernel:
apt-get --purge remove linux-image-2.6-486
Con esto ya tenemos listo nuestro servidor o equipo para verificar que eso sea cierto escribe lo siguiente orden en la consola
cat /proc/meminfo
Hay veras cuanta memoria ram esta detectando tu equipo y para verificar el procesador o procesadores
cat /proc/cpuinfo
En caso de que tengas mas de uno y no lo detecte instalar el soporte smp para el kernel.
jueves, 4 de diciembre de 2008
Servidor DHCP
El siguiente texto trata de explicar como configurar un servidor dhcp en linux cualquier distribucion debian y ubutu si los instalas basico sin nada basta solo con hacer apt-get install dhcp o apt-get install dcpd y se instala el software las otras distribuciones seleccionas el paquete cuando estas instalando el sistema operativo o lo compilar en el suspuesto de que ya este instalado el sistema operativo.
Para poner a funcionar nuestro servidor dhpc solo hay que configurar un archivo que se encuentra en /etc/dhcpd.conf ó /etc/dhcpd/dhcpd.conf con modificar este archivo vastara.
Aqui le pongo a continuacion el archivo ya configurado como quedaria
#
# Configuración del Servidor DHCP
# HECHO POR: GEORGE
# VERSIÓN DEL DHCP: "PIENSALO BIEN ANTES DE HACER ALGO"
ddns-update-style none;
# Identificador de dominio y resolución de DNS
##option domain-name tc.com.ve;
option domain-name-servers 192.168.0.253;
default-lease-time 600;
max-lease-time 7200;
# Intervalo de prioridad de registro de Eventos (LOG)
log-facility local7;
# Especificación de sub-redes en EMPRESA X (DHCP)
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.10.250;
option routers 192.168.0.253;
}
# Opción del broadcast para las PC'S
option broadcast-address 192.168.0.255;
#############################################################################
# Estrcutura de las maquinas en Red fijas en DHCP #
# Esta es la parte donde se especifica los equipos que van a tener IP FIJA #
#############################################################################
host nombre_de_equipo {
fixed-address 192.168.0.166;
hardware ethernet 0:0:c0:5d:bd:95;
Para poner a funcionar nuestro servidor dhpc solo hay que configurar un archivo que se encuentra en /etc/dhcpd.conf ó /etc/dhcpd/dhcpd.conf con modificar este archivo vastara.
Aqui le pongo a continuacion el archivo ya configurado como quedaria
#
# Configuración del Servidor DHCP
# HECHO POR: GEORGE
# VERSIÓN DEL DHCP: "PIENSALO BIEN ANTES DE HACER ALGO"
ddns-update-style none;
# Identificador de dominio y resolución de DNS
##option domain-name tc.com.ve;
option domain-name-servers 192.168.0.253;
default-lease-time 600;
max-lease-time 7200;
# Intervalo de prioridad de registro de Eventos (LOG)
log-facility local7;
# Especificación de sub-redes en EMPRESA X (DHCP)
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.10.250;
option routers 192.168.0.253;
}
# Opción del broadcast para las PC'S
option broadcast-address 192.168.0.255;
#############################################################################
# Estrcutura de las maquinas en Red fijas en DHCP #
# Esta es la parte donde se especifica los equipos que van a tener IP FIJA #
#############################################################################
host nombre_de_equipo {
fixed-address 192.168.0.166;
hardware ethernet 0:0:c0:5d:bd:95;
lunes, 3 de noviembre de 2008
Crear Raid por software
Crear RAID 0 y RAID 1 con mdadm
Preparar el disco duro
Se va a crear un RAID-0 o un RAID-1. Para RAID-5 necesitará añadir más discos. Cree una particion en cada disco con el máximo tamaño:
Hay que hacer los mismos pasos para todos los discos que vayan a formar el RAID:
#fdisk /dev/dispositivo (hda, hdb, sda,sdb, etc...)
d y nº partición para borrar todas las existentes.
n para crear una nueva, p para decirle que es primaria y
1 para decirle que es la1ª.
t para indicar el tipo, fd que es el que corresponde a Linux RAID autodetect
w para escribir los cambios en la tabla del disco y salir
Device Boot Start End Blocks Id System
/dev/hda1 1 79780 40209088+ fd Linux raid autodetec
RAID-0 (¡sin redundancia!)
Use mdadm para crear un RAID-0:
mdadm --create /dev/md0 --chunk=64 --level=raid0 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0]
read_ahead 1024 sectors
md0 : active raid0 hdc1[1] hda1[0]
80418048 blocks 128k chunks
RAID-1 (¡con redundancia!)
Use mdadm para crear un RAID-1:
mdadm --create /dev/md0 --chunk=64 --level=raid1 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[1] hda1[0]
40209024 blocks [2/2] [UU]
[>....................] resync = 0.7% (301120/40209024) finish=17.6min speed=37640K/sec
Antes de reiniciar tiene que esperar a que se complete la sincronización
Guarde la información de los arrays recien creados
# mdadm --detail --scan >> /etc/mdadm.conf
# cat /etc/mdadm.conf
DEVICE /dev/hd* /dev/sd*
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d876333b:694e852b:e9a6f40f:0beb90f9
Obtener información sobre los dispositivos RAID y los discos
Mostrar el estado actual de los dispositivos raid
cat /proc/mdstat
Salida de un RAID-1 degradado con un disco que falla:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2](F) hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 degradado con un disco quitadoi:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 recostruyéndose:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2] hda1[0]
40209024 blocks [2/1] [U_]
[=======>.............] recovery = 37.1% (14934592/40209024) finish=11.7min speed=35928K/sec
unused devices:
Obtener más detalles sobre los dispositivos RAID
# mdadm --query /dev/md0
/md0: 38.35GiB raid1 2 devices, 3 spares. Use mdadm --detail for more detail.
/dev/md0: No md super block found, not an md component.
# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.00
Creation Time : Mon Jan 20 22:53:28 2003
Raid Level : raid1
Array Size : 40209024 (38.35 GiB 41.22 GB)
Device Size : 40209024 (38.35 GiB 41.22 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Jan 21 00:49:47 2003
State : dirty, no-errors
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Number Major Minor RaidDevice State
0 3 1 0 active sync /dev/hda1
1 22 1 1 active sync /dev/hdc1
UUID : d876333b:694e852b:e9a6f40f:0beb90f9
Obtener más detalles sobre los discos
# mdadm --query /dev/hda1
/dev/hda1: is not an md array
/dev/hda1: device 0 in 2 device active raid1 md0....
# mdadm --query /dev/hdc1
/dev/hdc1: is not an md array
/dev/hdc1: device 1 in 2 device active raid1 md0....
Administrar dispositivos RAID (RAID-1 y superiores)
Configurando el fallo de un disco:
# mdadm --fail /dev/md0 /dev/hdc1
Quitando un disco que falla de un array:
# mdadm --remove /dev/md0 /dev/hdc1
Borrando cualquier información de un raid anterior de un disco
# mdadm --zero-superblock /dev/hdc1
Agragar un disco al array
# mdadm --add /dev/md0 /dev/hdc1
Preparar el disco duro
Se va a crear un RAID-0 o un RAID-1. Para RAID-5 necesitará añadir más discos. Cree una particion en cada disco con el máximo tamaño:
Hay que hacer los mismos pasos para todos los discos que vayan a formar el RAID:
#fdisk /dev/dispositivo (hda, hdb, sda,sdb, etc...)
d y nº partición para borrar todas las existentes.
n para crear una nueva, p para decirle que es primaria y
1 para decirle que es la1ª.
t para indicar el tipo, fd que es el que corresponde a Linux RAID autodetect
w para escribir los cambios en la tabla del disco y salir
Device Boot Start End Blocks Id System
/dev/hda1 1 79780 40209088+ fd Linux raid autodetec
RAID-0 (¡sin redundancia!)
Use mdadm para crear un RAID-0:
mdadm --create /dev/md0 --chunk=64 --level=raid0 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0]
read_ahead 1024 sectors
md0 : active raid0 hdc1[1] hda1[0]
80418048 blocks 128k chunks
RAID-1 (¡con redundancia!)
Use mdadm para crear un RAID-1:
mdadm --create /dev/md0 --chunk=64 --level=raid1 --raid-devices=2 /dev/hda1 /dev/hdc1
# cat /proc/mdstat
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[1] hda1[0]
40209024 blocks [2/2] [UU]
[>....................] resync = 0.7% (301120/40209024) finish=17.6min speed=37640K/sec
Antes de reiniciar tiene que esperar a que se complete la sincronización
Guarde la información de los arrays recien creados
# mdadm --detail --scan >> /etc/mdadm.conf
# cat /etc/mdadm.conf
DEVICE /dev/hd* /dev/sd*
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d876333b:694e852b:e9a6f40f:0beb90f9
Obtener información sobre los dispositivos RAID y los discos
Mostrar el estado actual de los dispositivos raid
cat /proc/mdstat
Salida de un RAID-1 degradado con un disco que falla:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2](F) hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 degradado con un disco quitadoi:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hda1[0]
40209024 blocks [2/1] [U_]
unused devices:
Salida de un RAID-1 recostruyéndose:
Personalities : [raid0] [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc1[2] hda1[0]
40209024 blocks [2/1] [U_]
[=======>.............] recovery = 37.1% (14934592/40209024) finish=11.7min speed=35928K/sec
unused devices:
Obtener más detalles sobre los dispositivos RAID
# mdadm --query /dev/md0
/md0: 38.35GiB raid1 2 devices, 3 spares. Use mdadm --detail for more detail.
/dev/md0: No md super block found, not an md component.
# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.00
Creation Time : Mon Jan 20 22:53:28 2003
Raid Level : raid1
Array Size : 40209024 (38.35 GiB 41.22 GB)
Device Size : 40209024 (38.35 GiB 41.22 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Jan 21 00:49:47 2003
State : dirty, no-errors
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Number Major Minor RaidDevice State
0 3 1 0 active sync /dev/hda1
1 22 1 1 active sync /dev/hdc1
UUID : d876333b:694e852b:e9a6f40f:0beb90f9
Obtener más detalles sobre los discos
# mdadm --query /dev/hda1
/dev/hda1: is not an md array
/dev/hda1: device 0 in 2 device active raid1 md0....
# mdadm --query /dev/hdc1
/dev/hdc1: is not an md array
/dev/hdc1: device 1 in 2 device active raid1 md0....
Administrar dispositivos RAID (RAID-1 y superiores)
Configurando el fallo de un disco:
# mdadm --fail /dev/md0 /dev/hdc1
Quitando un disco que falla de un array:
# mdadm --remove /dev/md0 /dev/hdc1
Borrando cualquier información de un raid anterior de un disco
# mdadm --zero-superblock /dev/hdc1
Agragar un disco al array
# mdadm --add /dev/md0 /dev/hdc1
lunes, 21 de julio de 2008
Programar tareas en linux crontad
Al igual que en linux existe un programador de tares que se llama crontad solo que es un poco distinto la manera de trabajar con el esto con respecto a windows que es mucho mas facil de entender aqui es un poco mas complejo aqui les pongo un ejemplo de tareas con crontad
0 4 * * * /usr/bin/date # Todos los días a las 04:00 de la mañana
Este muestra la hora y fecha todos los dias a las cuatro de la mañana
Los parametros para trabajar con el crontad son los siguientes
mm : Minuto dentro de la hora (0-59)
hh : Hora del día (0-23)
dd : Día del mes (1-31)
MM : Mes del año (1-12)
ss : Día de la semana (0-6, Domingo=0)
Comandos : Secuencia de comandos a ejecutar, deben ir separados con ";", pudiéndose redireccionar tanto la salida estándar como la de errores hacia algún archivo (2>&1).
$ crontab -l # lista las tareas en el cron del usuario
$ crontab -e # edita el archivo cron del usuario
$ crontab mi_archivo # activa mi_archivo como archivo cron del usuario
Con esto ya debemos de tener para programar nuestras tareas en linux
0 4 * * * /usr/bin/date # Todos los días a las 04:00 de la mañana
Este muestra la hora y fecha todos los dias a las cuatro de la mañana
Los parametros para trabajar con el crontad son los siguientes
mm : Minuto dentro de la hora (0-59)
hh : Hora del día (0-23)
dd : Día del mes (1-31)
MM : Mes del año (1-12)
ss : Día de la semana (0-6, Domingo=0)
Comandos : Secuencia de comandos a ejecutar, deben ir separados con ";", pudiéndose redireccionar tanto la salida estándar como la de errores hacia algún archivo (2>&1).
$ crontab -l # lista las tareas en el cron del usuario
$ crontab -e # edita el archivo cron del usuario
$ crontab mi_archivo # activa mi_archivo como archivo cron del usuario
Con esto ya debemos de tener para programar nuestras tareas en linux
domingo, 20 de julio de 2008
Cómo ocultar la versión de PHP y apache en un servidor web
Para poner un pocos mas de seguridad en nuestro web server podriamos hacer unos pequeños ajustes
Para ocultar la version e apache seria modificar o agregar en el caso de que no existan estas dos lineas en el archivo de configuracion de apache en debian es /etc/apache2/apache2.con
ServerSignature Off
ServerTokens Prod
Con esto esta listo ya no veran la versión de apache que se muestra con algunos errores o cuando entran por ip o algo parecido
Para ocultar la versión de php es muy simple tambien
Para ocultarlo, basta con ir al fichero php.ini, y poned a “off” la línea “expose_php = On”. Esta línea viene activada en la mayoría de las distribuciones, y en las compilaciones de PHP.
Para ocultar la version e apache seria modificar o agregar en el caso de que no existan estas dos lineas en el archivo de configuracion de apache en debian es /etc/apache2/apache2.con
ServerSignature Off
ServerTokens Prod
Con esto esta listo ya no veran la versión de apache que se muestra con algunos errores o cuando entran por ip o algo parecido
Para ocultar la versión de php es muy simple tambien
Para ocultarlo, basta con ir al fichero php.ini, y poned a “off” la línea “expose_php = On”. Esta línea viene activada en la mayoría de las distribuciones, y en las compilaciones de PHP.
Configuración de servidor https Debian etch 4.0 ó Ububtu Server 7.0
Muchas veces queremos poner que las paginas de nuestro servidor web sean https pero no contamos con dinero suficiente para para comprar los certificados entonces recurrimos a los gratuits aqui les pongo un buen ejemplo de como implanar uno suponiendo que ya tenemos el servidor andando sino aqui tambien hay una manual de como montarlo.
Instalaremos openssl:
apt-get install openssl ssl-cert
Para activar el mod ssl tecleamos:
a2enmod ssl
Esto nos dira que debemos reiniciar el apache lo hacemos de la siguiente manera
/etc/ini.d/apache2 forece-reload
Con esto ya esta activado el mod ssl
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Con esto le estamos diciendo que cree un certificado el cual durara 365 dias se va a llamar apache.pem y los va a guardar en /etc/apache2/ luego cambiamos los permisos del fichero
chmod 600 /etc/apache2/apache.pem
Y por útlimo editamos la configuración del servidor Apache, primero el fichero /etc/apache2/ports.conf y añadimos la siguiente línea:
Listen 443
Luego creamos los host virtuales de la siguiente manera para que cuando lso usuarios entren http los redireccione a https
Redirect / https://midominio.com
ServerName midominio.com
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
DocumentRoot /var/www/mipagina
ServerName midominio.com
Reiniciamos el apache
/etc/init.d/apache2 restart
Y listo ya tenemos nuestro servidor web montado con https.
Instalaremos openssl:
apt-get install openssl ssl-cert
Para activar el mod ssl tecleamos:
a2enmod ssl
Esto nos dira que debemos reiniciar el apache lo hacemos de la siguiente manera
/etc/ini.d/apache2 forece-reload
Con esto ya esta activado el mod ssl
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Con esto le estamos diciendo que cree un certificado el cual durara 365 dias se va a llamar apache.pem y los va a guardar en /etc/apache2/ luego cambiamos los permisos del fichero
chmod 600 /etc/apache2/apache.pem
Y por útlimo editamos la configuración del servidor Apache, primero el fichero /etc/apache2/ports.conf y añadimos la siguiente línea:
Listen 443
Luego creamos los host virtuales de la siguiente manera para que cuando lso usuarios entren http los redireccione a https
Redirect / https://midominio.com
ServerName midominio.com
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
DocumentRoot /var/www/mipagina
ServerName midominio.com
Reiniciamos el apache
/etc/init.d/apache2 restart
Y listo ya tenemos nuestro servidor web montado con https.
jueves, 17 de julio de 2008
Configurar servidor dns bind con vistas
La nueva versión 9 del tal vez el programa mas popular de dns en linux bind tienes muchas mejoras y nuevas herramientas, una de las que mas me impresiono gratamente es la de las vistas con esta opción podemos configurar un servidor dns para que sirva en la red interna y a la ves en la red publica
Escenario del ejemplo
En el ejemplo a continuación se muestran los archivos de configuración para el programa named que representan el
siguiente escenario:
Red Interna (clientes): 172.31.0.0/16 (segmento de direcciones privadas)
Red DMZ (servidores): 172.31.0.0/16 (segmento de direcciones privadas)
Red Externa (Internet): 200.122.271/29 (segmento de direcciones públicas)
Todos los servidores en la red privada DMZ son accesados desde la Internet gracias a NAT estáticos configurados
en el Firewall.
Los servidores en la red DMZ son accesados desde la red Interna directamente a su dirección DMZ sin NAT,
ruteados eso si por el FireWall
Archivos de configuración
/etc/named.conf ó /etc/bind/named.conf
options {
directory "/var/named";
version " Piensalo Bien antes de hacer algo";
query-source address * port 53;
auth-nxdomain yes;
allow-query { any; };
// DNS Hecho por: hgeorge123
};
view "internal" {
match-clients { 172.31.0.0/16; 127.0.0.0/8; };
recursion yes;
zone "dominio.com" IN {
type master;
file "named.dominio.com";
allow-transfer { any; };
allow-update { none; };
};
zone "10.31.172.in-addr.arpa" {
type master;
file "named.dominio.com.rev";
allow-transfer { any; };
allow-update { none; };
};
view "external" {
match-clients { any; };
zone "tudominio.com" IN {
type master;
file "named.tudominio.com";
allow-transfer { none; };
allow-update { none; };
};
zone "271.122.200.in-addr.arpa" IN {
type master;
file "named.tudominio.com.rev";
allow-transfer { none; };
allow-update { none; };
};
Esta es la configuracion que tiene que tener el named.conf estan declaradas las dos vistas la vista que ve la red internet y la que ve la red externa, ahora declaramos las zonas
/var/named/named.dominio.com
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071300 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN A 172.31.10.1
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
IN MX 5 mail
dns1 IN A 172.31.10.1
dns2 IN A 172.31.10.1
www IN A 172.31.0.1
mail IN A 172.31.0.1
/var/named/named.dominio.com.rev
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008052202 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
dns1 IN NS 172.31.10.1
dns2 IN NS 172.31.10.1
1 IN PTR mail
1 IN PTR www
/var/named/named.tudominio.com
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071300 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN A 200.122.271.89
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
IN MX 5 mail
dns1 IN A 200.122.271.89
dns2 IN A 200.122.271.89
www IN A 200.122.271.89
/var/named/named.tudominio.com.rev
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071001 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
@ IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
89 IN PTR dns1.dominio.com.
89 IN PTR mail
89 IN PTR www
Con esto ya tenemos el nuestro servidor dns listo iniciamos el servico o reiniciamos si ya lo tenemos listo esto solo funciona en bind 9 en el 8 no, como información adicional les digo que cada ves que hagana algun cambio en los archivos de zona actualizen el serial el cual esta en el siguiente formato año/mes/dia/numero de modificacion un ejemplo es:
288071001 Esto dice año 2008 mes 07 dia 10 modificacion 1 del dia.
Escenario del ejemplo
En el ejemplo a continuación se muestran los archivos de configuración para el programa named que representan el
siguiente escenario:
Red Interna (clientes): 172.31.0.0/16 (segmento de direcciones privadas)
Red DMZ (servidores): 172.31.0.0/16 (segmento de direcciones privadas)
Red Externa (Internet): 200.122.271/29 (segmento de direcciones públicas)
Todos los servidores en la red privada DMZ son accesados desde la Internet gracias a NAT estáticos configurados
en el Firewall.
Los servidores en la red DMZ son accesados desde la red Interna directamente a su dirección DMZ sin NAT,
ruteados eso si por el FireWall
Archivos de configuración
/etc/named.conf ó /etc/bind/named.conf
options {
directory "/var/named";
version " Piensalo Bien antes de hacer algo";
query-source address * port 53;
auth-nxdomain yes;
allow-query { any; };
// DNS Hecho por: hgeorge123
};
view "internal" {
match-clients { 172.31.0.0/16; 127.0.0.0/8; };
recursion yes;
zone "dominio.com" IN {
type master;
file "named.dominio.com";
allow-transfer { any; };
allow-update { none; };
};
zone "10.31.172.in-addr.arpa" {
type master;
file "named.dominio.com.rev";
allow-transfer { any; };
allow-update { none; };
};
view "external" {
match-clients { any; };
zone "tudominio.com" IN {
type master;
file "named.tudominio.com";
allow-transfer { none; };
allow-update { none; };
};
zone "271.122.200.in-addr.arpa" IN {
type master;
file "named.tudominio.com.rev";
allow-transfer { none; };
allow-update { none; };
};
Esta es la configuracion que tiene que tener el named.conf estan declaradas las dos vistas la vista que ve la red internet y la que ve la red externa, ahora declaramos las zonas
/var/named/named.dominio.com
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071300 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN A 172.31.10.1
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
IN MX 5 mail
dns1 IN A 172.31.10.1
dns2 IN A 172.31.10.1
www IN A 172.31.0.1
mail IN A 172.31.0.1
/var/named/named.dominio.com.rev
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008052202 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
dns1 IN NS 172.31.10.1
dns2 IN NS 172.31.10.1
1 IN PTR mail
1 IN PTR www
/var/named/named.tudominio.com
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071300 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
IN A 200.122.271.89
IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
IN MX 5 mail
dns1 IN A 200.122.271.89
dns2 IN A 200.122.271.89
www IN A 200.122.271.89
/var/named/named.tudominio.com.rev
$TTL 3h
@ IN SOA dominio.com. root.dominio.com (
2008071001 ; Serial
3h ; Refresh
2h ; Retry
1w ; Expire
1d ) ; Negative
@ IN NS dns1.dominio.com.
IN NS dns2.dominio.com.
89 IN PTR dns1.dominio.com.
89 IN PTR mail
89 IN PTR www
Con esto ya tenemos el nuestro servidor dns listo iniciamos el servico o reiniciamos si ya lo tenemos listo esto solo funciona en bind 9 en el 8 no, como información adicional les digo que cada ves que hagana algun cambio en los archivos de zona actualizen el serial el cual esta en el siguiente formato año/mes/dia/numero de modificacion un ejemplo es:
288071001 Esto dice año 2008 mes 07 dia 10 modificacion 1 del dia.
miércoles, 16 de julio de 2008
Instalacion y configuracion de zimbra en debian etch 4.0
Muchos administradores se matan la cabeza montando un servidor de correo debido a que no es nada facil a pesar de postfix que ha humanisado mas los archivos de configuración porque sendmail es otro nivel, bueno para quitarse muchos dolores de cabeza yo recomiendo instalar zimbra como gestor de correo y aqui les pongo un ejemplo facil de como montarlo a mi me funciono perfecto.
Primero revisamos el /etc/hosts que este hay el el nombre del equipo y dominio para el que va a ser servidor de correo, deberia haber algo parecido a esto
127.0.0.1 localhost.localdomain localhost
192.168.0.110 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
En caso de que no este el nombre del equipo y el dominio borramos lo que este hay y agregamos el dominio con nombre de host de etsa manera
echo server1.example.com > /etc/hostname
luego reiniciamos para que surtan efecto los cambios en todo el sistema
Al cargar ejecutamos hostname -f y no debe arrojar como resultado esto
server1.example.com
Luego revisamos el archivo /etc/resolv.conf qu eesten configurado los ip de nuestro servidor dns en el caso de que el servidor de correo este detras un firewall o gateway en una red privada, luego de esto desintalamos los paquetes innecesarios para nuestra instalación y que ademas dan problemas con el zimbra
apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
acto seguido instalamos los que si necesitamos
apt-get install libc6-i686 sudo libidn11 curl fetchmail libgmp3c2 libexpat1 libgetopt-mixed-perl libxml2 libstdc++6 libpcre3 libltdl3 ssh
ya con esto tenemos el sistema listo para em pesar con la instalación del zimbra nos cambiamos de directorio y nos descargamos la ultima versión que para el momento es 5.0.8
cd /tmp/
wget http://files.zimbra.com/downloads/5.0.8_GA/zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452.tgz
Acto seguido que lo hemos descargado empezamos con la instalación
tar xvfz zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452.tgz
cd zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452
./install.sh -l
En este paso nos hara una serie de preguntas
Checking for prerequisites...
NPTL...FOUND
sudo...FOUND sudo-1.6.8p12-4
libidn11...FOUND libidn11-0.6.5-1
fetchmail...FOUND fetchmail-6.3.6-1etch1
libpcre3...FOUND libpcre3-6.7+7.4-2
libgmp3c2...FOUND libgmp3c2-2:4.2.1+dfsg-4
libxml2...FOUND libxml2-2.6.27.dfsg-2
libstdc++6...FOUND libstdc++6-4.1.1-21
openssl...FOUND openssl-0.9.8c-4etch1
libltdl3...FOUND libltdl3-1.5.22-4
Prerequisite check complete.
Checking for standard system perl...
perl-5.8.8...FOUND standard system perl-5.8.8
Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-proxy [N] N
The system will be modified. Continue? [N] Y
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@server1.example.com
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.m0bqyoayc@server1.example.com
+Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
+Global Documents Account: wiki@server1.example.com
+SMTP host: server1.example.com
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://server1.example.com:7780/aspell.php
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? - help)
Aqui tienes que elegir la opción numero 3 y ponerle una clave al usuario admin no menor de 6 digitos, cn este usuario es que vamos a trabajar siempre para administrar nuestro servidor
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@server1.example.com
** 4) Admin Password UNSET
5) Enable automated spam training: yes
6) Spam training user: spam.m0bqyoayc@server1.example.com
7) Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
8) Global Documents Account: wiki@server1.example.com
9) SMTP host: server1.example.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://server1.example.com:7780/aspell.php
Select, or 'r' for previous menu [r]
Enter "4" (without the quotes) and press "Enter" to modify the admin password. Now you'll be asked for the new password.
Password for admin@server1.example.com (min 6 characters): [TR9Fm7uD]
Aqui introduces el password para el usuario admin
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help)
Con esot ya tenemos casi listo nuestro servidor de correo nos hara una preguna sobre donde y en que archivo va a sarvar los cambio le damos a todo enter
Save configuration data to a file? [Yes] Enter
Save config in file: [/opt/zimbra/config.5422]
Saving config in /opt/zimbra/config.5422...done.
The system will be modified - continue? [No] Y
Operations logged to /tmp/zmsetup.02062008-135354.log
Setting local config values...done.
Setting up CA...done.
Creating SSL certificate...done.
Initializing ldap...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating server entry for server1.example.com...done.
Setting spell check URL...done.
Setting service ports on server1.example.com...done.
Adding server1.example.com to zimbraMailHostPool in default COS...done.
Installing skins...
hotrod
lavender
waves
steel
sky
bones
yahoo
sand
lemongrass
beach
bare
done.
Setting zimbraFeatureIMEnabled=FALSE...done.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=TRUE...done.
Setting zimbraFeatureNotebookEnabled=TRUE...done.
Setting MTA auth host...done.
Setting TimeZone Preference...done.
Creating domain server1.example.com...done.
Creating user admin@server1.example.com...done.
Creating postmaster alias...done.
Creating user wiki@server1.example.com...done.
Creating user spam.m0bqyoayc@server1.example.com...done.
Creating user ham.ygch0qyz1@server1.example.com...done.
Setting spam training accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for server1.example.com...done.
Initializing logger sql database...done.
Initializing mta config...done.
Configuring SNMP...done.
Setting services on server1.example.com...done.
Setting up zimbra crontab...done.
Setting up syslog.conf...done.
After all you'll be asked if you want to notify Zimbra of your installation. Press "Enter" if you want to do that, or enter "N" (without the quotes) and press "Enter" if you disagree to that. Afterwards the system will be initialized - it should look like this:
Starting servers...done.
Checking for deprecated zimlets...done.
Installing zimlets...
com_zimbra_date
com_zimbra_url
com_zimbra_cert_manager
com_zimbra_phone
com_zimbra_search
com_zimbra_local
com_zimbra_email
done.
Initializing Documents...done.
Restarting mailboxd...done.
Moving /tmp/zmsetup.02062008-135354.log to /opt/zimbra/log
Por ultimo para verificar que todo este bien nos cambiamos al usuario zimbra y verificamos que todos los servicios esten arriba de la siguiente manera
su - zimbra
zmcontrol status Esto nos deberia de arrojar como resultado lo siguiente
Host server1.example.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
snmp Running
spell Running
stats Running
En caso de no arrojar un resultado parecido a este intentamos levantar los servicios asi
zmcontrol start
Si todo ha ido bien tenemos listo nuestro servidor de correo sino es porque te slataste algun paso del manual.
Para empezar a administrar nuestro servidor entramos a la consola administrativa de la siguiente manera https://server1.example.com:7071/zimbraAdmin/ impotante que "A" de Admin este en mayuscula si no esta en mayuscula no va a entrar en la consola aqui nos pide un usuraio y una clave el usuario es admin y la clave es la uqe pusimos hace ratos atras, la consola no la voy a explicar porque ella se explica sola es muy facil y eficiente, todo lo que resta es crear los usuarios y los dominios si vas a hacer el servidor multidominio y listo.
Para entrar en modo usuario entras de la siguiente manera http://server1.example.com introduces el usuario en este formato usuario@midominio.com y la clave si no le pones el @dominio no va a entrar debido a que puede ser servidor multi dominio, como información adicional les digo que antes de empezar a instalar el zimbra tienen que tener el DNS bien configurado apuntando hacia la ip de nuestro servidor de correo porque sino el zimbra les va a dar error en la instalación.
Primero revisamos el /etc/hosts que este hay el el nombre del equipo y dominio para el que va a ser servidor de correo, deberia haber algo parecido a esto
127.0.0.1 localhost.localdomain localhost
192.168.0.110 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
En caso de que no este el nombre del equipo y el dominio borramos lo que este hay y agregamos el dominio con nombre de host de etsa manera
echo server1.example.com > /etc/hostname
luego reiniciamos para que surtan efecto los cambios en todo el sistema
Al cargar ejecutamos hostname -f y no debe arrojar como resultado esto
server1.example.com
Luego revisamos el archivo /etc/resolv.conf qu eesten configurado los ip de nuestro servidor dns en el caso de que el servidor de correo este detras un firewall o gateway en una red privada, luego de esto desintalamos los paquetes innecesarios para nuestra instalación y que ademas dan problemas con el zimbra
apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
acto seguido instalamos los que si necesitamos
apt-get install libc6-i686 sudo libidn11 curl fetchmail libgmp3c2 libexpat1 libgetopt-mixed-perl libxml2 libstdc++6 libpcre3 libltdl3 ssh
ya con esto tenemos el sistema listo para em pesar con la instalación del zimbra nos cambiamos de directorio y nos descargamos la ultima versión que para el momento es 5.0.8
cd /tmp/
wget http://files.zimbra.com/downloads/5.0.8_GA/zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452.tgz
Acto seguido que lo hemos descargado empezamos con la instalación
tar xvfz zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452.tgz
cd zcs-5.0.8_GA_2462.DEBIAN4.0.20080709172452
./install.sh -l
En este paso nos hara una serie de preguntas
Checking for prerequisites...
NPTL...FOUND
sudo...FOUND sudo-1.6.8p12-4
libidn11...FOUND libidn11-0.6.5-1
fetchmail...FOUND fetchmail-6.3.6-1etch1
libpcre3...FOUND libpcre3-6.7+7.4-2
libgmp3c2...FOUND libgmp3c2-2:4.2.1+dfsg-4
libxml2...FOUND libxml2-2.6.27.dfsg-2
libstdc++6...FOUND libstdc++6-4.1.1-21
openssl...FOUND openssl-0.9.8c-4etch1
libltdl3...FOUND libltdl3-1.5.22-4
Prerequisite check complete.
Checking for standard system perl...
perl-5.8.8...FOUND standard system perl-5.8.8
Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-proxy [N] N
The system will be modified. Continue? [N] Y
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@server1.example.com
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.m0bqyoayc@server1.example.com
+Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
+Global Documents Account: wiki@server1.example.com
+SMTP host: server1.example.com
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://server1.example.com:7780/aspell.php
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? - help)
Aqui tienes que elegir la opción numero 3 y ponerle una clave al usuario admin no menor de 6 digitos, cn este usuario es que vamos a trabajar siempre para administrar nuestro servidor
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@server1.example.com
** 4) Admin Password UNSET
5) Enable automated spam training: yes
6) Spam training user: spam.m0bqyoayc@server1.example.com
7) Non-spam(Ham) training user: ham.ygch0qyz1@server1.example.com
8) Global Documents Account: wiki@server1.example.com
9) SMTP host: server1.example.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://server1.example.com:7780/aspell.php
Select, or 'r' for previous menu [r]
Enter "4" (without the quotes) and press "Enter" to modify the admin password. Now you'll be asked for the new password.
Password for admin@server1.example.com (min 6 characters): [TR9Fm7uD]
Aqui introduces el password para el usuario admin
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help)
Con esot ya tenemos casi listo nuestro servidor de correo nos hara una preguna sobre donde y en que archivo va a sarvar los cambio le damos a todo enter
Save configuration data to a file? [Yes] Enter
Save config in file: [/opt/zimbra/config.5422]
Saving config in /opt/zimbra/config.5422...done.
The system will be modified - continue? [No] Y
Operations logged to /tmp/zmsetup.02062008-135354.log
Setting local config values...done.
Setting up CA...done.
Creating SSL certificate...done.
Initializing ldap...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating server entry for server1.example.com...done.
Setting spell check URL...done.
Setting service ports on server1.example.com...done.
Adding server1.example.com to zimbraMailHostPool in default COS...done.
Installing skins...
hotrod
lavender
waves
steel
sky
bones
yahoo
sand
lemongrass
beach
bare
done.
Setting zimbraFeatureIMEnabled=FALSE...done.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=TRUE...done.
Setting zimbraFeatureNotebookEnabled=TRUE...done.
Setting MTA auth host...done.
Setting TimeZone Preference...done.
Creating domain server1.example.com...done.
Creating user admin@server1.example.com...done.
Creating postmaster alias...done.
Creating user wiki@server1.example.com...done.
Creating user spam.m0bqyoayc@server1.example.com...done.
Creating user ham.ygch0qyz1@server1.example.com...done.
Setting spam training accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for server1.example.com...done.
Initializing logger sql database...done.
Initializing mta config...done.
Configuring SNMP...done.
Setting services on server1.example.com...done.
Setting up zimbra crontab...done.
Setting up syslog.conf...done.
After all you'll be asked if you want to notify Zimbra of your installation. Press "Enter" if you want to do that, or enter "N" (without the quotes) and press "Enter" if you disagree to that. Afterwards the system will be initialized - it should look like this:
Starting servers...done.
Checking for deprecated zimlets...done.
Installing zimlets...
com_zimbra_date
com_zimbra_url
com_zimbra_cert_manager
com_zimbra_phone
com_zimbra_search
com_zimbra_local
com_zimbra_email
done.
Initializing Documents...done.
Restarting mailboxd...done.
Moving /tmp/zmsetup.02062008-135354.log to /opt/zimbra/log
Por ultimo para verificar que todo este bien nos cambiamos al usuario zimbra y verificamos que todos los servicios esten arriba de la siguiente manera
su - zimbra
zmcontrol status Esto nos deberia de arrojar como resultado lo siguiente
Host server1.example.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
snmp Running
spell Running
stats Running
En caso de no arrojar un resultado parecido a este intentamos levantar los servicios asi
zmcontrol start
Si todo ha ido bien tenemos listo nuestro servidor de correo sino es porque te slataste algun paso del manual.
Para empezar a administrar nuestro servidor entramos a la consola administrativa de la siguiente manera https://server1.example.com:7071/zimbraAdmin/ impotante que "A" de Admin este en mayuscula si no esta en mayuscula no va a entrar en la consola aqui nos pide un usuraio y una clave el usuario es admin y la clave es la uqe pusimos hace ratos atras, la consola no la voy a explicar porque ella se explica sola es muy facil y eficiente, todo lo que resta es crear los usuarios y los dominios si vas a hacer el servidor multidominio y listo.
Para entrar en modo usuario entras de la siguiente manera http://server1.example.com introduces el usuario en este formato usuario@midominio.com y la clave si no le pones el @dominio no va a entrar debido a que puede ser servidor multi dominio, como información adicional les digo que antes de empezar a instalar el zimbra tienen que tener el DNS bien configurado apuntando hacia la ip de nuestro servidor de correo porque sino el zimbra les va a dar error en la instalación.
viernes, 11 de julio de 2008
Limitar intentos fallidos de ssh o brute force
Hay muchos administradores de red que necesitan conectarse desde fuera a los servidores del trabajo pero no saben como hacen para abrir el puerto ssh sin ser tan vulnerable una opción seria configurar un vpn u otra seria limitar las conexiones de ese puerto por tiempo y numero de conexiones una herramienta ideal para eso seria el iptables el firewall por excelencia de linux aqui les pongo un ejemplo de como hacerlo
iptables -N pqtes-tcp-permitidos
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --set
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --pdate --seconds 60 --hitcount 4 -j DROP
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -j ACCEPT
la primera regla crea la cadena de paquetes, la segunda regla agrega el número IP que inicia una conexión SSH a una lista, la tercera regla actualiza la lista y prueba que no hayan más de 4 requerimientos nuevos en un lapso de 60 segundos, Si los hay, la regla descarta el requerimiento. De esta manera limitamos la tasa a máximo 3 requerimientos por minuto por IP
Otra cosa interesante seria bloquear los broadcast aqui dejo la linea de como bloquearlos
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Con esto ya tenemos el ssh seguro y prevenimos el brute force de ssh.
iptables -N pqtes-tcp-permitidos
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --set
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -m recent --pdate --seconds 60 --hitcount 4 -j DROP
iptables -A pqtes-tcp-permitidos -p TCP -m state --state NEW --dport 22 -j ACCEPT
la primera regla crea la cadena de paquetes, la segunda regla agrega el número IP que inicia una conexión SSH a una lista, la tercera regla actualiza la lista y prueba que no hayan más de 4 requerimientos nuevos en un lapso de 60 segundos, Si los hay, la regla descarta el requerimiento. De esta manera limitamos la tasa a máximo 3 requerimientos por minuto por IP
Otra cosa interesante seria bloquear los broadcast aqui dejo la linea de como bloquearlos
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Con esto ya tenemos el ssh seguro y prevenimos el brute force de ssh.
domingo, 11 de mayo de 2008
Servidor web con oci8
Existen muchas personas que se rompen la cabesa instalando un servidor web con oci8 que es el drivers para leer las base de datos en oracle a continuación les mostrare como se instala en un servidor con debían o ubuntu.
Primero que nada necesitamos descargar las siguientes librerías de la pagina oficial de oracle solo hay que registrarse es totalmente gratuito el registro. Ojo no importa la versión de las librerías si son mas nuevas o mas viejas es indiferente.
instantclient-basic-linux32-10.2.0.1-20050713.zip
instantclient-sdk-linux32-10.2.0.1-20050713.zip
Luego que tienes las librerías las descomprimes de la siguiente manera
unzip instantclient-basic-linux32-10.2.0.1-20050713.zip
unzip instantclient-sdk-linux32-10.2.0.1-20050713.zip
Luego creas una carpeta en la siguiente ruta mkdir -p /opt/oracle/instantclient que es donde el oci8 va a leer las liberias después de esto el procedimiento es el siguiente:
mv instantclient_10_2/* /opt/oracle/instantclient/
cd /opt/oracle/instantclient/
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig
Con esto ya tenemos las librerías lista e incluidas en el path del linux ahora abrimos el asistente de instalación aptitude con apt-get no funciona dice que los paquetes no existen cuando si existen e instalamos los siguientes paquetes
apt-get install build-essential php5-dev php-pear apache2 apache2-doc apache2-utils apache2.2-common libapache2-mod-bt libapache2-mod-php5 libapache2-mod-proxy-html libapache2-mod-ruby libapache2-mod-scgi php5-apache2-mod-bt php5-dev php5-uuid php5-ming php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imagick php5-json php5-mcrypt php5-memcache php5-odbc php5-snmp
Aparte tienes qie unstalar esto pero abriendo la consola de aptitude porque si no te dice que no existe
aptitude install build-essentials
Con esto ya tenemos sificiente para instalar el oci8 si quiere adicionarle algo mas ya queda de parte de ustedes, ahora a instalar el oci8
mkdir -p /usr/local/src/
cd /usr/local/src/
pear download oci8
tar xzf oci8-1.1.1.tgz
cd oci8-1.1.1
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient
make
make install
Ya tenemos el oci8 instalado en el sistema solo falta decirle al php que lo lea y lo hacemos de la siguiente manera
echo extension=oci8.so >> /etc/php5/apache2/php.ini
echo extension=oci8.so >> /etc/php5/cli/php.ini
/etc/init.d/apache2 restart
Con esto ya tenemos listo nuestro servidor web con las librerias para que lea base de datos oracle
Despues de tener el servior listo si te da problemas con los caracteres especiales en la base de datos tienes que quitar esta linea en ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin" /etc/init.d/apache2 y colocas esto ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin ORACLE_HOME=/opt/oracle/instantclient NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252".
Primero que nada necesitamos descargar las siguientes librerías de la pagina oficial de oracle solo hay que registrarse es totalmente gratuito el registro. Ojo no importa la versión de las librerías si son mas nuevas o mas viejas es indiferente.
instantclient-basic-linux32-10.2.0.1-20050713.zip
instantclient-sdk-linux32-10.2.0.1-20050713.zip
Luego que tienes las librerías las descomprimes de la siguiente manera
unzip instantclient-basic-linux32-10.2.0.1-20050713.zip
unzip instantclient-sdk-linux32-10.2.0.1-20050713.zip
Luego creas una carpeta en la siguiente ruta mkdir -p /opt/oracle/instantclient que es donde el oci8 va a leer las liberias después de esto el procedimiento es el siguiente:
mv instantclient_10_2/* /opt/oracle/instantclient/
cd /opt/oracle/instantclient/
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig
Con esto ya tenemos las librerías lista e incluidas en el path del linux ahora abrimos el asistente de instalación aptitude con apt-get no funciona dice que los paquetes no existen cuando si existen e instalamos los siguientes paquetes
apt-get install build-essential php5-dev php-pear apache2 apache2-doc apache2-utils apache2.2-common libapache2-mod-bt libapache2-mod-php5 libapache2-mod-proxy-html libapache2-mod-ruby libapache2-mod-scgi php5-apache2-mod-bt php5-dev php5-uuid php5-ming php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imagick php5-json php5-mcrypt php5-memcache php5-odbc php5-snmp
Aparte tienes qie unstalar esto pero abriendo la consola de aptitude porque si no te dice que no existe
aptitude install build-essentials
Con esto ya tenemos sificiente para instalar el oci8 si quiere adicionarle algo mas ya queda de parte de ustedes, ahora a instalar el oci8
mkdir -p /usr/local/src/
cd /usr/local/src/
pear download oci8
tar xzf oci8-1.1.1.tgz
cd oci8-1.1.1
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient
make
make install
Ya tenemos el oci8 instalado en el sistema solo falta decirle al php que lo lea y lo hacemos de la siguiente manera
echo extension=oci8.so >> /etc/php5/apache2/php.ini
echo extension=oci8.so >> /etc/php5/cli/php.ini
/etc/init.d/apache2 restart
Con esto ya tenemos listo nuestro servidor web con las librerias para que lea base de datos oracle
Despues de tener el servior listo si te da problemas con los caracteres especiales en la base de datos tienes que quitar esta linea en ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin" /etc/init.d/apache2 y colocas esto ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin ORACLE_HOME=/opt/oracle/instantclient NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252".
Sincronizar archivos con rsync
Existe muchas personas que hacer respaldos diarios de archivos o sistemas y copiar todo el sistema a diario en el sitio donde respaldan esto si no usan ningun sistema de respaldos com rdiff o muchos otros que existen en linux hay otra manera de hacerlo con rsyn lo cual hace una comparacion de las dos carpetas y copia solo los archivos modificados sin tener que traspasar otra vez toda la data un ejemplo de esto seria de la siguiente manera.
rsync -a -p -v -L -e ssh /carptea_que_ha_sido_modificada root@IP_del_servidor_de_respaldo:/carpeta_a_donde_guarda_respaldo
rsync -a -p -v -L -e ssh /carptea_que_ha_sido_modificada root@IP_del_servidor_de_respaldo:/carpeta_a_donde_guarda_respaldo
Suscribirse a:
Entradas (Atom)