Está en la página 1de 11

SistemasyServiciosenRed

ConfiguracinServidorFTPCentos7

Autor:PabloAndrsBernabuSoler

EnestaprcticaseinstalaryconfigurarunservidorFTP.Paraello,seseguirnlossiguientes
pasos:
1. PasosPrevios
3. Seguridad
4. Creacindirectorios.CreacindeUsuariosyGrupos
5. Cuotasdedisco
6. Logging

1. PasosPrevios
Configurelastarjetasdereddelservidor:

VLANProduccin: DireccinIP10.XX.99.220
DNSlosservidoresdelaUPV
VLANGestin: DireccinIP10.XX.100.220
VLANStorage: DireccinIP10.XX.200.2220

NombrealamquinaconelnombreftpC.grupoXX.net
ApartirdeentoncesaccedaarealizarlagestinatravsdelaVLANdegestin.Configureel
accesosshsloporlaIPindicadaenlaVLANdeGestin.
Reinicielamquina.

2. InstalacindelservicioFTPyconfiguracin
FTP (File Transfer Protocol) es un protocolo TCP/IP que permite transferir ficheros entre un
servidoryuncliente.CualquierservidorLINUXpuedellegaraserunservidorFTPinstalandoel
softwareapropiado.
LosusuariosdeunsistemapuedenserasuvezusuariosFTP.Cuandolosusuariosaccedenal
servidorFTP,empiezanlasesinensudirectoriohome.
El primer paso que vamos a realizar, va a ser, la instalacin del servicio Very Secure FTP
Daemon(vsftp)enLinuxCentosRedHat7paralacompaagrupoXX.net
Unabuenaprcticaesactualizarlospackages.
root@ftpC ~]# yum -y update

Instalamosvsftpdylospaquetesrequeridos
root@ftpC ~]# yum -y install vsftpd

ElservidorFTPserinstaladoconlossiguientesrequerimientos:
LosusuariosFTPsernusuarioslocales.
SistemasyServiciosenRed
EldirectorioinicialparalosusuariosFTPser/datos/ftp
NavegarporelsistemadeficherosnoestarpermitidoparaningnusuarioFTP.
Elaccesoannimonoestarpermitido.
Los usuarios FTP no pueden entrar al sistema (no pueden acceder mediante login y
password,nopuedenaccedervashell).
Estardeshabilitadoelaccesocomousuarioroot
LamximavelocidaddetransferenciaparalosusuariosFTPserde10Mbps(1.250.000
bps).
El servidor slo escuchar peticiones FTP que lleguen por la VLAN de produccin
(10.XX.99.220)

Paraellodebeestablecerparmetrosdeconfiguracinenelficherovsftpd.conf.Abraelfichero

[root@ftpC ~]# vi /etc/vsftpd/vsftpd.conf

Aadaalfinaldelmismo:
listen_address=10.XX.99.220 (sloescuchaVLANproduccin)
local_max_rate=1250000 (establecemoslamximavelocidaddetransmisin)

Busque las directivas local_enable y anonymous_enable quite comentarios y verifique que su
atributoeselindicado.
local_enable=YES (habilitausuarioslocales)
anonymous_enable=NO (nopermiteelaccesoannimo)

Paraconseguirquelaconexinalusuariorootestdeshabilitada,hemosdetenerladirectiva
auserlist_enableaYES.Deestaformalosusuariosqueaparecenenelficherovi /etc/vsftpd/user_list,
nosonpermitidos,yaquepordefectouserlist_deny=YES
SistemasyServiciosenRed
Siporelcontrario,quisiramospermitirlaconexinslodelosusuarioslistadosenestefichero,
tendramosqueaadirladirectiva userlist_deny=NO,paraquenoseejecutasepordefectoque
esYES.
Ahoratenemosqueconseguirquenuestrosusuariosnopuedannavegarfueradesudirectorio
asignado.
Enprimerlugar,paraquelosusuariosestnenjauladosensudirectorioFTPladirectiva
chroot_local_user tienequetenerasignadaelvalorde YES.
Losnombresdeusuariosvirtualesqueagregamosalalista /etc/vsftpd/chroot_list sern
aquellosusuariosqueSIpodrnnavegarportodoelsistemadearchivoscuandola
directiva chroot_local_user=YES, por este motivo, slo agregaremos a esta lista los
usuarios que necesitan acceder a todo el sistema de archivos, y a todos aquellos
usuariosvirtualesquenoincluidosenelarchivo chroot_listquedarnbienenjaulados.
(Estaopcinlaactivamosparapermitirlaposibilidaddetenerunosusuariosenjaulados
ono)
Comoresumen:
# Enjaula a los usuarios locales dentro de su propio directorio personal, esta opcin mejora la seguridad.
chroot_local_user=YES

