Configuraciones

Instituto Tecnológico De Apizaco NOMBRE DEL ALUMNO: Alexis Jair López Gutiérrez Elizabeth Pérez Aguilar Eduardo Cadena

Views 100 Downloads 1 File size 558KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Instituto Tecnológico De Apizaco

NOMBRE DEL ALUMNO: Alexis Jair López Gutiérrez Elizabeth Pérez Aguilar Eduardo Cadena Hernández NOMBRE DEL PROFESOR: M. en C. Nicolás Alonzo Gutiérrez Resportes De

NOMBRE DE LA MATERIA: Sistemas Operativos I

Configuracion de

Programas en Gnu/Linux

Carrera: Ing. Tecnologías De La Información Y Comunicación

M. en C. Nicolás Alonzo

Gutiérrez Alexis Jair López Gutiérrez

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Reportes De Configuración De Paquetes Para Sistemas Gnu/Linux

Contenido Configuraciones De SSH en Gnu/Linu Debian ........................................................................3

1.

Conclusiones .......................................................................................................................... 4 1.

Configuraciones De Saba en Gnu/Linu Debian ................................................................... 5 Instalación.............................................................................................................................. 5 El archivo smb.conf es el más importante de la Suite Samba ................................................... 5 Reiniciar o Recargar el servicio Samba ................................................................................... 8 Adicionamos los usuarios al sistema y a la base de datos de usuarios Samba ........................... 8 Adicionamos recursos compartidos ........................................................................................ 9 Conclusiones ......................................................................................................................... 12

2.

Configuraciones De Dennyhosts y Fail2ban en Gnu/Linu Debian ...................................... 13 Fail2Ban ............................................................................................................................... 13 DenyHOSTS ......................................................................................................................... 13 Instalación............................................................................................................................. 13 Configuración de Fail2Ban .................................................................................................... 14 Configurar Fail2Ban y SSH ................................................................................................... 15 Configuración de DenyHOSTS ............................................................................................. 15 Modificación archivo denyhosts.conf .................................................................................... 15 Conclusiones ......................................................................................................................... 16

3.

Configuraciones De NFS en Gnu/Linu Debian................................................................... 17

Instalación en máquina servidor ...................................................................................................... 17 Instalación en máquina cliente ........................................................................................................ 19 Conclusiones ......................................................................................................................... 21 4.

Configuraciones De FTP con VSSFTPD en Gnu/Linu Debian ...........................................22

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm Instalar vsftpd ...........................................................................................................................22 Configuración ...........................................................................................................................22 Crear grupo de usuario para FTP ............................................................................................... 23 Usuario que pertenecerá al grupo FTP ....................................................................................... 23 Enjaular al usuario .................................................................................................................... 25 Conclusiones ......................................................................................................................... 25

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

1. Configuraciones De SSH en Gnu/Linu Debian Abrimos el terminal como root y escribimos: #aptitude install ssh Luego de la instalación buscamos el archivo de configuración sshd_config que esta en: # nano /etc/ssh/sshd_config Lo primero que debemos hacer es una copia del archivo /etc/ssh/sshd_config. En el propio archivo encontramos la forma en que Ssh recomienda hacer una copia de trabajo, la cual detallamos a continuación. Como root ejecutamos: Cp /etc/ssh/sshd_config /home/homeusuario/Documentos

Agregamos o modificamos las siguientes entradas en el archivo; Parámetro Port Si fuera necesario por seguridad se puede cambiar el puerto por el cual escucha el SSH, sino lo dejamos por defecto por el puerto 22 Port 26895 Parámetro ListenAddress Especificamos bajo que direcciones interfaces responderá las peticiones ListenAddress 192.168.1.150 192.168.1.120 Parámetro PermitRootLogin Especificamos si el superusuario podrá conectarse mediante SSH PermitRootLogin no Parámetro X11Forwarding Especificamos si es necesario que se ejecuten aplicaciones gráficas mediante SSH X11Forwarding no UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Parámetro AllowUsers Especificamos que usuarios se conectarán mediante SSH AllowUsers Alex, Lalo, Eli, gordito También se puede restringir el acceso por usuario y host AllowUsers [email protected] [email protected] [email protected] [email protected]

Reiniciamos el SSH #/etc/init.d/ssh restart

Conclusiones SSH es el protocolo mejorado de Telnet que a diferencia de este que realiza la conexión en texto plano, encripta la información para que esta en caso de ser esnifada por un programa como Wireshark, el contenido no sea visible.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

