1-Download CentOS 7
目次:
- 前提条件
- CentOS 7でのvsftpdのインストール
- vsftpdの構成
- 1. FTPアクセス
- 2.アップロードを有効にする
- 3.クルート刑務所
- 4.パッシブFTP接続
- 5.ユーザーログインの制限
- 6. SSL / TLSを使用した送信の保護
- vsftpdサービスを再起動します
- ファイアウォールを開く
- FTPユーザーの作成
- シェルアクセスを無効にする
- 結論
FTP(ファイル転送プロトコル)は、ユーザーがリモートネットワークとの間でファイルを転送できるようにする標準のクライアントサーバーネットワークプロトコルです。
Linuxでは、いくつかのオープンソースFTPサーバーを利用できます。 最も一般的で広く使用されているのは、PureFTPd、ProFTPD、およびvsftpdです。
このチュートリアルでは、vsftpd(Very Secure Ftp Daemon)をCentOS 7にインストールします。これは、安定した安全で高速なFTPサーバーです。 また、ユーザーをホームディレクトリに制限し、SSL / TLSで送信全体を暗号化するようにvsftpdを構成する方法も示します。
より安全で高速なデータ転送を行うには、SCPまたはSFTPを使用します。
前提条件
このチュートリアルを続ける前に、sudo特権を持つユーザーとしてログインしていることを確認してください。
CentOS 7でのvsftpdのインストール
vsftpdパッケージは、デフォルトのCentOSリポジトリで利用可能です。 それをインストールするには、次のコマンドを発行します。
sudo yum install vsftpd
パッケージがインストールされたら、vsftpdデーモンを起動し、起動時に自動的に起動するように有効にします。
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
vsftpdサービスが実行されていることを確認するには、そのステータスを出力します。
sudo systemctl status vsftpd
出力は以下のようになり、vsftpdサービスがアクティブで実行中であることが示されます。
● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
vsftpdの構成
vsftpdサービスの構成には、/ etc / vsftpd
/etc/vsftpd/vsftpd.conf
構成ファイルの編集が
/etc/vsftpd/vsftpd.conf
ます。 ほとんどの設定は、構成ファイル内に十分に文書化されています。 利用可能なすべてのオプションについては、公式のvsftpdページをご覧ください。
次のセクションでは、安全なvsftpdインストールを構成するために必要ないくつかの重要な設定について説明します。
vsftpd構成ファイルを開いて開始します。
sudo nano /etc/vsftpd/vsftpd.conf
1. FTPアクセス
FTPサーバーへのアクセスをローカルユーザーのみに許可し、
anonymous_enable
および
local_enable
ディレクティブを見つけて、設定が以下の行に一致することを確認します。
anonymous_enable=NO local_enable=YES
2.アップロードを有効にする
write_enable
設定のコメントを解除して、ファイルのアップロードや削除などのファイルシステムへの変更を許可します。
3.クルート刑務所
chroot
ディレクティブのコメントを外すことにより、FTPユーザーがホームディレクトリ外のファイルにアクセスできないようにします。
chroot_local_user=YES
デフォルトでは、chrootが有効な場合、vsftpdはユーザーがロックされているディレクトリが書き込み可能な場合、ファイルのアップロードを拒否します。 これは、セキュリティの脆弱性を防ぐためです。
以下のいずれかの方法を使用して、chrootが有効になっているときにアップロードを許可します。
-
方法 1-アップロードを許可する推奨方法は、chrootを有効にしてFTPディレクトリを構成することです。 このチュートリアルでは、chrootとして機能する
/etc/vsftpd/vsftpd.confftp
ディレクトリと、ファイルをアップロードするための書き込み可能なuploads
ディレクトリをユーザーホーム内に作成します。user_sub_token=$USER local_root=/home/$USER/ftp
方法 2-別のオプションは、vsftpd構成ファイルに次のディレクティブを追加することです。 ユーザーにホームディレクトリへの書き込み可能なアクセスを許可する必要がある場合は、このオプションを使用します。
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4.パッシブFTP接続
vsftpdは、パッシブFTP接続に任意のポートを使用できます。 ポートの最小および最大範囲を指定し、後でファイアウォールでその範囲を開きます。
構成ファイルに次の行を追加します。
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5.ユーザーログインの制限
特定のユーザーのみがFTPサーバーにログインできるようにするには、
userlist_enable=YES
行の後に次の行を追加します。
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
このオプションを有効にした場合、ユーザー名を
/etc/vsftpd/user_list
ファイルに追加して、ログインできるユーザーを明示的に指定する必要があります(1行に1ユーザー)。
6. SSL / TLSを使用した送信の保護
SSL / TLSを使用してFTP伝送を暗号化するには、SSL証明書を取得し、それを使用するようにFTPサーバーを構成する必要があります。
信頼できる認証局によって署名された既存のSSL証明書を使用するか、自己署名証明書を作成できます。
このチュートリアルでは、
openssl
コマンドを使用して自己署名SSL証明書を生成します。
次のコマンドは、2048ビットの秘密キーと10年間有効な自己署名証明書を作成します。 秘密鍵と証明書の両方が同じファイルに保存されます:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
SSL証明書が作成されたら、vsftpd構成ファイルを開きます。
sudo nano /etc/vsftpd/vsftpd.conf
rsa_cert_file
および
rsa_private_key_file
ディレクティブを見つけ、それらの値を
rsa_private_key_file
ファイルパスに変更し、
ssl_enable
ディレクティブを
YES
設定します。
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
特に指定されていない場合、FTPサーバーはTLSのみを使用して安全な接続を確立します。
vsftpdサービスを再起動します
編集が完了すると、vsftpd構成ファイル(コメントを除く)は次のようになります。
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
ファイルを保存し、vsftpdサービスを再起動して、変更を有効にします。
ファイアウォールを開く
ポート
21
(FTPコマンドポート)、ポート
20
(FTPデータポート)、および
30000-31000
(パッシブポート範囲)を
30000-31000
は、次のコマンドを発行します。
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
次のように入力して、ファイアウォールルールをリロードします。
FTPユーザーの作成
FTPサーバーをテストするために、新しいユーザーを作成します。
- FTPアクセスを許可するユーザーが既にいる場合は、最初の手順をスキップします。設定ファイルで
allow_writeable_chroot=YES
を設定している場合は、3番目の手順をスキップします。
-
newftpuser
という名前の新しいユーザーを作成します。sudo adduser newftpuser
次に、ユーザーパスワードを設定する必要があります。
sudo passwd newftpuser
許可されたFTPユーザーリストにユーザーを追加します。
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
FTPディレクトリツリーを作成し、適切なアクセス許可を設定します。
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
前のセクションで説明したように、ユーザーはファイルを
ftp/upload
ディレクトリにftp/upload
ます。
この時点で、FTPサーバーは完全に機能しており、FileZillaなどのTLS暗号化を使用するように構成できる任意のFTPクライアントを使用してサーバーに接続できるはずです。
シェルアクセスを無効にする
デフォルトでは、ユーザーの作成時に、明示的に指定されていない場合、ユーザーはサーバーへのSSHアクセス権を持ちます。
シェルアクセスを無効にするには、アカウントがFTPアクセスのみに制限されていることをユーザーに伝えるメッセージを出力するだけの新しいシェルを作成します。
次のコマンドを実行して
/bin/ftponly
シェルを作成し、実行可能にします。
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
/etc/shells
ファイル内の有効なシェルのリストに新しいシェルを追加します。
echo "/bin/ftponly" | sudo tee -a /etc/shells
ユーザーシェルを
/bin/ftponly
変更します。
sudo usermod newftpuser -s /bin/ftponly
同じコマンドを使用して、FTPアクセスのみを許可する他のユーザーのシェルを変更します。
結論
このチュートリアルでは、CentOS 7システムに安全で高速なFTPサーバーをインストールして構成する方法を学びました。
ftp centosCentOS 7でワニスを使用するようにmagento 2を構成する

ページの速度は、オンラインストアの成功に不可欠です。 このチュートリアルでは、Magento 2を設定してVarnishをフルページキャッシュソリューションとして使用する手順を説明します。
CentOS 7でユーザーを追加および削除する方法

ユーザーを追加および削除する方法を知ることは、Linuxユーザーが知っておくべき基本的なスキルの1つです。 このチュートリアルでは、CentOS 7システムでユーザーを追加および削除する方法を説明します。
CentOS 7でスワップスペースを追加する方法

スワップは、物理RAMメモリの容量がいっぱいになったときに使用されるディスク上のスペースです。 このチュートリアルでは、CentOS 7システムにスワップファイルを追加する方法について説明します。