Difference between revisions of "Vsftpd"

From HackerNet
Jump to: navigation, search
Line 10: Line 10:
 
Det finns 5 värden att titta på direkt
 
Det finns 5 värden att titta på direkt
  
anonymous_enable=(YES/NO) Om du vill tillåta anonyma inloggningar mot FTPN
+
anonymous_enable=(YES/NO) Om du vill tillåta anonyma inloggningar mot FTPN
local_enable=(YES/NO) Om lokala användare ska kunna använda FTP tjänsten
+
local_enable=(YES/NO) Om lokala användare ska kunna använda FTP tjänsten
write_enable=(YES/NO) Om användarna ska kunna skriva data till FTPn eller inte
+
write_enable=(YES/NO) Om användarna ska kunna skriva data till FTPn eller inte
force_dot_files=(YES/NO) Om . filer ska visas i FTPn t.ex. .htaccess  
+
force_dot_files=(YES/NO) Om . filer ska visas i FTPn t.ex. .htaccess  
hide_ids=(YES/NO) Om rättigheterna på filer ska synas på filerna. Om man tillåter anonyma inloggningar kan det vara en bra idé att köra på YES så de inte kan få ut information om vilka konton som finns på servern.
+
hide_ids=(YES/NO) Om rättigheterna på filer ska synas på filerna. Om man tillåter anonyma inloggningar kan det vara en bra idé att köra på YES så de inte kan få ut information om vilka konton som finns på servern.
  
 
==Chroot==
 
==Chroot==
  
chroot_local_user=(YES/NO) Om användarna ska vara låsta till sin hemfolder eller inte
+
chroot_local_user=(YES/NO) Om användarna ska vara låsta till sin hemfolder eller inte
chroot_list_enable=(YES/NO) Om du vill ange en lista av användare som ska vara tvärtemot vad du angav i chroot_local_user
+
chroot_list_enable=(YES/NO) Om du vill ange en lista av användare som ska vara tvärtemot vad du angav i chroot_local_user
  
 
Om Chroot_list_enable=YES så får du skapa en lista i /etc/vsftpd.chroot_list där du skriver in usernamn på användarena som INTE ska följa chroot_local_user reglen.
 
Om Chroot_list_enable=YES så får du skapa en lista i /etc/vsftpd.chroot_list där du skriver in usernamn på användarena som INTE ska följa chroot_local_user reglen.
Line 34: Line 34:
 
==SSL==
 
==SSL==
 
Ganska straightforward conf här. Exemplet nedan är från en av Bats servrar
 
Ganska straightforward conf här. Exemplet nedan är från en av Bats servrar
ssl_enable=YES
+
ssl_enable=YES
allow_anon_ssl=NO
+
allow_anon_ssl=NO
force_local_data_ssl=YES
+
force_local_data_ssl=YES
force_local_logins_ssl=YES
+
force_local_logins_ssl=YES
ssl_tlsv1=YES
+
ssl_tlsv1=YES
ssl_sslv2=NO
+
ssl_sslv2=NO
ssl_sslv3=NO
+
ssl_sslv3=NO
  
 
==Virtuela Användare==
 
==Virtuela Användare==
Line 46: Line 46:
 
Skapa en fil med användare & Lösenord (nano users.txt) i stilen
 
Skapa en fil med användare & Lösenord (nano users.txt) i stilen
  
Användare1
+
Användare1
Lösenord1
+
Lösenord1
Användare2
+
Användare2
Lösenord2  
+
Lösenord2  
etc
+
etc
  
 
Skapa sedan en databas med användarna
 
Skapa sedan en databas med användarna
Line 58: Line 58:
 
I /etc/vsftpd.conf så ska vi också göra några ändringar för att de virtuela användarna ska funka
 
I /etc/vsftpd.conf så ska vi också göra några ändringar för att de virtuela användarna ska funka
  
virtual_use_local_privs=(YES/NO) Virtuella användare får samma rättigheter som vanliga användare annars får de anon rättigheter
+
virtual_use_local_privs=(YES/NO) Virtuella användare får samma rättigheter som vanliga användare annars får de anon rättigheter
pam_service_name=vsftpd.virtual Namnet på pam servicen vi vill använda
+
pam_service_name=vsftpd.virtual Namnet på pam servicen vi vill använda
guest_enable=YES Tillåter virtuella användare
+
guest_enable=YES Tillåter virtuella användare
local_root=/home/vftp/$USER Vilken mapp de virtuela användarna ska ha access till
+
local_root=/home/vftp/$USER Vilken mapp de virtuela användarna ska ha access till
user_sub_token=$USER sätter deras användarnamn till chrooten
+
user_sub_token=$USER sätter deras användarnamn till chrooten
  
 
Då ska vi bara fixa lite med PAM sen är vi good to go  
 