1. Configuraciones De Saba en Gnu/Linu Debian Instalación Mediante el Synaptic o por medio de la consola instalamos el paquete samba. Apt-get install samba Es muy útil instalar además el paquete smbclient. Lo usaremos para comprobaciones. En el proceso, se instalarán los paquetes -sino hemos instalado con anterioridad algún otro relacionado con la Suite- samba, samba-common, samba-common-bin y tdb-tools. Además, se crea el archivo/etc/samba/smb.conf. Este archivo se creará siempre y cuando se instalen los paquetes samba-common y samba-common-bin, y no se borrará del sistema hasta tanto no los des instalemos. El archivo smb.conf es el más importante de la Suite Samba Samba tiene una enorme cantidad de opciones de configuración, la mayoría de las cuales no se muestran en el ejemplo de smb.conf que instala por defecto. Las opciones comentadas con un “;” se consideran lo suficientemente importantes como para mostrarlas y sus valores propuestos difieren de los valores por defecto del comportamiento de Samba. Las opciones de configuración comentadas con un “#“, tienen los valores por defecto de Samba, y también se consideran importantes como para ser mostradas. Si deseamos ver el contenido del archivo, debemos ejecutar: nano /etc/samba/smb.conf Lo primero que debemos hacer es una copia del archivo /etc/samba/smb.conf. En el propio archivo encontramos la forma en que Samba recomienda hacer una copia de trabajo, la cual detallamos a continuación. Como root ejecutamos: cd /etc/samba mv smb.conf smb.conf.master

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

testparm -s smb.conf.master > smb.conf root@miwheezy:/etc/samba# ls -l total 32 -rw-r--r-- 1 root root 8 nov 10 2002 gdbcommands -rw-r--r-- 1 root root 805 ago 4 12:05 smb.conf -rw-r--r-- 1 root root 12173 ago 4 12:05 smb.conf.master Observen la diferencia de tamaño entre el smb.conf generado de ésta forma y el original. Al ser menor el tamaño, el rendimiento del servidor aumenta acorde a lo indicado por el Samba Team. El contenido inicial del archivo /etc/samba/smb.conf será (recuerden que no desarrollaremos el compartir impresoras): [global] workgroup = LAPIZ security = user server string = %h server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword$ unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [homes] comment = Home Directories valid users = %S create mask = 0700 directory mask = 0700 browseable = No

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Los valores resaltados en negritas son los únicos que debemos modificar inicialmente. Observen que, a pesar de ser el comportamiento por defecto de Samba, hemos declarado explícitamente la opciónsecurity = user dada su gran importancia. Regla de Oro: Mientras menos cambiemos y/o adicionemos parámetros al archivo smb.conf sin antes conocer al detalle que es lo que queremos lograr, será Mucho Mejor. A continuación damos un apretado resumen de algunas de las opciones mostradas. Para más información, por favor ejecuten man smb.conf. 

  



  

 

workgroup: Controla en cual Grupo de Trabajo aparecerá el equipo al hacer un browser de la red. Este parámetro también controla el nombre del Dominio cuando se trabaja con la opción security = domain y en la cual se une el equipo a un Dominio. Lo veremos en artículos posteriores. El valor por defecto es WORKGROUP. security: Parámetro que afecta el cómo los clientes responden a Samba y es uno de los más importantes del archivo smb.conf. El valor por defecto es user. server string: Controla que nombre se muestra en los comentarios que aparecen en un browser de red próximo al nombre del equipo. map to guest: Parámetro que sólo es útil cuando se establece security = user o security = domain. El valor “Bad User” le indica a Samba que rechace una contraseña no válida, a menos que NO exista el usuario, en cuyo caso se le tratará como Invitado o “guest“. Si no queremos permitir sesiones de invitados, debemos cambiar su valor a Never, el cual precisamente es el valor por defecto, y también cambiar el parámetro usershare allow guest a no, el cual también es el valor por defecto. obey pam restrictions: Controla si Samba debe obedecer o no las restricciones propias de PAM “Plugable Authentication Module“, en cuanto a las Directivas de Administración de Cuentas de Usuario y Sesiones. El valor por defecto es no. pam password change: Le indica a Samba que utilice a PAM para los cambios de contraseñas solicitados por un cliente SMB. El valor por defecto es no. passwd program: Programa utilizado para establecer las contraseñas UNIX de los usuarios. passwd chat: Cadena que controla la conversación que tiene lugar entre el demonio smbd y el programa local para el cambio de contraseña definido en el parámetro anterior. unix password sync: Le indica a Samba que sincronice la contraseña SMB con la contraseña UNIX, siempre y cuando la primera cambie. El valor por defecto es no. valid users: Lista de usuarios a los cuales se le permite iniciar una sesión en un recurso compartido.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Reiniciar o Recargar el servicio Samba Siempre que hagamos cambios significativos, sobre todo en la sección “[global]” del smb.conf, debemos reiniciar el servicio. Si ya tenemos usuarios conectados a nuestro servidor, cada vez que reiniciamos Samba, los desconectaremos. Es por lo cual, y prácticamente en lo adelante, solo Recargaremos el servicio cuando agreguemos o modifiquemos recursos compartidos. Para reiniciar el servicio, ejecutamos como root: service samba restart

