ECSトレーニングキャンプDay1はFTPサービスを設定します

vsftpdをインストールします

  1. 次のコマンドを実行して、vsftpdをインストールします。
    yum install -y vsftpd
    ここに写真の説明を挿入
  2. 次のコマンドを実行して、FTPサービスが自動的に開始するように設定します。
    systemctl enable vsftpd.service
  3. FTPサービスを開始します。
    systemctl start vsftpd.service
  4. 次のコマンドを実行して、FTPサービスによって監視されているポートを表示します。
    netstat -antup | grep ftp
    は、次の図に示すようなインターフェイスを表示し、FTPサービスが開始され、リスニングポート番号が21であることを示します。この時点で、vsftpdはデフォルトで匿名アクセスを有効にしています。ユーザー名とパスワードを入力せずにFTPサーバーにログインできますが、ファイルを変更またはアップロードする権限はありません。
    ここに写真の説明を挿入

vsftpdを構成する

vsftpd(非常に安全なFTPデーモン)は、Linuxディストリビューションで最も尊敬されているFTPサーバーです。vsftpdは、匿名アクセスとローカルユーザーモードの2つのアクセス方法をサポートしています。匿名アクセスモードすべてのユーザーがビルドされたFTPサービスにアクセスできます。ローカルユーザーモードは、ビルドされたFTPサービスにアクセスするために追加されたローカルユーザーのみをサポートします。

注:同時に構成できるのは、匿名ユーザーモードとローカルユーザーモードのいずれか1つだけです。

  • 匿名ユーザーモード
  1. 構成ファイルvsftpd.confを変更します。
    vim /etc/vsftpd/vsftpd.conf
    iキーを押して編集モードに入り、匿名アップロード権限のコメントを解除しますanon_upload_enable = YES。
    ここに写真の説明を挿入
  2. ESCキーを押して編集モードを終了し、次のように入力します。wqを入力して、vimを保存して終了します。
  3. / var / ftp / pubディレクトリのアクセス許可を変更し、FTPユーザーの書き込みアクセス許可を追加します。
    chmod o + w / var / ftp / pub /
  4. FTPサービスを再起動します。
    systemctl restart vsftpd.service
  • ローカルユーザーモード
  1. FTPサービス用のLinuxユーザーを作成します。
    adduser ftptest
    は、ユーザーのパスワードを設定します。
    passwd ftptest
  2. FTPサービス用のファイルディレクトリを作成します。
    mkdir / var / ftp / test
  3. / var / ftp / testディレクトリの所有者をftptestに変更します。
    chown -R ftptest:ftptest / var / ftp / test
  4. vsftpd.conf構成ファイルを変更します。

FTPをアクティブモードに設定するには、次のコマンドを実行します。

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录

FTPをパッシブモードに設定するには、次のコマンドを実行します。

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录 

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

FTPアクティブおよびパッシブ:
FTPプロトコルは2つのTCP接続を使用します
。1つはFTPクライアントとサーバー間でコマンドを転送するために使用されるコマンド接続でありもう1つは
データのアップロードまたはダウンロードに使用されるデータ接続です。
アクティブモードまたはパッシブモードに関係なく、ファイル転送のために2つの接続、つまりコマンド接続とデータ接続を順番に確立する必要があります。アクティブモードとパッシブモードの違いは、主にデータリンクチャネルに反映されます。
 
アクティブモードFTPは、サーバーがクライアントのデータポートに
アクティブに接続することを意味します。アクティブモードでは、FTPクライアントは1024より大きいポートをサーバーのポート21にランダムに開きます。接続を開始してから、監視のためにポートN + 1を開き、サーバーにPORT N +1コマンドを発行します。サーバーはコマンドを受信すると、ローカルFTPデータポート(通常は20)を使用して、クライアントがデータ送信用に指定したポートN +1に接続します。
 
PASVの動作モードでは、サーバーはクライアント接続要求を受信すると、ポート1024から5000からランダムに1つを自動的に選択して、クライアントとの接続を確立してデータを転送します。パッシブおよび自動接続確立のため、攻撃に対して脆弱であるため、セキュリティが不十分です。

  1. / etc / vsftpdディレクトリにchroot_listファイルを作成し、そのファイルに例外ユーザーのリストを書き込みます。
    #vimコマンドを使用してchroot_listファイルを編集し、例外ユーザーのリストを追加します。このリストのユーザーはホームディレクトリにロックされず、他のディレクトリにアクセスできます。
    vim / etc / vsftpd / chroot_list
    説明:例外ユーザーがいない場合は、chroot_listファイルを作成する必要があり、コンテンツを空にすることができます。

  2. FTPサービスを再起動します。
    systemctl restart vsftpd.service

クライアントテスト

  1. Chromブラウザーを開き、アドレスバーにftp:// <FTPサーバーのパブリックネットワークIPアドレス>:FTPポートを入力します。FTPサーバーのパブリックネットワークIPアドレスは、ECSサーバーのエラスティックIPアドレスです。例:ftp://106.15.8.127:21

  2. ポップアップダイアログボックスで、ユーザー名とパスワードを入力します。
    ftp://106.15.8.127:21
    ここに写真の説明を挿入

  3. ログイン成功インターフェースは以下のとおりですが、現時点では、FTPファイルは対応する権限で操作できます。
    ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/qq_39578545/article/details/108755461
おすすめ