Administración avanzada de GNU/Linux

•enero 19, 2009 • 2 comentarios

Bueno, la verdad que me ha impresionado el master en Software Libre de nuestros amigos catalanes, esto es nivel y lo demas son tonterias. Le he estado echando un vistazo y la verdad que está muy interesante, seguros que a muchos os viene muy bien este librito para configurar y conocer cada vez más vuesto Linux.

Por aquí tambien se ha hecho un master en Software Libre y todavía no he visto ninguna documentación (Que no quiere decir que no exista, claro)

Un saludo a todos que hace mucho que no escribimos nada por aquí.

Copio y pego de BlogUbuntu.com

Se trata de un manual (PDF, 472 páginas) distribuido de forma gratuita por la UOC (Universitat Oberta de Catalunya) y perteneciente a su Máster Internacional de Software Libre.

“El objetivo principal de este curso es introducirnos en el mundo de la administración de los sistemas GNU/Linux.”

El contenido de este manual viene dividido en 11 capítulos de la siguiente forma:

1. Introducción al sistema operativo GNU/Linux.
2. Migración y coexistencia con sistemas no Linux.
3. Herramientas básicas para el administrador.
4. El kernel.
5. Administración local.
6. Administración de red.
7. Administración de servidores.
8. Administración de datos.
9. Administración de seguridad.
10. Configuración, sintonización y optimización.
11. Clustering.

Anuncios

Servidor Snmp (GNU/Linux)

•marzo 5, 2008 • 3 comentarios

El Protocolo Simple de Administración de Red es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el desempeño de la red, buscar y resolver sus problemas, y planear su crecimiento.A continuación se detalla la configuración del servidor SNMP en Debian Etch.En primer lugar instalaremos el paquete snmpd, y para ello utilizaremos aptitude.

# aptitude install snmpd

Una vez instalado procederemos a configurarlo. El fichero de configuración se encuentra en /etc/snmp y se denomina snmpd.conf, antes de proceder a modificarlo realizaremos una copia para poder volver a la configuración por defecto.

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf_backup

La configuración que voy a utilizar es la siguiente:

Community read-only: lectura

Equipo para la community read-only: localhost

Community read-write: escritura

Equipo para la community read-write: 192.168.1.100

Y ahora, con el editor que deseemos, crearemos el fichero snmpd.conf en el directorio /etc/snmp y añadiremos la siguiente información:

# Definimos las community

# sec.name source community

com2sec readwrite localhost escritura

com2sec readonly 192.168.1.100 lectura

# Asignamos los grupos a las secciones

# sec.model sec.name

group MyROSystem v1 readwrite

group MyROSystem v2c readwrite

group MyROSystem usm readwrite

group MyROGroup v1 readonly

group MyROGroup v2c readonly

group MyROGroup usm readonly

group MyRWGroup v1 readwrite

group MyRWGroup v2c readwrite

group MyRWGroup usm readwrite

# Creamos las vistas

# incl/excl subtree mask

view all included .1 80

view sytem included .iso.org.dod.internet.mgmt.mib-2.system

# Asignamos las vistas a los grupos

# context sec.model sec.level match read write notif

access MyROSystem “” any noauth exact system none none

access MyROGroup “” any noauth exact all none none

access MyRWGroup “” any noauth exact all all none

Ya tendríamos configurado el servidor snmp. Ahora nos aseguraremos de que el servidor snmp este escuchando para cualquier máquina, para ello sustituiremos en el fichero /etc/default/snmpd la linea

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′

por

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid’

Ahora sólo nos quedaría reiniciar el servicio y comprobar que todo ha funcionado correctamente. Reiniciaremos el servicio con el siguiente comando:

# /etc/init.d/snmpd restart

Para comprobar si su funciona correactamente deberemos instalar el cliente snmp tanto en la máquina local como en el equipo 192.168.1.100, para ello ejecutaremos el comando:

# aptitude install snmp libsnmp9

Ahora ejecutaremos el siguiente comando en la máquina local:

# snmpwalk -v 1 -c escritura localhost system