# Permite especificar una lista con los usuarios locales a los cuales
# no se les enjaular cuando la opcin chroot_local_user = YES.
chroot_list_enable=YES

# Especifica la ruta en donde se encuentra la lista, en mi caso he


# creado una carpeta en el directorio /etc llamada vsftpd, en la
# cual coloqu el archivo de texto (vsftpd.chroot_list) que contiene
# la lista.
chroot_list_file=/etc/vsftpd/chroot_list

Ademsdebemoscrearelficherochroot_list:
touch /etc/vsftpd/chroot_list

Ydejarlodemomentovaco.
Procedapuesconlainformacinindicadaaconfigurarelservicioftp.
Configureelarranqueautomtico.
systemctl enable vsftpd.service
systemctl start vsftpd
Unavezconfigurado,lomsrecomendableesreiniciarelservidor,conlocualnosaseguramos
queloscambiosquedanaceptadosyfuncionales.
Actividades
Creeeldirectorio/datos/ftp.
Creeunusuariodummyparatestearelservicio(user:dummy,password=pa$$wOrd)
ChequeeelservicioFTPestfuncionandoyescuchandoporlaVLANdeproduccin.
ChequeelaconexindesdeelhostusandoFILEZILLA.

SistemasyServiciosenRed
Cuando creamos el directorio lo hacemos como root y deben usarlo otros usuarios, por ello
cambiamoslospermisosdeldirectorio:chmod R 777 /datos/ftp
Consideraciones:
Paraverificarelserviciopuedeinstalarlasherramientasdered.

[root@ftpC /]# yum install net-tools

Yejecutarnetstat -pan |more


ComopodemosobservarenlaprimeralneaescuchavsftpdporlaIP10.0.99.220yelpuerto21.

Paracrearelusuario(busqueeninternetparaentenderelcomandouseradddeCentos):
useradd -d /datos/ftp/dummy -m -s /usr/sbin/nologin -c "Dummy D." dummy

Conellocreamoselusuariodummy.Leindicamosculesessudirectorioyademsquenopoder
hacerlogin.

InstaleenlamquinaclienteFilezilla,previamentedebeinstalarelentornogrfico.

3. Seguridad
En este laboratorio, el estudiante no configura SELINUX. Pase SELINUX a modo Permissive
permanentemente.
Paraello,abraelfichero/etc/selinux/config.ColoqueSELINUX=permissive.


Importante:enunentornodeProduccinesnecesariohabilitartantossistemasdeseguridad
comoseanposiblesconelfindeevitarproblemasdeseguridad.
SistemasyServiciosenRed
Porello,vamosaaprenderenestaprcticalaconfiguracinelfirewallenCentos,loaprendido
aqudebemosaplicarlocuandoinstalemoselrestodeserviciosdelassiguientesprcticas(de
estaformaconsolidaremosloaprendido)
Instaleelfirewall,sinoestuvieseinstalado.Parasabesihayunpaqueteinstaladopuedeusarel
comando:rpm -q [paquete].Ennuestrocaso.
rpm -q firewalld

Parainstalar:
yum -y install firewalld

En la siguiente url https://www.certdepot.net/rhel7getstartedfirewalld/ tiene informacin


paraaprenderaconfigurarelcortafuegosenCentosRedHat7.

Actividad
Configure el firewall con las siguientes zonas y servicios permanentemente (borre otros
servicios).Elnombredelainterfacepuedecambiardependiendodelamquinavirtual

Activelainterfacestorage,conlaIP10.XX.200.220

Zona Interface VLAN Servicios


Public enps03 Produccin ftp
Home enps08 Gestin ssh
Internal enps09 Storage

Apliqueloscambiosdeformapermanente:
[root@ftpC ~]# firewall-cmd --reload

