Sie sind auf Seite 1von 27

Instituto Tecnológico De Apizaco

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

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

NOMBRE DE LA MATERIA: Sistemas Operativos I

Carrera:

Comunicación

Ing. Tecnologías De La Información Y

Resportes De

Configuracion de

Programas en

Gnu/Linux

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

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

1.

Configuraciones De SSH en Gnu/Linu Debian

3

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

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

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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 Alex@192.168.1.2 Lalo@192.168.1.3 Eli@192.168.1.4

gordito@192.168.1.5

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.

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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 -rw-r--r-- 1 root root

-rw-r--r-- 1 root root 12173 ago 4 12:05 smb.conf.master

8 nov 10 2002 gdbcommands 805 ago 4 12:05 smb.conf

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.

adduser Alex adduser Eli adduser Lalo adduser gordito INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes

adduser Alex adduser Eli adduser Lalo adduser gordito

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

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

browseable = yes unmask = 000 INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion

browseable = yes unmask = 000

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

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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:

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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, dest=alexistegno@gmail.com, 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:

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.
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.

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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)

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

0 0 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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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 0 0 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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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

Passwd Lalo1 Passwd Gordito1 INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes

Passwd Lalo1 Passwd Gordito1

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

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

INSTITUTO TECNOLÓGICO DE APIZACO INGENIERÍA TIC’S Reportes De Configuracion De Paquetes Para Sistemas Gnu/Linux

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.