FTP&&VFTPD実装とパラメータ説明
12625 ワード
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、据え付け
アクティブモード
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というスーパープロセスによって管理される方式で運行します。
VFTPDソフトウェアの構造
ここではrpmの設置を例にしています。
一、据え付ける
1、据え付け
- # yum install vsftpd –y ### yum
- # rpm -ivh /media/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm ##rpm
- # rpm -ql vsftpd ### vsftpd
- # rpm -qc vsftpd ### vsftpd
2、vsftpdをサービスリストに入れて、自動的に起動させる。
- # chkconfig --add vsftpd ##
- # chkconfig vsftpd on ##
- # service vsftpd start ## vsftp
二、vsftpd.com nf各パラメータ数は明らかである。
- # grep -e "^\<.*" /etc/vsftpd/vsftpd.conf -e "^#[^[:space:]]\{1,\}" ### vsftpd.conf
- anonymous_enable=YES|NO ##
- allow_anon_ssl=YES|NO ## SSL FTP
- local_enable=YES |NO #
- write_enable=YES |NO ## ,
- local_umask=022 ## umask
- anon_umask=022 ## umask
- download_enable=YES|NO ##
- #anon_upload_enable=YES ##
- #anon_mkdir_write_enable=YES ## FTP Server
- anon_other_write_enalbe=YES ## ( 、 )
- dirmessage_enable=YES ##
- xferlog_enable=YES ## /
- connect_from_port_20=YES ## 20
- #chown_uploads=YES ##
- #chown_username=whoever ##
- #xferlog_file=/var/log/xferlog ##
- xferlog_std_format=YES ##
- #idle_session_timeout=600 ##
- #data_connection_timeout=120 ##
- #nopriv_user=ftpsecure ## vsftpd , ftp
- #async_abor_enable=YES ## sync
- #ascii_upload_enable=YES ## ASCII
- #ascii_download_enable=YES ## ASCII
- #ftpd_banner=Welcome ## ftp
- #deny_email_enable=YES ##
- #banned_email_file=/etc/vsftpd/banned_emails
- chroot_local_user=YES|NO ##
- #chroot_list_enable=YES # , chroot_local_user=YES ,
- #chroot_list_file=/etc/vsftpd/chroot_list ## , , chroot_list_enable=YES ,
- local_root=/directory path ## ,
- anon_max_rate=0 ## Byte/s, ,0
- local_max_rate=0 ##
- deny_file={*.exe} ##
- #ls_recurse_enable=YES ## ftp ls –R
- dirlist_enable=YES|NO ## dir
- listen=YES ##vsftpd ,YES ,NO xinetd
- #listen_ipv6=YES
- listen_address=172.16.11.1 ## vsftpd IP
- listen_port=34 ## vsftpd , TCP 21
- max_clients=300 ## vsftpd
- max_per_ip=8 ## ip
- pam_service_name=vsftpd ## vsftpd PAM , /etc/pam.d
- userlist_file=/file path ## ftp
- userlist_enable=YES | NO ## YES ,vsftpd ,vsftpd ,
- userlist_deny=YES|NO ## userlist_file ftp , userlist_enable=YES ,YES , ftp
- tcp_wrappers=YES | NO ## tcp_wrapper