Actividades
Chequeelaconfiguracindelcortafuegosenlastresinterfaces:
firewall-cmd --permanent --zone=???? --list-all
ChequeelaconexindesdeelhostusandoFilezilla.
Cargueunficherograndeychequeelavelocidaddesubida.

4. Creacindirectorios.CreacindeUsuariosyGrupos
Consideracionesdelosdirectorios,losusuariosFTP:
Tendrnaccesoprivadoaldirectoriopersonal(mismonombrequenombredeusuario).
Tendrnaccesoaunficherocompartido,conelrestodeusuariosdondecadaunode
ellostendrpermisosdelecturayescritura(directoriosparacompartirdocumentos).
Tendrnaccesoaunficheroconelrestodeusuariosdondecadaunodeellostendr
slo permiso de lectura (directorio de documentos de la compaa: procedimientos,
regulaciones,etc.).
SistemasyServiciosenRed
El sistema tendr 5 usuarios de diferentes departamentos con diferentes permisos sobre los
siguientesdirectorios:

Usuario Departamento Directorio Directorio Directorio Directorio Dpto.


Personal Dpto. Dpto. Administracin
Ventas Marketing
N1(*) Ventas rwx rwx rx
N2(*) Mrquetin rwx rwx rx
N3(*) Ventas rwx rwx rx
rvila Mrquetin rwx rwx rx
jperez Mrquetin rwx rwx rx

(*)DondeN1,N2,N3correspondealosnombresdelosmiembrosdelgrupodelaprctica,por
ejemplo,PauBernabeupbernabe(comoejemploderesolucin:N1=agonzalez,N2=pbernabe,
N3=nlopez)

Pasosarealizar:
CreacindelosdirectoriosVentas,Mrquetin,yAdministracinen/datos/ftp.
o [root@ftpC /]# cd /datos/ftp/
o mkdir ventas marquetin administracin

Creacindelosgrupos(parapodercompartirdirectorios).
o [root@ftpC /]# groupadd administracion
o [root@ftpC /]# groupadd ventas
o [root@ftpC /]# groupadd mrquetin

Asignarpropietarios.
o [root@ftpC ftp]# chown nobody:administracion administracion/
o [root@ftpC ftp]# chown nobody:ventas ventas/
o [root@ftpC ftp]# chown nobody:marquetin marquetin/

Asignamospermisosyelstickybit:
o [root@ftpC ftp]# chmod 1770 marquetin
o [root@ftpC ftp]# chmod 1770 ventas/
o [root@ftpC ftp]# chmod 550 administracion/
o [root@ftpC ftp]# chmod g+s marquetin/ ventas/ (agregamoselsetgidalgrupo).

Aadimoslosusuariosylosponemosensusrespectivosdirectoriosraz:
o [root@ftpC ftp]# useradd -d /datos/ftp/rvila -s /sbin/nologin rvila
o (aadeelrestodeusuarios)

Asignamoscontraseaalosusuarios:
SistemasyServiciosenRed
o [root@ftpC ftp]# passwd rvila
o Introducimoscomocontraseapa$$wOrd
o (repitaelprocesoparaelrestodeusuarios,mismacontraseaparatodos)

Explorando el archivo /etc/passwd podemos observar si los usuarios se han introducido
correctamente(verlasltimas5lneas).


Parapodernavegarporelrestodecarpetasconpermisosmodificamosestaslneasparaque
quedentalcomoseobservaenlasiguientefigura(quitareldirectoriopersonal)



Asignamoslosusuariosasusgrupos:
o Comovemosenlatablatodospertenecenaadministracin.


o Aadacadausuarioaventasomrquetinsegncorresponda.
o Podemoscomprobarsehanaadidocorrectamente,paraellovemoselfichero
/etc/group(enconcretolaslneas)



Asignamospropietariosalosdirectorios(sinoloson,talcomolohemoshechoalcrear
losusuariosyasonpropietarios).Sinofueseas,
o chown agonzalez:agonzalez agonzalez/
o (hagalosmismoconelresto)
o Tieneclaroporqu?

Damospermisosalosusuarios:
o chmod 770 agonzalez/ jperez/ nlopez/ rvila/ pbernabe/
o Tieneclaroporqu?.
o Elresultadofinaldeberser:
SistemasyServiciosenRed



