Ir al contenido principal

Servicios FTP – NAS – SSH – SCP

FTP

Transferencia de archivo entre sistemas a través de redes TCP/IP.

El puerto 20 para transferencia de datos y puerto 21 para transferencia de órdenes.

CONTROL: 192.168.128.10:1035 → IP ftp: 21
DATOS: 192.168.128.10:1036 → IP ftp: 20


MODO ACTIVO






El propio servidor toma la iniciativa, y se usa el puerto 21 para el CONTROL y 21 para los DATOS.

MODO PASIVO






El servidor NO toma iniciativa y solo se usa el 21 para el CONTROL, y cada vez se abre un puerto nuevo para los DATOS cada vez.


Una prueba de servidor FTP

# apt-cache search vsftp

# apt-get install vsftpd

# service vsftpd start



Veo que existe el proceso corriendo del FTP:
# ps aux|grep ftp




Y que el servicio está a la escucha:
# netstat -natup




Busco el archivo syslog:
# find / -name syslog

Veo los ultimos sucesos ocurridos en el sistema:
# tail -n 10 /var/log/syslog





En el navegador de la Máquina Real:
ftp://192.168.128.226/




He creado con nano un fichero dentro de /srv/ftp un archivo llamado hola:




Ahora vamos a instalar el filezilla y vamos a configurar el acceso ftp.


En el servidor ftp, vamos al fichero de configuración.

# nano /etc/vsftp.conf


Descumentamos para habilitar los usuarios locales local_enable=YES
Descumentamos para dejar escribir a los usuarios locales write_enable=YES
        




Para que el usuario vea su propia carpeta y no las demás:
chroot_local_user=YES





Cambias el mensaje de Bienvenida:
ftpd_banner=Bienvenido al Servidor FTP de MJesus






Verificamos los cambios realizados a través de filezilla:





Otras opciones que vemos en el fichero de configuración que se puede usar un certificado externo.





Podemos configurar un listado de usuarios que no queremos que estén enjaulados.









Siempre reiniciamos el servidor ftp después de cada cambio:
$ service vsftpd restart


Y por supuesto, creamos el/los usuario/s local en la maquina:
$ adduser pepe







FTP con NS

Mirar enlace:




Se instalan los 2 servicios, el de servidor ftp y openssl
# apt-get install vsftpd openssl


Creas los certificados SSL:
Creamos la carpeta /etc/ssl/private y le cambiamos los permisos total para root.
# mkdir -p /etc/ssl/private
# chmod 700 /etc/ssl/private

Lo creo:
# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out  /etc/ssl/private/vsftpd.pem







Configuración:

Copio y pego esta configuración tal cual al final del fichero.
# nano /etc/vsftpd.conf

# Turn on SSL
ssl_enable=YES

# Allow anonymous users to use secured SSL connections
allow_anon_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
force_local_data_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO

# permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.

rsa_cert_file=/etc/ssl/private/vsftpd.pem




Reiniciamos el servicio:
# service vsftpd restart


Recuerda crear el usuario:
# adduser marta



Comprobamos su funcionamiento en filezilla:









SERVIDOR NAS

Usaremos la distribución Open Media Vault, es un servidor NAS. Va más allá que un ftp, porque lo tengo es almacenamiento en red.

Este servidor incluirá el FTP, ssh, samba, …


Inicializamos la máquina.

Vemos nuestra IP, y desde mi Maquina Real ponemos esta IP en el navegador.





Nos logeamos con usuario y contraseña, y elegimos el idioma. Entramos en el Panel.




                     SMB es el sistema de compartición por defecto de Windows.

                     FTP es el servidor de compartición de archivos, como ya se ha visto

                     SSH es la conexión remota y segura a un servidor.

Vamos a usar principalmente estos 3 servicios.




Gestión de Raid:

Actualmente tengo un HD de 8 GB





Vamos a crear 2 discos duros virtuales nuevos:
         Almacenamiento / Agregar disco






Agregamos estos 2 discos a un sistema RAID:





Recuerda que debes montar el sistema RAID creado:




Creamos el usuario, el grupo donde integramos al usuario, compartimos una carpeta de este volumen creado y le damos los privilegios:









Habilitamos el FTP y la compartimos:







Ahora probamos que funciona correctamente.
ftp://192.168.128.203
usuario: maria
pass: maria





Que podemos configurar en el FTP, …





Configuración

Nº de conexiones, Tiempo limite, acceso al root, FTP anonimo, Podemos limitar un rango de puertos para el FTP, …


FTP con SSL

creamos un certificado en su sección, y volvemos a esta pestaña.

Deben estar picadas la 1ª y 3ª opción, aunque no se vea explicitamente en la imagen:









Protocolo SSH

Conectamos 2 nodos de forma segura.