Para bajar y alzar el servicio con la opción larga /etc/init.d/samba stop /etc/init.d/samba start Para recargar el servicio: service samba reload Adicionamos los usuarios al sistema y a la base de datos de usuarios Samba Solo podemos añadir a la base de datos de usuarios Samba aquellos usuarios que ya existan en nuestro servidor local. En nuestro ejemplo, el usuario Alex, Eli, Lalo y gordito fueron añadidos. Por tanto, no lo adicionaremos a los usuarios del equipo. El grupo users existe en el sistema y se creó durante la instalación. Algunas opciones del comando smbpasswd son:    

-a: Añade el usuario indicado al archivo local smbpasswd. -x: El usuario indicado debe ser eliminado de la del archivo local smbpasswd. Sólo disponible cuando smbpasswd se ejecuta como root. -d: Se debe deshabilitar la cuenta del usuario indicado. Sólo disponible cuando smbpasswd se ejecuta como root. -e: Lo contrario de la opción -d siempre y cuando la cuenta del usuario esté deshabilitada.

Para crear los usuarios en nuestra equipo, lo hacemos con el conocido comando adduser.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

adduser Alex adduser Eli adduser Lalo adduser gordito Para crear el grupo contadores: addgroup amigos Para adicionar a los usuarios a la base de datos de Samba: smbpasswd -a Alex smbpasswd -a Eli smbpasswd -a Lalo smbpasswd -a gordito Unimos al grupo contadores a los usuarios que queramos: adduser Alex amigos adduser Eli amigos adduser Lalo amigos adduser gordito amigos Es recomendable unir cada usuario creado al grupo users, por si queremos otorgar permisos a todos los usuarios que hemos creado, sobre un recurso determinado. Una forma más sencilla de unir varios usuarios a un grupo es editando directamente el archivo /etc/group, y añadiendo la lista de usuarios separados por una coma. Pueden guiarse por el grupo amigos. Damos por hecho de que unimos los usuarios al grupo users. Adicionamos recursos compartidos Ejemplo 1: Queremos compartir la carpeta /lapiz para todo el mundo. El permiso será de sólo lectura y escritura, sin identificación y se llamara pública. [publica] path = /lapiz/ read only = no security = share null password = yes case sensitive = no comment = carpeta publica accesible desde la web guest ok = yes

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm browseable = yes unmask = 000

Después de las modificaciones al archivo, ejecutamos testparm como el usuario xeon y recargamos el servicio como root. También podemos ejecutar ambos comandos como root: testparm service samba reload Para comprobar el servicio recién configurado lo podemos hacer mediante la ejecución del siguiente comando en el propio equipo: smbclient -L localhost -U% Ejemplo 2: Queremos compartir la carpeta /home/amigos/Alex para el usuario registrado Alex. Los permisos serán de lectura/escritura para Alex y de sólo lectura para el resto de los usuarios pertenecientes al grupo amigos. No tenemos necesidad de modificar el propietario o los permisos en la carpeta. Sólo cambiamos un poco la configuración del recurso compartido en el archivo smb.conf. [Alex] comment = Directorio Compartido path = /home/amigos/Alex/ read only = yes write list = Alex valid users = Alex,Eli,Lalo,gordito directory mask = 0775 create mask = 0644