Y este otro en la máquina 192.168.1.100 (la que va a realizar la monitorización) :

# snmpwalk -v 1 -c lectura 192.168.1.100 system

Si en ambos casos nos muestra información de la máquina habremos configurado perfectamente el servidor.

Referencias:

http://www.debianhelp.co.uk/snmp.htm

Servidor CVS (GNU/Linux)

•noviembre 14, 2007 • Dejar un comentario

Es una aplicación informática que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ficheros (código fuente principalmente) que forman un proyecto (de programa) y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren.

La instalación del paquete cvs, lo realizaremos mediante el siguiente comando:

# aptitude install cvs

Una vez instalado el servidor de cvs procedemos a crear el directorio bajo el cual vamos a crear el repositorio. Por ejemplo, crearemos la carpeta cvs en el directorio /home.

# mkdir /home/cvs

Inicializamos el repositorio.

# cvs -d /home/cvs init

Ésto creará el directorio CVSROOT con una serie de ficheros de control. Ahora crearemos un grupo al cual perteneceran sólo los usuarios que tengan acceso al repositorio y concederemos permisos a ese grupo para que puedan acceder a /home/cvs.

# addgroup cvs

# chgrp -R cvs /home/cvs

# chmod 775 cvs /home/cvs -R

Ya sólo faltaría crear los usuarios que van a acceder a el repositorio y hacerlos pertenecer al grupo cvs. Por ejemplo:

# adduser usuario

# usermod -g cvs usuario

Ahora sólo faltaría conectarse de forma remota al repositorio y comprobar que efectivamente está funcionando nuestro repositorio.

NOTA: En la parte del servidor cvs se necesita tener instalado previamente el servidor de ssh, y un cliente ssh en la parte del usuario para poder realizar la conexión.

Referencias:

http://es.wikipedia.org/wiki/CVS

http://www.laespiral.org/recetas/1-100/receta46.html

MTB

Servidor FTP (Vsftpd)

•junio 26, 2007 • 14 comentarios

En un post anterior instalamos un servidor TFTP, en esta ocasión será FTP (File Transfer Protocol), el cual tiene prácticamente la misma funcionalidad, transferencia de archivos, aunque éste utiliza un conexión TCP por el puerto 20 o 21.

Aunque podemos encontrar más servidores de FTP para linux, desde hace un tiempo yo elegí Vsftpd, es sencillo de configurar y según dicen muy seguro, yo esto último no lo puedo confirmar ya que no he probado otro.

Servidor

En primer lugar instalaremos el servidor vsftpd; desde nuestra consola en Ubuntu, sistema GNU/Linux que yo utilizo, ejecutaremos el siguiente comando:

# aptitude install vsftpd

Una vez realizada la instalación configuraremos dicho servidor. El servidor vsftpd utiliza dos ficheros de configuración, al menos con la configuración que yo voy a realizar.

  • /etc/vsftpd.conf –> fichero de configuración del servidor vsftpd
  • /etc/vsftpd.chroot_list –> En este fichero se ubicarán los usuarios que se enjaulan en su directorio raíz.

1. El fichero /etc/vsftpd.conf

Cuando instalas el servidor vsftpd en Ubuntu, te genera este fichero de configuración con parámetros por defecto. Una posible configuración de este fichero sería la siguiente:

#Example config file /etc/vsftpd.conf

# Para que se ejecute vsftpd en modo independiente. No se puede utilizar en conjunto con listen_ipv6
listen=YES

# No permitimos que se conecten usuarios anónimos.

anonymous_enable=NO

# Permitimos que los usuario locales se puedan conectar.

local_enable=YES

# Permitimos poder hacer modificaciones.

write_enable=YES

# Muestra un mensaje cada vez que un usuario entra en un directorio.
dirmessage_enable=YES

# Vsftpd registra las conexiones y la información de transferencia, por defecto en /var/log/vsftpd.log

xferlog_enable=YES

# Se permite que el servidor vsftpd abra el puerto 20, para ponerse a la escucha de peticiones.

connect_from_port_20=YES

# Mensaje de bienvenida al conectarse mediante un cliente ftp

