FTP(ファイル転送プロトコル)は、おそらくサーバーにファイルをアップロードする最も一般的な方法です。 ProFTPD は、SSL/TLS暗号化をサポートするLinuxシステム用の一般的で簡単に構成可能なFTPサーバーです。
FTPは、すべてのパスワードとすべてのデータがクリアテキスト(プレーンテキストとして)で転送されるため、安全でないプロトコルです。 TLSを使用することにより、通信全体を暗号化できるため、FTPはファイルを転送するための安全なプロトコルになります。この記事では、Ubuntuサーバー15.04でTLSを使用してproftpdを構成する方法について説明します。 。
- Ubuntu Server15.0464ビット
- sudo/root権限
このチュートリアルで行うこと:
- ProftpdとOpenSSLをインストールする
- Proftpdを設定する
- ユーザーの構成
- proftpdを使用してTLSを構成する
- テスト
ProftpdとOpenSSLをインストール
ProftpdとOpenSSLはUbuntuリポジトリで利用でき、aptコマンドでインストールできます。 installコマンドの場合と同様に、aptコマンドをsudoで実行して、root権限で実行します。
sudo apt-get install -y proftpd openssl
インストールが開始されると、Proftpdをinetdサービスとして実行するかスタンドアロンサービスとして実行するかを尋ねられます。ここでスタンドアロンオプションを選択してから、[OK]をクリックします。
Proftpdをインストールしたら、いくつかの設定ファイルを変更する必要があります。 Proftpd設定ファイルは/etc/proftpd/ディレクトリにあります。 nanoエディターでproftpd.confファイルを編集します。
cd /etc/proftpd/
nano proftpd.conf
ServerNameの行で、名前をホスト名またはドメインに変更します。
ServerName "myhostname"
DefaultRootのコメントを外す:
# Use this to jail all users in their homes DefaultRoot ~
Proftpdを再起動します:
systemctl restart proftpd
FTPユーザーを追加
FTPサーバーにアクセスする一般的な方法は2つあります。
1.匿名FTP 、FTPサーバーは、ユーザーアカウントとパスワードを必要とせずに、誰にでもアクセスを提供します。
2。 ユーザー名とパスワードによるアクセス 、FTPサーバーにアクセスできるユーザーアカウントとパスワードを持っているユーザーのみ。
ここでオプション2を構成します。匿名FTPはインターネット時代の初めに人気がありましたが、今日では匿名FTPサーバーの誤用が非常に多いため、このオプションは家庭や会社のネットワークなどの閉鎖的な環境でのみ使用できます。
Proftpdのユーザーを作成する前に、/ bin/falseを/etc/shellsファイルに追加してください。
echo "/bin/false" >> /etc/shells
次に、FTPでアクセスできるホームディレクトリを持つユーザーを作成します。このユーザーに「/bin/ false」シェルを割り当てて、SSHでログインできないようにすることで、このユーザーのシェルアクセスを無効にします。私のユーザー名は「yuuki」です。次のコマンドでyuukiを自分のユーザー名に置き換えてください。
adduser --home /home/yuuki --shell /bin/false yuuki
上記のコマンドは、ホームディレクトリ/ home / yuuki /を持ち、シェルアクセス/ bin/falseのないyuukiという新しいユーザーを作成します。
次に、ユーザーyuukiがFTPサーバーにアクセスできるようにProftpdを構成します。
cd /etc/proftpd/
nano proftpd.conf
この設定を追加して、ユーザーyuukiがログインし、ホームディレクトリ/ home/yuukiとの間でファイルをアップロード/ダウンロードできるようにします。
<Directory /home/yuuki> Umask 022 022 AllowOverwrite off <Limit LOGIN> AllowUser yuuki DenyALL </Limit> <Limit ALL> Order Allow,Deny AllowUser yuuki Deny ALL </Limit> <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD> AllowUser yuuki Deny ALL </Limit> </Directory>
その後、Proftpdを再起動します。
systemctl restart proftpd
この段階まで、FTPは暗号化なしですでに使用できます。次に、TLSを有効にして安全にします。
ProftpdでTLSを構成する
TLSを使用するには、SSL証明書を作成する必要があります。 OpenSSLコマンドを使用してSSL証明書を生成します:
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
このコマンドは、/ etc / ssl / certs /ディレクトリに証明書ファイルproftpd.crtを生成し、/ etc / ssl /private/ディレクトリに証明書キーファイルproftpd.keyを生成します。
証明書ファイルのファイル権限を600に変更して、他のユーザーによるアクセスを禁止します。
chmod 600 /etc/ssl/certs/proftpd.crt
chmod 600 /etc/ssl/private/proftpd.key
次に、Proftpdディレクトリに戻り、生成した証明書をSSLを使用するようにProftpdを構成します。
cd /etc/proftpd/
nano proftpd.conf
tls行のコメントを解除します:
Include /etc/proftpd/tls.conf
保存してtlsファイルを編集します:
nano tls.conf
これらすべての行のコメントを解除します:
TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequest TLSVerifyClient off TLSRequired on
保存して終了。最後のステップは、Proftpdサーバーを再起動することです:
systemctl restart proftpd
構成をテストするには、FTPクライアントを使用してFTPサーバーに接続してみてください。 FileZillaを使用します ここ。サーバーのIP、ユーザー名、パスワード、ポートを入力します:
Server IP : 192.168.1.108 username : yuuki Password ****** Port : 21
次に、[クイック接続]をクリックします。 SSL証明書の確認を求められます。[OK]をクリックするだけです。
これで、TLS/SSL証明書を使用してFTPサーバーにログインしました。 。