La conexión sería: $ ssh usuario@host







Habilitar compresión significa que al conectarme a un Open Media Vault con una conexión lenta, se comprime todo y se envía así y allí se descomprime. Así va algo más rápido.


Desde mi terminal local: $ ssh root@192.168.128.203

Puedes ver en tu maquina real que en $ nano /home/mjesus/.ssh/known_hosts se ha creado la conexión.



Encendemos una maquina virtual e instalamos el ssh:

$apt-get install ssh

El cliente ssh siempre está instalado en Linux, pero no el servidor.

Nos vamos a:
$ nano /etc/ssh/sshd-config

                     Puerto 22 donde se hace la escucha:
Lo veo con netstat -natup|grep sshd vemos como el demonio ssh está a la escucha en todas las interfaces en el puerto 22. Lo tengo repetido para IPv4 e IPv6.
Si solo quiero hacer escuchas sobre una sola IP cuando tengo varias tarjetas de red, configuro el ListenAddress para sola esa IP.

                     También saber que usamos el Protocolo 2 porque el protocolo 1 posee agujeros de seguridad.

        
         EJ:

Miro las interfaces que poseo: $ ifconfig -a|more





Veo el LISTEN del demonio SSH: $ netstat -putan|grep sshd





Cambio la configuración de sshd-config: $ nano /etc/ssh/sshd-config

        





Reinicio el servicio ssh: $ service ssh restart
Y miro de nuevo el LISTEN: $ netstat -putan|grep sshd





Me conecto desde mi ordenador por ssh: $ ssh root@192.168.128.226







Voy a limitar ahora al root para que no entre: $ nano /etc/ssh/sshd-config







Reinicio el servicio ssh: $ service ssh restart

Me conecto desde mi ordenador por ssh: $ ssh root@192.168.128.226






Ahora vamos a cambiar la clave publica del servidor a ver que pasa, …

Me voy a mi PC y miro este fichero:
$ nano /home/mjesus/.ssh/known_hosts






         Veo que me he conectado mediante rsa.


En mi Servidor veo las claves publicas generadas:
$ cd /etc/ssh
$ nano ssh_host_rsa_key.pub








Verifico que corresponde al 1er certificado de mi PC, ya que ambos certificados terminan igual.


Borro esta linea del PC.





Ahora intento conectarme y el servidor me pregunta de nuevo si quiero conectarme.



** En windows usamos el PUTTY






SCP

En Linux es scp y en Windows es winscp.

El SCP es igual que CP pero seguro. Copiado de archivos seguros.

scp
origen = /var/www/index.php
destino = @:
Si no pongo ubicación lo guarda por defecto en el home del usuario que se conecta.




$ scp prueba root@192.168.128.226:




Ahora lo vemos en el servidor:








El tunel de SSH



$ ssh -L puerto_local:host_local:puerto_remoto usuario@host_remoto


Instalamos el APACHE en nuestro servidor: $apt-get apache2

Y vemos en nuestro PC local que funciona: http://192.168.128.226





Vamos a crear el tunel desde mi maquina hacia el puerto 80 de la maquina 192.168.128.226

$ ssh -L 3000:127.0.0.1:80 root@192.168.128.226

Ya podemos poner en mi maquina en un navegador: 127.0.0.1:3000








SSH con clave asimétrica.

1.           Nos vamos a construir un certificados.
2.           Le vamos a dar nuestra clave publica.
3.           Nos conectarnos.



1.           Creo las claves (certificados)

En mi maquina local:
$ ssh-keygen -t rsa → tipo de certificado rsa(si no pones nada te lo hace por defecto de este tipo)


Veo mis contraseñas:
$ cd /home/mjesus/.ssh/
$ ls -l





2.           Le paso el .pub (publico)

Hay que pasarlo al servido a la ruta: /root/.ssh/authorized_keys


Posibilidad 1: $ scp id_rsa.pub root@192.168.128.226:/root/.ssh

Posibilidad 2: ssh-copy-id
$ ssh-copy-id -i root@192.168.128.226

Me pide la contraseña root por última vez.






Me pide mi contraseña de la clave privada cuando me intento conectar.

IMPORTANTE:
Siempre uso mi contraseña privada para conectarme a todos los servidores, y así no tengo que saber las contraseñas root de todos ellos, solo la mía privada.
También controlas quién se conecta a los servidores, que usuarios.





Para usar la autentificación de claves privadas y publicas, debemos usar:

RSAuthentication                 yes
PubkeyAuthentication         yes
AuthorizedKeysFile              %h/.ssh/authorized_keys

Si quiero cambiar la ubicación de estos accesos o el nombre del archivo que lo guarda, solo tengo que cambiar esta ruta o el nombre del fichero.