Då ska vi bara fixa lite med PAM sen är vi good to go  
 
nano /etc/pam.d/vsftpd.virtual
 
nano /etc/pam.d/vsftpd.virtual
  
#%PAM-1.0
+
#%PAM-1.0
auth      required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
+
auth      required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account    required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
+
account    required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session    required    pam_loginuid.so
+
session    required    pam_loginuid.so
  
 
Sen är det bara att skapa foldrarna för användarna i /home/vftp/
 
Sen är det bara att skapa foldrarna för användarna i /home/vftp/

Revision as of 15:22, 11 November 2015

VSFTPD (Very secure FTP daemon) Är en snabb och smidig FTP server för Unix system.

Installation

De flesta distar har vsftpd i sina standardrepos så vanligtvis är det bara att köra en apt-get install vsftpd eller motsvarande med yum

Konfiguration

I en Debianbaserad dist kommer du hitta konf filen i /etc/vsftpd.conf Det finns 5 värden att titta på direkt

anonymous_enable=(YES/NO) Om du vill tillåta anonyma inloggningar mot FTPN
local_enable=(YES/NO) Om lokala användare ska kunna använda FTP tjänsten
write_enable=(YES/NO) Om användarna ska kunna skriva data till FTPn eller inte
force_dot_files=(YES/NO) Om . filer ska visas i FTPn t.ex. .htaccess 
hide_ids=(YES/NO) Om rättigheterna på filer ska synas på filerna. Om man tillåter anonyma inloggningar kan det vara en bra idé att köra på YES så de inte kan få ut information om vilka konton som finns på servern.

Chroot

chroot_local_user=(YES/NO) Om användarna ska vara låsta till sin hemfolder eller inte
chroot_list_enable=(YES/NO) Om du vill ange en lista av användare som ska vara tvärtemot vad du angav i chroot_local_user

Om Chroot_list_enable=YES så får du skapa en lista i /etc/vsftpd.chroot_list där du skriver in usernamn på användarena som INTE ska följa chroot_local_user reglen.

Tillåtnade/nekade Användare

Om man har local_enable igång i konfen kan det vara en bra idé att inte låta t.ex. root och servicekonton logga in på FTPn. Det kan vi lösa genom att lägga till följande rader i konfen

userlist_deny=YES userlist_file=/etc/vsftpd.denied_users

I userlist_file=/etc/vsftpd.denied_users skriver du sedan in användarnamn som inte ska få logga in via ftpn t.ex. postfix och root.

SSL

Ganska straightforward conf här. Exemplet nedan är från en av Bats servrar

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

Virtuela Användare

Börja med att skapa en mapp för vsftpd om det inte finns i /etc/vftpd/ Skapa en fil med användare & Lösenord (nano users.txt) i stilen

Användare1
Lösenord1
Användare2
Lösenord2 
etc

Skapa sedan en databas med användarna db_load -T -t hash -f users.txt vsftpd-virtual-user.db Glöm inte att sätta rättigheter och ta bort .txt filen efteråt.

I /etc/vsftpd.conf så ska vi också göra några ändringar för att de virtuela användarna ska funka

virtual_use_local_privs=(YES/NO) Virtuella användare får samma rättigheter som vanliga användare annars får de anon rättigheter
pam_service_name=vsftpd.virtual Namnet på pam servicen vi vill använda
guest_enable=YES Tillåter virtuella användare
local_root=/home/vftp/$USER Vilken mapp de virtuela användarna ska ha access till
user_sub_token=$USER sätter deras användarnamn till chrooten

Då ska vi bara fixa lite med PAM sen är vi good to go nano /etc/pam.d/vsftpd.virtual

#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account    required     pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session    required     pam_loginuid.so

Sen är det bara att skapa foldrarna för användarna i /home/vftp/ Foldrarna bör ägas av samma användare som tjänsten körs ifrån då användarna använder tjänstens permissions.

LDAP

Kör med pam_ldap får skriva mer senare