Ejemplo 3: Queremos compartir la carpeta /home/amigos/Eli para el grupo de usuarios amigos. Todos los miembros del grupo tendrán permiso de lectura. El usuario Eli podrá leer y escribir en el carpeta compartida. [Eli] comment = Directorio Compartido path = /home/amigos/Eli read only = yes write list = Eli valid users = Alex,Eli,Lalo,gordito directory mask = 0775 create mask = 0644

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Ejemplo 4: Queremos compartir la carpeta /home/amigos/Alex para el usuario registrado Lalo. Los permisos serán de lectura/escritura para Lalo y de sólo lectura para el resto de los usuarios pertenecientes al grupo amigos. [Lalo] comment = Directorio Compartido path = /home/amigos/Lalo read only = yes write list = Lalo valid users = Alex,Eli,Lalo,gordito directory mask = 0775 create mask = 0644

Ejemplo 5: Queremos compartir la carpeta /home/amigos/Eli para el grupo de usuarios amigos. Todos los miembros del grupo tendrán permiso de lectura. El usuario Eli podrá leer y escribir en el carpeta compartida. [Gordito] comment = Directorio Compartido path = /home/amigos/gordito read only = yes write list = gordito valid users = Alex,Eli,Lalo,gordito directory mask = 0775 create mask = 0644

Ejemplo6: Queremos compartir la carpeta /mnt/samba para el grupo de usuarios amigos. Todos los miembros del grupo tendrán permiso de lectura. Los usuarios del grupo amigos podrá leer y escribir en el carpeta compartida. [compartidos] comment = Directorio Compartido path = /mnt/samba read only = yes write list = Alex,Eli,Lalo,gordito valid users = Alex,Eli,Lalo,gordito directory mask = 0775 create mask = 0644

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Después de las modificaciones al archivo, ejecutamos testparm como el usuario xeon y recargamos el servicio como root. También podemos ejecutar ambos comandos como root: testparm service samba reload Es imprescindible entender como manejar el comportamiento del sistema de archivos desde el smb.conf, así como comprender como funciona la seguridad del sistema de archivos UNIX/Linux. En estos casos debemos:   

Declarar a conveniencia quien será el Usuario Propietario y quien el Grupo Propietario del Directorio Compartido. Permitir la escritura en el Directorio Compartido por parte del Grupo Propietario. Declarar adecuadamente en el archivo smb.conf los modos de creación de archivos y directorios dentro de nuestro recurso compartido.

Importante: El usuario Alex o el usuario Eli, Lalo o gordito y en general cualquier miembro del grupo amigos, puede escribir desde una sesión local iniciada en el mismo equipo o mediante ssh, o sea, sin utilizar el protocolo SMB/CIFS. Si crean una carpeta o un archivo de forma local, recuerden reasignar los permisos adecuados. Comprueben mediante ls -l. No hacer lo anterior es origen de muchas confusiones.

Conclusiones El paquete samba permite compartir ficheros e impresoras entre máquinas Windows y máquinas Linux con un montón de opciones y, en el caso de Linux, un control casi absoluto del acceso.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

2. Configuraciones De Dennyhosts y Fail2ban en Gnu/Linu Debian Instalaremos y configuraremos estas dos aplicaciones para que trabajen conjuntamente para la seguridad de nuestro servidor. Antes que nada explicaremos qué son estas dos aplicaciones y cuál es su función:

Fail2Ban Es un analizador de logs que busca intentos fallidos de registro y bloquea las IP’s de donde provienen estos intentos. Se distribuye bajo la licencia GNU y típicamente funciona en todos los sistemas que tengan interfaz con un sistema de control de ataques o un firewall local. Fail2Ban tiene una gran configuración pudiendo, además, crear reglas para programas propios o de terceros.

DenyHOSTS Es una herramienta de seguridad escrita en python que monitorea los registros del servidor de acceso para prevenir ataques de fuerza bruta en un servidor virtual. El programa funciona mediante la prohibición de direcciones IP que superan un determinado número de intentos de conexión fallidos. Estas aplicaciones para Linux -DenyHosts y Fail2ban- pueden usarse por separado o de forma conjunta. En este caso las configuraremos a las dos trabajando juntas.

Instalación Apt-get install fail2ban

Apt-get install denyhosts

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Configuración de Fail2Ban Para prevenir ataques ante nuestro servidor hay que configurar Fail2Ban para que analice los logs que deseamos y bloquee IP’s, enviando notificaciones vía e-mail. Para ello debemos modificar el archivo jail.conf que encontramos en /etc/fail2ban Nano /etc/fail2ban/jail.conf En este archivo se debe realizar lo siguiente:   