Entradas populares de este blog

Configuración y Uso de Pandora FMS 5.0 SP3

CONFIGURACIÓN DE LA RED Lo primero que se debe de hacer es conocer la red que necesitas monitorizar, las distintas redes que posees y configurar las interfaces del CentOS donde tienes instalado Pandora FMS para que este sistema pueda verlas. Si haces un ping a alguna de estas redes, este debería responderte. Un ejemplo de como configurar distintas redes en CentOS sería el siguiente, donde las X son las que corresponda a tú red: # cd /etc/sysconfig/network-scripts/ # cat ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x.1 NETMASK=255.255.255.0 DNS1=10.x.x.x DOMAIN=dominio.local DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no UUID=920d0ead-e3ad-4c99-8c79-617812986fb4 ONBOOT=yes # cat ifcfg-eth0:0 DEVICE=eth0:0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x....

Mensajería OpenFire: Instalación y Configuración

Exportamos una nueva OVA de DEBIAN. Configuramos su interfaz: # rm /etc/udev/rules.d/70-persistem-net.rules # reboot Preparamos la conexión remota: # apt-get install ssh #ifconfig -a Instalación paso a paso: $ ssh root@192.168.1.198 Necesitaremos en la instalación de  mensajería   OpenFire : Servidor LAMP •           Linux •           Apache •           MySQL •           PHP phpadmin y Java # apt-get install apache2 php5 mysql-server phpmyadmin # apt-get install openjdk-6-jdk Descarga y puesta en funcionamiento de OpenFire: # wget http://download.igniterealtime.org/openfire/openfire_3.9.1_all.deb # dpkg -i openfire_3.9.1_all.deb Para saber que está funcionando: # netstat...

pfsense: Proxy Squid3 instalación y configuración

Nuestra máquina de pfsense con 2 adaptadores , uno en adaptador puente y otra en solo anfitrión: Me conecto desde el interfaz anfitrión al pfsense desde el navegador: Nos movemos a: System / Package/Available Packages/instalamos squid3 Service / Proxy server Configuramos en la pestaña de General las siguientes opciones: LAN Proxy Port: 3128 Allow users on interface(picado) Transparent Proxy(picado) Enabled logging(picado) Log Store Directory: /var/squid/logs Administrator email: email administrador Language: es SAVE Nos aseguramos que squid está corriendo: Status / Service Con esta configuración debemos tener internet en nuestro cliente Windows. RESTRICCIONES Y PERMISOS Podemos configurar las restricciones en la pestaña Service / Proxy server / (pestaña)ACLs Por ejemplo, restringimos el acceso a google.es: En Service / Proxy server / Local Cache o...

FireWall de PFsense: NAT

NAT Network address transletion - Traducciones de direcciones de red Se diferencia de la tabla filter, que con estas reglas se redirecciona. Si queremos que nuestro servidor web de servicio al exterior, tiene una dirección interna, pero si sale con esta IP, al salir se corta la IP. Que el router coja esta IP interna de este servidor Web y la cambie por la IP publica del route se llama NAT. Esto que hace el router automáticamente es lo que vamos a hacer ahora. SNAT: source NAT(origen) DNAT: destination NAT(destino) SNAT, cambiamos el origen. Windows manda el paquete y llega a pfsense, y este cambia el origen PAQUETE: origen: wXP (192.168.56.2) ↔ WAN (80.21.21.21) destino: google.es DNAT, cambiamos el destino Queremos dar servicio web, pero mi servidor esta en una red privada, en la 10.0.0.2. Al dar la IP de mi WAN, debo hacer que llegue a mi servidor. Cada vez que llegue un paquete a la Wan al puerto, en este caso, 80, l...

FireWall de PFsense: Reglas de Filtro 1/3

FILTER RULES (Reglas de Filtro) Para instalar el PFsense te recuerdo el enlace donde se explica en mi blog: http://mjesussuarez.blogspot.com.es/2013/12/instalacion-y-uso-de-pfsense.html A partir de este punto, entramos en PFsense a partir de la IP LAN: 192.168.56.2 Las 2 opciones mas interesantes de ver sobre cortafuegos en PFsense es NAT y Rules . Aunque usaremos también los Aliases . Dentro de interfaces tenemos LAN y WAN, pero también podemos asignar interfaces, como por ejemplo una zona demilitarizada(DMZ) para alojar en esta rama un Servidor Web . Para crear una interfaz nueva debemos ir a Interfaces / assign / VLANs . Pero que es una VLAN . Significa que físicamente están todas las redes unidas, pero Virtualmente se han formado LANs independientes y que no se ven unas a otras, o si se ven, pero están separadas virtualmente como si estuvieran separadas de forma física. Pero este tema lo trataremos mas adelante, ahora haremos...