ftpd_banner=Bienvenidos al ftp de Redes de Area Local.

# Permitimos a los usuarios locales que puedan salir de su directorio.

chroot_local_user=NO

# Con esta opción los usuarios locales que se encuentren en el fichero indicado por chroot_list_file estarán enjaulados en su directorio.

chroot_list_enable=YES

# Especifica el fichero que contiene los usuarios a enjaular.

chroot_list_file=/etc/vsftpd.chroot_list

# Esta opcion especifica el nombre de un directorio vacio. También el directorio no tiene que tener privilegios para el usuario de ftp. Este es un directorio usado como una jaula segura chroot y aveces no requiere de aceso al sistema de ficheros.

secure_chroot_dir=/var/run/vsftpd

# Especifica el nombre de PAM (Pluggable Authentication Modules) para vsftpd

pam_service_name=vsftpd

# Esta opción especifica la localización del certificado RSA para usar conexiones SSL. Esta opción viene por defecto.

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

# Esta opción especifica la localización de la clave privada para las conexiones SSL.

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Una vez configurado nuestro fichero, ya tendriamos listo nuestro servidor vsftpd. Reiniciamos el servicio y listo, para ello:

# invoke-rc.d vsftpd restart

Ya podría conectarse cualquiera como los usuarios locales, pero vamos a hacer una restricción a uno que vamos a crear.

2. El fichero /etc/vsftpd.chroot_list

El fichero vsftpd.chroot_list va a contener el nombre del usuario que vamos a crear a continuación, para que cualquiera pueda conectarse a ese servidor, pero sólo teniendo acceso a el directorio de ftp.

Creamos el usuario mediante el siguiente comando:

# useradd amigo

Y ahora vamos a añadir este nombre al fichero; lo podemos hacer habriendo el fichero mediante cualquier editor o mediante el siguiente comando:

# echo amigo >> /etc/vsftpd.chroot_list

Y ahora ya podríamos decir que nuestro servidor ftp esta totalmente configurado. Para mas opciones se recomienda ver el man.

Cliente

Para conectarnos a nuestro ftp mediante una consola, únicamente devemos introducir el siguiente comando:

$ ftp <dir_ip_servidor_ftp>

Posteriormente te pedirá usuario y password; y ya tendrás acceso a el servidor que anteriormente hemos configurado.

Referencias:

http://www.esdebian.org/article.php/20060407102022453

http://www.linuxparatodos.net/portal/staticpages/index.php?page=09-como-vsftpd

http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/es/ref-guide/s1-ftp-vsftpd-conf.html

http://www.esdebian.org/staticpages/index.php?page=20050424180613347

Seguridad

•junio 9, 2007 • Dejar un comentario

Bueno esta tarde que estoy muy relajado sin estudiar, estoy haciendo lo que más me gusta, que es investigar cosas que no conozco y que me gustaría conocer. ¿Y a qué me he dedicado?, a estudiar lineales no ha sido, eso por supuesto, :-D. Bueno pues me he introducido en el maravilloso mundo de la Seguridad.

Tema que también se hecha en falta en una asignatura como RAL, pero bueno, no podemos darlo todo. Nos convertiriamos en gurús, jejeje. Y mucho menos dandola quién la da, porque sabriamos lo mismo que haciendolo nosotros

Bueno volviendo al tema, ya hace algún tiempo me interesé por la configuración de firewalls o cortafuegos, muy necesarios en estos días que corren donde la seguridad brilla por su ausencia. Imaginaros todos estos bonitos servidores que montamos como FTP, Apache y demás, sufriendo constantes ataques: spam, virus, amigos no deseados…

He descubierto un firewall linux, que hay que montar en alguna maquina vieja, de esas que tenemos en casa con un 300Mhz o por ahi y dos o más interfaces de red. Bueno esta maravilla se llama IPCop, y espero este verano tener algún tiempo para instalarlo en una maquina que hace tiempo que la tengo preparada para un uso parecido.

Ya os comentaré como funciona, si alguno ya la ha utilizado que lo diga, lo mismo estoy atrasado