Modificar es el valor bantime, este valor determina el tiempo en segundos que quedará bloqueada la IP del atacante, por defecto el valor viene en 600 segundos. Buscar el valor maxretry que serán el número de veces que una IP puede tener una autenticación fallida antes de ser bloqueada. Agregar nuestras ip’s en el parámetro ignoreip. Aquí la aplicación pasara por alto nuestras IP autenticadas en dicho parámetro.

[DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space separator. ignoreip = 127.0.0.1 # "bantime" is the number of seconds that a host is banned. bantime = 600 # A host is banned if it has generated "maxretry" during the last "findtime" # seconds. findtime = 600 # "maxretry" is the number of failures before a host get banned. maxretry = 3

Puede quedar es de la siguiente manera:

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

ignoreip = 127.0.0.1 192.168.1.3 192.168.1.3 192.168.1.4 192.168.1.5 bantime = 800 maxretry = 2

Configurar Fail2Ban y SSH Para que busque intentos fallidos de logueo por SSH modificamos el archivo agregando los siguientes parámetros hasta que quede como lo que sigue a continuación: [ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, [email protected], sender=fail2ban@localhost] logpath = /var/log/secure maxretry = 3 bantime = 86400

No olvides que si modificas el puerto donde escucha el SSH, deberás modificar también el parámetro port. Esta aplicación no sólo funciona para accesos no autorizados en SSH, también para apache, para que lea los registros de Asterisk, etc.

Configuración de DenyHOSTS

El archivo de configuración se encuentra en /etc/denyhosts.conf

Modificación archivo denyhosts.conf

Para no ir tan a fondo en las configuraciones, en este archivo sólo vamos a editar y descomentar algunos parámetros. Éstos son:

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911 SYNC_INTERVAL = 1h SYNC_UPLOAD = yes SYNC_DOWNLOAD = yes SYNC_DOWNLOAD_THRESHOLD = 3 SYNC_DOWNLOAD_RESILIENCY = 5h

Así, dejaremos una configuración prácticamente por defecto, pero con una gran seguridad frente ataques por SSH. Editamos el siguiente archivo para que nos permita tener acceso a ssh sin que nos banee por error. Nano /etc/hosts.allow

sshd: 127.0.0.1 sshd: 192.168.1.3 sshd: 192.168.1.4 sshd: 192.168.1.5

Despues de esto, reiniciamos los servicios: /etc/init.d/fail2ban stop /etc/init.d/fail2ban start /etc/init.d/denyhosts stop /etc/init.d/denyhosts start Y para finalizar probamos nuestros servicios baneando una ip 3 veces de por ejemplo la 192.168.1.3 de acuerdo a nuestro parámetro maxretry, quitando esa Ip del Hosts.allow y del ignoreip del archivo jail.conf de fail2ban

Conclusiones Denyhosts es una utilidad de seguridad muy sencilla y útil. Monitoriza los logs de acceso a nuestro servidor linux y banea las ips tras un número de accesos fallidos y junto con fail2ban que es un script son potentes para proteger un servidor ante ataques de fuerza bruta.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

3. Configuraciones De NFS en Gnu/Linu Debian

En este documento hemos tratado de manera extensa la compartición de archivos y carpetas con SAMBA, que nos permite compartir recursos entre máquinas Linux y Windows. En esta sección hablaremos de NFS, el protocolo de compartición en red entre sistemas GNU/Linux. NFS es un acrónimo de Network File System (Sistemas de archivos en red) Se trata de un protocolo a nivel de aplicación, siguiendo el modelo OSI. Se utiliza para compartir recursos en red, permitiendo que el sistema operativo cliente los vea como propios. Va incluido en todos los sistemas UNIX y la mayoría de distribuciones GNU/Linux. NFS utiliza las listas de control de acceso (ACL) y DNS para su seguridad. Tiene que estar muy bien configurado para no tener fugas de información.

Instalación en máquina servidor Supongamos que tenemos un servidor, donde queremos que se almacene una serie de información que tiene que estar disponible para los usuarios. Lo primero de todo es instalar los paquetes necesarios para tal. En el servidor debemos de instalar dos paquetes: 

nfs-kernel-server, habilita el soporte NFS para nuestro kernel



nfs-common, conjunto de herramientas cliente y servidor para el funcionamiento de NFS.

Procedemos a la instalación, en nuestro caso en un servidor Debian 7 Wheezy: Apt-get install nfs-kernel-server Apt-get install nfs-common

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Una vez instalado, para poder compartir tenemos que editar el fichero/etc/exports, que es donde indicaremos los recursos compartidos, la configuración de la red y los permisos. Cada recursos ocupa una línea, en la primera parte indicamos la ubicación del recurso, en la segunda los datos de red (IP y máscara) de los clients (hosts), en la tercera los usuarios y grupos a compartir el recurso median el UID y el GUID y por último los permisos otorgados al recurso. En la carpeta /media/HDExterno, tenemos la subcarpeta Alex, Eli, Lalo y gordito, que vamos compartir, en sólo lectura y escritura, para que los usuarios puedan verlos, modificarlos y crear nuevos. /media/HDExterno/gordito 192.168.1.6(rw,all_squash,anonuid=1015,anongid=1004) /media/HDExterno/eli 192.168.1.4(rw,all_squash,anonuid=1011,anongid=1004) /media/HDExterno/lalo 192.168.1.3(rw,all_squash,anonuid=1012,anongid=1004) /media/HDExterno/alex 192.168.1.5(rw,all_squash,anonuid=1000,anongid=1000) /media/HDExterno/Documentos_Alex 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000) /mnt/particion/Proyecto 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000)

