Tuesday, September 24, 2013

SECURE FTP VSFTPD RHEL 5

######################################################################################################
SECURE FTP vsftpd RHEL 5
######################################################################################################

[root@pant ~]# yum install vsftpd


[root@pant ~]# rpm -ivh db4-utils-4.3.29-10.el5.x86_64.rpm

[root@pant ~]# cd /etc/vsftpd/

[root@pant ~]# touch virtual-users.txt

[root@pant ~]# cat /etc/vsftpd/virtual-users.txt
pant
12
spant
12

[root@pant ~]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
[root@pant ~]# rm -f virtual-users.txt (if you want)

[root@pant ~]# rpm -ivh db4-utils-4.3.29-10.el5.x86_64.rpm

[root@pant ~]# vi /etc/vsftpd/vsftpd.conf
[root@pant ~]# grep -v "^#" /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
ftpd_banner=Welcome to the world of dk
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
###vIRTUAL USER SETTING#######
pam_service_name=vsftpd-virtual
userlist_enable=YES
tcp_wrappers=YES
background=YES
guest_enable=YES
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/var/www/virtual/$USER
anon_root=/var/www/ftp
hide_ids=YES
listen=YES
listen_port=21
pasv_min_port=65500
pasv_max_port=65535
max_clients=20
max_per_ip=10
secure_chroot_dir=/usr/share/empty
chroot_local_user=YESA
##### AFTER THE VIRTUAL USER SETTING NOW PUT SSL SETTING##
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
rsa_cert_file=/etc/vsftpd/vsftpd.pem


[root@pant ~]




#######Now, create a PAM file /etc/pam.d/vsftpd-virtual which uses your database:########

[root@pant ~]# cat /etc/pam.d/vsftpd-virtual
auth required pam_userdb.so db=/etc/vsftpd/virtual-users
account required pam_userdb.so db=/etc/vsftpd/virtual-users
session required pam_loginuid.so
[root@pant ~]#
###########################################################################################

Create /usr/share/empty and /var/www/ftp :

##########################################################################################


[root@pant ~]# mkdir -p /usr/share/empty4. Creating home directories

Create home directories in /var/www/virtual, and change the owner of the directory to the user "ftp" :

[root@pant ~]# mkdir -p /var/www/ftp
#################################################################################################

# mkdir /var/www/virtual/pant
# mkdir /var/www/virtual/naveen
# chown ftp:ftp /var/www/virtual
Change the home directory of the ftp user to /var/www/virtual (or /var/www):
# usermod -d /var/www/virtual ftp

# service vsftpd start

# touch /etc/vsftpd/chroot_list

###################################################################################################
ssl on VSFTPD (After the virtual user configuration put these setting on  vi /etc/vsftpd/vsftpd.conf
###################################################################################################
[root@pant ~]# vi /etc/vsftpd/vsftpd.conf

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
rsa_cert_file=/etc/vsftpd/vsftpd.pem

#####################################################################################################################
SSL Key generate from this command
#####################################################################################################################

[root@pant ~]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

[root@pant ~]# service vsftpd restart








No comments:

Post a Comment

Thanks for the comment