FTP&&VFTPD実装とパラメータ説明


FTP:(File Transfer Protocol,アプリケーション層ファイル転送プロトコル)最も古い転送プロトコルの一つであり、ServerとClientの間でTCPを使ってファイル転送を行うことが主な機能であり、ftpには2つの接続があります。コマンド接続(21/TCP)とデータ接続(20/TCP)。データ接続には、アクティブモードとパッシブモードがあり、FTPサービスはアクティブモードとパッシブモードの2つのモードがあり、能動/受動モードはいずれもServer端末に基づいて動作することができる。
アクティブモード
Client用>1023(2334)のランダムポートはServerの21ポートにコマンド接続要求を開始し、コマンド接続が確立された後、両端がデータを転送する必要がある場合、Clientはコマンドチャネルを介してPORT commandをServerに送信し、もう一つのTCPポートを開いてデータチャネルを行う。(通常、このポートは2334+1のポートであり、2334+1ポートが占有されている場合、Clientは2334+1のポートを検索し、Clientが使用されていない’1023のランダムポートが見つかるまでこれを類推する)これはServerがTCP 20ポートとClientを用いて通知したTCPポートとのデータ接続を確立し、TCP 3回の握手が完了した後にデータ接続が確立された場合にデータ転送が可能となる。
受動モード(passive)
Client用>1023(3334)のランダムポートはServerの21ポートにコマンド接続要求を開始し、コマンド接続が確立された後、両端がデータを転送する必要がある場合、Cientはコマンドチャネルを介してPASV commandをServerに受動転送モードに入ることを要求し、Serverはランダムに使用されていない1023のTCPポートを選択し、制御接続通知Cientを介してCientに別の>10を使用させる。23で使用されていないTCPポートはServerで指定されたTCPポートに接続され、TCPの3回の握手が完了した後にデータ接続が確立されると、データ転送が可能となる。
注:アクティブモードであろうと、受動モードであろうと、Clientは常に接続の発信者を命令します。データ転送が完了すると、データ接続が切断されますが、コマンド接続は一般的にすぐには切断されません。
VFTPD概要
ftpというプロトコルは平文でファイルを転送するために、より安全にftpを使用するために、これはライト級vsftdが出現した原因です。
Vsftpd(Very Secure FTP、非常に安全なFTP)は、セキュリティ特性の他に、高速で安定した特性を持っており、VFTPDサービス起動モードは2つあります。一つはvsftpd独立運行、一つはxinetdというスーパープロセスによって管理される方式で運行します。
  • 匿名のユーザ形態:vsftpdデフォルトでは、匿名のユーザが読み取り専用で
  • にログインすることができます。
  • ローカルユーザ形態:vsftpdがあるホスト/etc/passwdにおけるユーザおよびパスワードを認証ユーザのソースとして使用する。これはデフォルト構成
  • である。
  • 仮想ユーザ形態:Vsftpdは、ユーザおよびパスワードをローカルデータファイル、データベース、またはLDAPに保存することをサポートしています。FTPのローカルユーザよりも、仮想ユーザはFTP Serverの専用ユーザであり、仮想ユーザはFTP Serverが提供できるresouresにしかアクセスできず、OS自体のセキュリティを大幅に増加しています。匿名ユーザに比べて、仮想ユーザはAcceountとpasswordを提供する必要があります。FTPにおけるリソースを取得することができ、ユーザーの多さとリソースの管理を容易にし、ホストの安全と管理のFTPの便利さに鑑みて、仮想ユーザは良い解決策である。
    VFTPDソフトウェアの構造
  • /etc/vsftpd/vsftpd.com f:vsftftpdのプロファイルは、man 5 vsftpd.comを通じて詳細情報
  • を知る。
  • /etc/pam.d/vsftpd:vsftpdはPAMモジュール関連ファイルを使用して、主にユーザ認証
  • に使用されます。
  • /etc/vsftpd.ftpsers:2に関連して、登録禁止のアカウントをこのファイルに書き込むだけでいいです。一行のユーザー
  • /etc/vsftpd.usermulist:このファイルの有効性はuserlistuuenable、userlistudenyに関するものです。
  • /etc/vsftpd.chroot_ulist:デフォルトは存在しません。主な機能はユーザーをホームディレクトリにロックすることです。このファイルはchroot_ulistuenableとchroot_ulistufileパラメータと関係がありますか?
  • /usr/sbin/vsftpd:vsftpdの実行ファイル
  • /var/ftp/:vsftpd匿名ユーザー登録のルートディレクトリ
  • 他の多くは言いませんが、次はvsftpdをインストールします。インストール方法は2つあります。rpmのインストールとコンパイルのソースパッケージのインストールです。
    ここではrpmの設置を例にしています。
    一、据え付ける
    1、据え付け
    
      
      
      
      
    1. # yum install vsftpd –y  ### yum  
    2. # rpm -ivh /media/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm ##rpm  
    3. # rpm -ql vsftpd  ### vsftpd  
    4. # rpm -qc vsftpd  ### vsftpd  
    2、vsftpdをサービスリストに入れて、自動的に起動させる。
    
      
      
      
      
    1. # chkconfig --add vsftpd   ##  
    2. # chkconfig vsftpd on     ##  
    3. # service vsftpd start      ## vsftp  
    二、vsftpd.com nf各パラメータ数は明らかである。
    
      
      
      
      
    1. # grep -e "^\<.*" /etc/vsftpd/vsftpd.conf -e "^#[^[:space:]]\{1,\}" ### vsftpd.conf  
    2. anonymous_enable=YES|NO        ##  
    3. allow_anon_ssl=YES|NO              ## SSL FTP 
    4. local_enable=YES   |NO               #  
    5. write_enable=YES |NO                ## ,  
    6. local_umask=022                   ## umask 
    7. anon_umask=022                        ## umask 
    8. download_enable=YES|NO           ##  
    9. #anon_upload_enable=YES           ##  
    10. #anon_mkdir_write_enable=YES  ## FTP Server  
    11. anon_other_write_enalbe=YES      ## ( 、 ) 
    12. dirmessage_enable=YES              ##  
    13. xferlog_enable=YES                  ## /  
    14. connect_from_port_20=YES        ## 20  
    15. #chown_uploads=YES                 ##  
    16. #chown_username=whoever        ##  
    17. #xferlog_file=/var/log/xferlog ##  
    18. xferlog_std_format=YES              ##  
    19. #idle_session_timeout=600           ##  
    20. #data_connection_timeout=120     ##  
    21. #nopriv_user=ftpsecure               ## vsftpd , ftp 
    22. #async_abor_enable=YES            ## sync  
    23. #ascii_upload_enable=YES           ## ASCII  
    24. #ascii_download_enable=YES    ## ASCII  
    25. #ftpd_banner=Welcome           ## ftp  
    26. #deny_email_enable=YES             ## 
    27. #banned_email_file=/etc/vsftpd/banned_emails 
    28. chroot_local_user=YES|NO          ##  
    29. #chroot_list_enable=YES       # , chroot_local_user=YES ,  
    30. #chroot_list_file=/etc/vsftpd/chroot_list ## , , chroot_list_enable=YES ,  
    31. local_root=/directory path            ## ,  
    32. anon_max_rate=0                 ## Byte/s, ,0  
    33. local_max_rate=0                        ##  
    34. deny_file={*.exe}                       ##  
    35. #ls_recurse_enable=YES            ## ftp ls –R  
    36. dirlist_enable=YES|NO                 ## dir  
    37. listen=YES                    ##vsftpd ,YES ,NO xinetd  
    38. #listen_ipv6=YES                        
    39. listen_address=172.16.11.1           ## vsftpd IP  
    40. listen_port=34                             ## vsftpd , TCP 21  
    41. max_clients=300                         ## vsftpd  
    42. max_per_ip=8                             ## ip  
    43. pam_service_name=vsftpd          ## vsftpd PAM , /etc/pam.d 
    44. userlist_file=/file path                   ## ftp  
    45. userlist_enable=YES | NO            ## YES ,vsftpd ,vsftpd ,  
    46. userlist_deny=YES|NO                 ## userlist_file ftp , userlist_enable=YES ,YES , ftp  
    47. tcp_wrappers=YES | NO             ## tcp_wrapper