Como se observa creamos una carpeta en media que se llama HDExterno con el comando mkdir desde la terminal

Cd /media Mkdir HDExterno Cabe mencionar que nuestro disco duro se encuentra en el directorio /dev/sdb1, si desconocen el paradero del disco duro, pueden consultarlo con el comando fdisk –l. Montamos el disco duro en el directorio en /media/HDExterno Mount /dev/sdb1 /media/HDExterno Para describir los recursos compartidos: /media/HDExterno/gordito 192.168.1.6(rw,all_squash,anonuid=1015,anongid=1004) Compartimos el recurso gordito del disco duro que esta montada en HDExterno al host 1.6 de la red 192.168 al usuario gordito que tiene como UID:1014 y pertenece al grupo amigos que tiene como GUID=1004 /media/HDExterno/eli 192.168.1.4(rw,all_squash,anonuid=1011,anongid=1004)

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm Compartimos el recurso eli del disco duro que esta montada en HDExterno al host 1.4 de la red 192.168 al usuario eli que tiene como UID:1011 y pertenece al grupo amigos que tiene como GUID=1004 /media/HDExterno/lalo 192.168.1.3(rw,all_squash,anonuid=1012,anongid=1004) Compartimos el recurso lalo del disco duro que esta montada en HDExterno al host 1.3 de la red 192.168 al usuario lalo que tiene como UID:1012 y pertenece al grupo amigos que tiene como GUID=1004 /media/HDExterno/alex 192.168.1.5(rw,all_squash,anonuid=1000,anongid=1000) Compartimos el recurso alex del disco duro que esta montada en HDExterno al host 1.5 de la red 192.168 al usuario alex que tiene como UID:1000 y pertenece al grupo alex que tiene como GUID=1000 /media/HDExterno/Documentos_Alex 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000) Compartimos el recurso Documentos_Alex del disco duro que esta montada en HDExterno a toda la red que pertenezca a a 192.168.1.0 a 254 host al primer usuario del sistema que tiene como UID:1000 y pertenece al grupo primero del sistema que tiene como GUID=1000 /mnt/particion/Proyecto 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000) Compartimos el recurso proyectos del disco duro que esta montada en HDExterno a los hosts que pertenezcan a la red 192.168.1.0. A continuación reiniciamos servicios: /etc/init.d/nfs stop /etc/init.d/nfs start

Después comprobamos las exportaciones: Showmount –export 127.0.0.1

Instalación en máquina cliente Ya hemos visto con configurar la compartición vía NFS en el servidor. Ahora vamos a configurar el cliente. Sólo nos hará falta instalar el paquete nfs-common. 

nfs-common, conjunto de herramientas cliente y servidor para el funcionamiento de NFS. 

Apt-get install nfs-common