Actividad
Desde Filezilla, loguee usando diferentes usuarios y compruebe los permisos. Cree algunos
ficheroseintenteborrarlosusandodiferentesusuariosdistintosalpropietario.

5. Cuotasdedisco
Enesteapartadoaprenderemosaconfigurarcuotasdeusodeldisco(usexfs_quotadespusde
queelsistemadeficherosesxfs).Valordecuotasdeusuarios(lmitehard).

Usuario Cuotas
N1 10MB
N2 50MB
N3 200MB
rvila 10MB
jperez 100MB

Importante:
Parapoderdarcuotas,debemostenerunaparticinquelaspermita.Porlotanto,esto
lodeberamostenerloencuentaalhacerlaparticinenelmomentodelainstalacin.
Locorrecto,esdisponerdedispositivosdealmacenajeexternos(redstorage).
En este caso, vamos a aadir al servidor un nuevo disco y asignarle la capacidad de
cuotas.Aprovechandoloyarealizadoeneldirectorio/datos/ftp.

Pasosaseguir:

Apagamoslamquina.
Aadimos un nuevo disco virtual desde VirtualBox. (Tamao 8GB). Les damos de
nombre,porejemplo,datos_ftp.
Arrancamoslamquina.
Montamoselnuevodiscoduroen/datos/ftp.
o DaremosformatoaldiscoylomarcamoscomoLVM
fdisk /dev/sdb
Marcamoslaparticipacincomoprimaria,yeltamao:
Introducimosn.
SistemasyServiciosenRed
Introducimosp.(indicamosparticipacinprimaria).
Presionamosintrodosveces.
MarcamoslaparticincomoLVM:Introducimostyposteriormente8e.
Introducimosw(conloqueaceptamosytendremoselformatorealizado).
Agregamoseldiscoa/datos/ftp.
o pvcreate /dev/sdb1
o vgextend centos /dev/sdb1
o lvcreate l 100%FREE n datos_ftp centos.
Damosformatoxfsaldisco
o mkfs -t xfs /dev/centos/datos_ftp
Creamosundirectoriotemporal.
o mkdir /nmt/datos_ftp
Montamos:
o mount /dev/centos/datos_ftp /mnt/datos_ftp
o Verificamos:mountpoint /mnt/datos_ftp/
o Siobtenemoselmensaje /mnt/datos_ftp/ is not a mountpoint,todoescorrecto.
Unavez,queestmontado,realizamosunacopiadelosdirectorioscreadoshastaahora
yquetenemosen/datos/ftp.
o cp -ax /datos/ftp/* /mnt/datos_ftp/
o Eliminamoseldirectorio/datos/ftp: rm rf /datos/ftp
o Lovolvemosacrear: mkdir p /datos/ftp
o Desmontamosdisco: umount /nmt/datos_ftp.
Modificamosficherovi/etc/fstab
o Aadalalnea:
/dev/centos/datos_ftp /datos/ftp xfs defaults,usrquota, grpquota 0 0
Volvemosamontar.
o mount av
Verificamosqueestmontado:


(Seobservaqueestmontado,verlaltimalneadelafiguraanterior)

Comprobamosen/datos/ftptenemoslosdirectorios.

SistemasyServiciosenRed


YaestamospuesencondicionesdecrearcuotasenlosdirectoriosdedicadosalservicioFTP.

Creamoslascuotasdeusuario:

Verificamoslascuotassoncorrectas.
[root@ftpC ftp]# repquota /datos/ftp/

[root@ftpC ftp]# xfs_quota -x -c 'report -h' /datos/ftp

Actividades
Chequeelascuotasdelosusuarios.
DesdeFilezilla,chequeeelcorrectofuncionamientodelascuotas,transfiriendoficheroscon
menostamaoqueelpermitidoymsgrandequeelpermitido.
Nota:Paracrearficherosdeundeterminadotamao.
dd if=/dev/zero of=archivo.bmp bs=1 count=0 seek=200M

SistemasyServiciosenRed
6. Logging
Pordefecto,elservidorvsftpdescribeloslogsdirectamentealfichero(/var/log/xferlog)

Actividades:
Chequeeloslogsen/var/log/xferlog.
Intenteloguearunusuarioconunpassworderrneoychequeelossiguienteslogs: messagesy
securebuscandoelerror.

También podría gustarte