Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Configuracion de
Programas en
Gnu/Linux
M. en C. Nicols
Alonzo
Gutirrez
Alexis Jair Lpez
Gutirrez
Contenido
Configuraciones De SSH en Gnu/Linu Debian ........................................................................3
1.
Conclusiones .......................................................................................................................... 4
1.
2.
3.
UNIDAD III
UNIDAD III
Parmetro AllowUsers
Especificamos que usuarios se conectarn mediante SSH
AllowUsers Alex, Lalo, Eli, gordito
Tambin 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 conexin en texto plano, encripta la informacin para que
esta en caso de ser esnifada por un programa como Wireshark, el
contenido no sea visible.
UNIDAD III
UNIDAD III
UNIDAD III
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
explcitamente la opcinsecurity = user dada su gran importancia.
Regla de Oro: Mientras menos cambiemos y/o adicionemos parmetros al archivo
smb.conf sin antes conocer al detalle que es lo que queremos lograr, ser Mucho Mejor.
A continuacin damos un apretado resumen de algunas de las opciones mostradas. Para
ms informacin, por favor ejecuten man smb.conf.
UNIDAD III
Para crear los usuarios en nuestra equipo, lo hacemos con el conocido comando adduser.
UNIDAD III
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 ms
sencilla de unir varios usuarios a un grupo es editando directamente el archivo /etc/group, y
aadiendo 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
slo lectura y escritura, sin identificacin y se llamara pblica.
[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
UNIDAD III
UNIDAD III
Conclusiones
El paquete samba permite compartir ficheros e impresoras entre mquinas
Windows y mquinas Linux con un montn de opciones y, en el caso de
Linux, un control casi absoluto del acceso.
UNIDAD III
Fail2Ban
Es un analizador de logs que busca intentos fallidos de registro y bloquea las IPs de donde
provienen estos intentos. Se distribuye bajo la licencia GNU y tpicamente funciona en todos
los sistemas que tengan interfaz con un sistema de control de ataques o un firewall local.
Fail2Ban tiene una gran configuracin pudiendo, adems, 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 prohibicin de direcciones IP que superan un determinado nmero de intentos de
conexin 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.
Instalacin
Apt-get install fail2ban
UNIDAD III
Configuracin de Fail2Ban
Para prevenir ataques ante nuestro servidor hay que configurar Fail2Ban para que analice los
logs que deseamos y bloquee IPs, enviando notificaciones va 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 sern el nmero de veces que una IP puede tener una
autenticacin fallida antes de ser bloqueada.
Agregar nuestras ips en el parmetro ignoreip. Aqu la aplicacin pasara por alto
nuestras IP autenticadas en dicho parmetro.
[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
UNIDAD III
No olvides que si modificas el puerto donde escucha el SSH, debers modificar tambin el
parmetro port.
Esta aplicacin no slo funciona para accesos no autorizados en SSH, tambin para apache,
para que lea los registros de Asterisk, etc.
Configuracin de DenyHOSTS
Para no ir tan a fondo en las configuraciones, en este archivo slo vamos a editar y descomentar
algunos parmetros. stos son:
UNIDAD III
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 configuracin prcticamente 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
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 nmero de accesos fallidos y junto con fail2ban
que es un script son potentes para proteger un servidor ante ataques de fuerza bruta.
UNIDAD III
UNIDAD III
Una vez instalado, para poder compartir tenemos que editar el fichero/etc/exports, que es
donde indicaremos los recursos compartidos, la configuracin de la red y los permisos.
Cada recursos ocupa una lnea, en la primera parte indicamos la ubicacin del recurso, en la
segunda los datos de red (IP y mscara) 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 slo 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
UNIDAD III
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 direccin /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 direccin /mnt/particion de tipo NFS con permisos de escritura y lectura
UNIDAD III
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 tambin 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
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 ingls Very Secure FTP Daemon. En comparacin con otros programas de
servidor ftp, vsftpd est construido para ser especialmente eficaz y muy seguro.
Instalar vsftpd
Apt-get install vsftpd
Configuracin
Editaremos el archivo de configuracin de vsftpd, tomando en cuenta los puntos mas importantes.
Nano /etc/vsftpd.conf
Los parmetros que modificaremos:
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 slo descargar cosas.
UNIDAD III
local_umask = 022 : Esta mscara hace que cada vez que subas un archivo, sus permisos sean
755. Es lo ms tpico 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 slo queremos permitrselo a ciertos
usuarios, para ello tenemos el siguiente parmetro.
UNIDAD III
Passwd Alex1
Passwd Eli1
UNIDAD III
Passwd Lalo1
Passwd Gordito1
Enjaular al usuario
Esto significa que el usuario no podr escalar en la jerarqua del directorio y solamente se
mantendr en si directorio.
Buscamos nuestro usuario recin 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
Despus le decimos que usuarios se podrn 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 mquinas, trabajando en
un modelo cliente/servidor. El acceso al servidor FTP puede manejarse de dos
maneras:
Annimamente
UNIDAD III
De forma autenticada
UNIDAD III