Comprobaremos que efectivamente el directorio está compartido en el servidor de nf que en este caso es la 1.2, y lo podemos ver, con el comando showmounts

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Showmount –export 192.168.1.2 Si nos ha devuelto una respuesta correcta que lanzamos en el servidor con el mismo comando, todo va bien. Sólo nos queda montar la unidad modificando el archivo /etc/fstab , si en cambio nos ha dado algún error, debemos confirmas que nuestra IP está dentro de la red admitida o que el puerto en el FIREWALL para NFS, que es el 2049 esté abierto. Añadiremos los datos a la línea del fichero: /nano /etc/fstab 192.168.1.2:/media/HDExterno/Documentos_Alex /media/HDExterno nfs rw 0 0 192.168.1.2:/mnt/particion/Proyecto /mnt/particion/ nfs rw 0 0 192.168.1.2:/media/HDExterno/alex /media/alex nfs rw,user 0 0 192.168.1.2:/media/HDExterno/eli /media/eli nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 0 0 192.168.1.2:/media/HDExterno/lalo /media/lalo nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 00 192.168.1.2:/media/HDExterno/gordito /media/gordito nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 0 0

Explicacion: 192.168.1.2:/media/HDExterno/Documentos_Alex /media/HDExterno nfs rw 0 0 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /media/HDExterno/Documentos_Alex y los montamos en la dirección /media/HDExterno de tipo NFS con permisos de escritura y lectura 192.168.1.2:/mnt/particion/Proyecto /mnt/particion/ nfs rw 0 0 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /mnt/particion y los montamos en la dirección /mnt/particion de tipo NFS con permisos de escritura y lectura

192.168.1.2:/media/HDExterno/alex /media/alex nfs rw,user 0 0 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /media/alex y los montamos en la dirección /media/HDExterno de tipo NFS con permisos de escritura y lectura

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm 192.168.1.2:/media/HDExterno/eli /media/eli nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 0 0 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /media/HDExterno/eli y los montamos en la dirección /media/eli de tipo NFS con permisos de escritura y lectura

192.168.1.2:/media/HDExterno/lalo /media/lalo nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 00 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /media/HDExterno/lalo y los montamos en la dirección /media/lalo de tipo NFS con permisos de escritura y lectura

192.168.1.2:/media/HDExterno/gordito /media/gordito nfs rw,user,noauto,rsize=4096,wsize=4096,noatime 0 0 Montamos el recurso compartido del servidor 1.2 que se encuentra en la carpeta /media/HDExterno/gordito y los montamos en la dirección /media/gordito de tipo NFS con permisos de escritura y lectura

Recordamos que el archivo donde se montará la carpeta ha de existir, lo podemos crear con: Cabe mencionar que tenemos que tener creadas las carpetas anteriormente con el comando Mkdir y otorgarles permisos Mkdir /media/HDExterno Mkdir /media/eli Mkdir /media/lalo Mkdir /media/alex Mkdir /media/gordito Mkdir /mnt/particion Solo nos queda reiniciar el host cliente para cada usuario en cada host para que se monte en cada usuario.

Conclusiones El Servidor NFS es muy útil a la hora de tratar de compartir archivos y no solo archivos, si no también que particiones de discos duros como un servicio en la nube ante cientos y miles de usuarios con cuenta, con otros Sistemas GNU / Linux o con cualquier cliente

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

4. Configuraciones De FTP con VSSFTPD en Gnu/Linu Debian

En ocasiones necesitamos compartir archivos en nuestro servidor, con el control de permisos por medio de usuarios. Especialmente en servidores web se utiliza el FTP para subir los archivos de la web que se encuentra en el servidor. Utilizaremos vsftpd, es un servidor FTP para sistemas tipo Unix, incluyendo Linux, y su nombre proviene de las siglas en inglés Very Secure FTP Daemon. En comparación con otros programas de servidor ftp, vsftpd está construido para ser especialmente eficaz y muy seguro.

Instalar vsftpd Apt-get install vsftpd

Configuración Editaremos el archivo de configuración de vsftpd, tomando en cuenta los puntos mas importantes. Nano /etc/vsftpd.conf Los parámetros que modificaremos: 

listen = YES : Para que se inicie con el sistema.



anonymous_enable = NO : No permitimos que usuarios anónimos puedan conectarse a nuestro servidor. Es por seguridad.



local_enable = YES : Para poder conectarse con los usuarios locales del servidor donde está instalado.



write_enable = YES : Si quieres que los usuarios puedan escribir y no sólo descargar cosas.

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm 

local_umask = 022 : Esta máscara hace que cada vez que subas un archivo, sus permisos sean 755. Es lo más típico en servidores FTP.



chroot_local_user = YES



chroot_list_enable = YES : Sirven para que los usuarios locales puedan navegar por todo el árbol de directorios del servidor. Evidentemente esto sólo queremos permitírselo a ciertos usuarios, para ello tenemos el siguiente parámetro.