Si quereis más informacion en su pagina o en kriptopolis

Saludos a todos

¿Que os puso en el examen?

•junio 1, 2007 • 10 comentarios

Responded a este post poniendo que os puso en el examen para que podamos hacer las posibles soluciones.

A mi me puso:

1.-NFS en Solaris con Subneting, es decir nfs como servidor, uno como router y otro como cliente.

2.-xinetd en Ubuntu con los servicios ftp y ssh, y con webmin.

3.-Nat en un router y otro con Dhcp.

Por favor escribid que os puso para que tengamos más ejemplos para hacer, si se os ocurre alguna cosa que pudiera caer, por favor ponedlo como sugerencia.

Forwarding Solaris, Windows y Ubuntu/GNU Linux

•mayo 31, 2007 • 2 comentarios

Poner un sistema operativo como si fuera un router es algo muy útil y seguro que os interesa saber como hacerlo por lo tanto os escribo como hacerlo en los tres sistemas operativos en los que estamos trabajando. No olvidéis que por cada interfaz de red de las que dispongáis en un pc, siempre dos o más por supuesto, deberéis tener una subred distinta y luego según pongáis un servidor dhcp o la dirección ip estática, debéis poner como gateway o puerta de enlace la dirección ip de la interfaz que tenga el servidor conectado.

Por ejemplo, si tenéis un ordenador(que va a ser nuestro enrutador) que maneja dos subredes la 192.168.1.x y la 192.168.2.x, pondréis por ejemplo a la que esté conectado a la primera la 192.168.1.1 y a la segunda la 192.168.2.1. Por lo tanto cualquier pc que se conecte a la red 192.168.1.x debe tener como puerta de enlace la 192.168.1.1 y los que se conecten a la 192.168.2.x deben tener como puerta de enlace la 192.168.2.1. Por supuesto que cada pc debe contener si dirección perteneciente a su subred y su máscara.

Una vez conocido ésto, pasamos a convertir nuestro pc con uno de estos sistemas operativos en enrutador.

Para Widows:

En windows debemos saber editar el registro de windows, para editarlo debemos hacer los siguiente:

Inicio->Ejecutar->”regedit”

Para los mas despistados en la ventana que os sale a ejecutar escribis “regedit” por supuesto sin comillas.

Luego os aparecerá el editor del registro de windows y debeís buscar el siguiente campo:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

y configurais la entrada “IPEnableRouter” por defecto está a cero, para que funcione como un router, debe ser puesta a “1”.

Aceptáis el nuevo valor, reiniciáis y ya está funcionando el routing W2K Pro / XP

Para Solaris:

Con el comando en consola siguiente lo activa:

ipv4:

routeadm -e ipv4-forwarding

ipv6:

routeadm -e ipv6-forwarding

La opción “-e” significa enable, si deseas desactivarlo debes usar la opción “-d” disable.

No se debe reiniciar ningún servicio ni nada.

Para Ubuntu/GNU Linux:

Si deseamos ver si esta activado el forwarding podemos hacerlo mediante comando o viendo el fichero de configuración.

Comando:

sysctl net.ipv4.ip_forward

Fichero:

cat /proc/sys/net/ipv4/ip_forward

Si el valor es 0 entonces está desactivado.

Como activarlo en caliente(Modificamos el parametro pero cuando reiniciemos el sistema volverá a su valor por defecto):

Comando:

sysctl -w net.ipv4.ip_forward=1

Archivo:

echo 1 > /proc/sys/net/ipv4/ip_forward

¿Qué modificar para que el valor de ip_forward sea permanente?

1.- Debemos modificar el fichero /etc/sysctl.conf para activar permanentemente el valor.

En ubuntu viene la linea comentada, la descomentáis, le dais el valor(1 para activar o 0 para desactivar) y ya está o si no viene pues añadís la siguiente linea :

2.-Reiniciar el servicio sysctl:

Cargar de nuevo el fichero de configuración:

sysctl -p /etc/sysctl.conf

Reiniciar el servicio:

/etc/init.d/procps.sh restart

Como siempre espero que os sirva de ayuda. Alfredo