giovedì 20 marzo 2014

Server Amazon EC2 - Terza parte - Il protocollo FTP

E' possibile che si abbia la necessità di utilizzare il protocollo FTP per caricare dei file nel server.

Per fare questo è necessario installare un server FTP sull' EC2.
Io utilizzo vsftpd, quindi per per l'installazione basterà

sudo apt-get install vsftpd

Una volta installato il server, andrà configurato.
Per configurarlo bisognerà editare il file /etc/vsftpd.conf.
In questo file ci sono un sacco di parametri da configurare, io descriverò le importazioni più comuni.

Per prima cosa, facciamo una copia di backup del file.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old

Ora apriamolo con un editor, come sempre uso nano.

sudo nano /etc/vsftpd.conf

Questa è la lista dei parametri che ho configurato.

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
chroot_local_user=YES

"connect_from_port_20 Quando abilitata, vsftpd viene eseguita con privilegi sufficienti per aprire la porta 20 sul server, durante i trasferimenti dei dati in modalità attiva. Disabilitare questa opzione permette a vsftpd di essere eseguito con meno privilegi, ma potrebbe essere non compatibile con alcuni client FTP." 
(CIT.)


Aggiungiamo anche questa stringa alla fine del file
seccomp_sandbox=NO
Serve per evitare l'errore:
500 OOPS: priv_sock_get_cmd

Ora non rimane che rendere effettive le modifiche riavviando il server FTP.

sudo /etc/init.d/vsftpd restart

Per poter utilizzare il servizio ftp bisogna scaricare e installare un client come ad esempio filezilla.

Ci si potrebbe collegare utilizzando la chiave.pem scaricata in fase di configurazione (Prima parte) oppure si potrebbero creare degli utenti appositi, ognuno con il proprio permesso.

Come creare utenti reali per connessione FTP.

Io consiglio anche di modificare i proprietari della cartella www.

sudo chown ubuntu /var/www/

sudo chgrp www-data /var/www/

 Anche in questo caso, se si cerca di accedere non si otterrà niente.
Questo sempre perchè il server EC2 ha la porta 21 di connessione FTP chiusa.

A questo punto bisogna procedere esattamente come è stato fatto per abilitare la porta 80 per il protocollo HTTP, però questa volta bisognerà scegliere Custom TCP Rule e inserire la porta che si desidera aprire, in questo caso la porta 21.



A questo punto sarà possibile connettersi esclusivamente utilizzando una modalità di trasferimento attiva.

Se si vuole utilizzare la modalità passiva, o la modalità di default su filezilla, bisogna aggiungere 3 nuove stringhe al file di configurazione vsftpd.conf.

pasv_address=54.186.141.53
pasv_min_port=12000
pasv_max_port=12100

pasv_address — Specifica l'indirizzo IP per l'indirizzo IP 'public facing' del server, per i server situati dietro i firewall Network Address Translation (NAT). Ciò abilita vsftpd a fornire l'indirizzo di ritorno corretto per i collegamenti in modalità passiva.  

Io ho inserito l'indirizzo del mio server, ma ognuno deve inserire l'indirizzo del server che sta utilizzando

pasv_max_port — Specifica la porta più alta inviata ai client FTP per i collegamenti in modalità passiva. Questa impostazione viene usata per limitare la gamma della porta, in modo da semplificare la creazione delle regole del firewall.
Il valore di default è 0, il quale non limita la gamma della porta passiva più alta. Il valore non deve eccedere 65535

pasv_min_port — Specifica la porta più bassa inviata ai client FTP per i collegamenti in modalità passiva. Questa impostazione viene usata per limitare la gamma della porta, in modo da semplificare la creazione delle regole del firewall.
Il valore di default è 0, il quale non limita la gamma della porta passiva più bassa. Il valore non deve essere minore di 1024
(CIT.)

Ovviamente a questo punto bisognerà anche aprire le porte nel server, quindi dal solito security groups




 

Nessun commento:

Posta un commento