chroot_list_file = /etc/vsftpd.chroot_list : Indicamos el fichero donde están listados los usuarios que pueden navegar hacía arriba por los directorios del servidor, lo normal es que sea el administrador del servidor.

Crear grupo de usuario para FTP En este caso los usuarios que se conectarán no tendrán acceso al servidor vía SSH, por lo tanto debemos darles permisos especiales. Groupadd ftp Creamos una shell fantasma para que no puedan entrar a la consola del servidor: Mkdir /bin/ftp Editamos el listado de shells del sistema: Nano /etc/shells Agregamos nuestra shell fantasma: /bin/ftp

Usuario que pertenecerá al grupo FTP Debemos crear la carpeta del usuario en el servidor, será donde tendrá acceso vía FTP y asignamos los permisos correctos. Mkdir /home/ftp

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm Mkdir /home/ftp/alex1 Mkdir /home/ftp/eli1 Mkdir /home/ftp/lalo1 Mkdir /home/ftp/gordito1 Y asignamos permisos a cada carpeta con chmod Chmod –R 777 /home/ftp/alex1 Chmod –R 777 /home/ftp/eli1 Chmod –R 777 /home/ftp/lalo1 Chmod –R 777 /home/ftp/gordito1

Creamos el usuario que pertenece al grupo FTP sudo useradd -g ftp -d /home/ftp/usuarioftp -c "Nombre del Usuario" usuarioftp

sudo useradd -g ftp -d /home/ftp/alex1 -c Alex1 Alex1 sudo useradd -g ftp -d /home/ftp/eli1 -c Eli1 Eli1 sudo useradd -g ftp -d /home/ftp/lalo1 -c Lalo1 Lalo1 sudo useradd -g ftp -d /home/ftp/Gordito1 -c Gordito1 Gordito1

Entendamos los parámetros que usamos en la línea anterior: 

-g ftp = el usuario pertenece al grupo ftp.



-d /home/ftp/alex = El directorio principal del usuario es /home/ftp/usuarioftp.



-c “Nombre del Usuario” = el nombre completo del usuario.



usuarioftp = la última palabra será el nombre de usuario

Creamos la contraseña para el usuario:

Passwd Alex1 Passwd Eli1 UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm

Passwd Lalo1 Passwd Gordito1

Enjaular al usuario Esto significa que el usuario no podrá escalar en la jerarquía del directorio y solamente se mantendrá en si directorio. Buscamos nuestro usuario recién creado y cambiamos el bash por la Shell ficticia de ftp: Nano /etc/passwd usuarioftp:x:1004:118:Nombre del Usuario:/home/ftp/usuarioftp:/bin/ftp Alex1:x:1007:118:alex1:/home/ftp/usuarioftp:/bin/ftp Eli1:x:1008:118:eli1:/home/ftp/usuarioftp:/bin/ftp Lalo1:x:1009:118:lalo1:/home/ftp/usuarioftp:/bin/ftp Gordito1:x:1010:118:gordito1:/home/ftp/usuarioftp:/bin/ftp

Después le decimos que usuarios se podrán conectar al servidor FTP creando o editando el archivo chroot_list Nano /etc/vsftpd.chroot_list Alex1 Eli1 Lalo1 Gordito1 Una vez realizados todos los cambios reiniciamos el servidor de FTP: /etc/init.d/vsftpd stop /etc/init.d/vsftpd start Ahora ya tenemos un servidor de FTP funcional y con los privilegios adecuados para que nuestros usuario puedan almacenar archivos debidamente separados.

Conclusiones El servicio FTP permite subir y descargar archivos entre máquinas, trabajando en un modelo cliente/servidor. El acceso al servidor FTP puede manejarse de dos maneras: 

Anónimamente

UNIDAD III

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux Nombre: Alexis Jair López Gutiérrez 15:00/16:00 pm 

De forma autenticada

En el modo anónimo, los clientes remotos acceden al servidor FTP usando un usuario por defecto, llamado "anonymous" (interesante nombre :)) o "ftp" y enviado una dirección de email como contraseña. En el modo autenticado un usuario debe tener una cuenta y una contraseña. El acceso que el usuario tiene a los directorios del servidor FTP depende de los permisos de la cuenta empleada en el inicio de sesión. Como regla general, el servidor FTP mostrará a cada usuario su directorio "home" como directorio raíz, ocultándole el resto del sistema.

UNIDAD III