Category Archives: Webmin

WebminでFTP over SSLの設定

Wednesday 23 February 2011

FTPは暗号化されない通信だけれども、IDとパスワードを盗み見られてしまうと、サーバーのファイルを削除されたり書き換えられたりする心配があります。
なので、うちのサーバーではFTPはほとんど使っておらず、ファイル転送には主にSFTP(SSHを使ってファイル転送を行う)を利用しています。クライアントはCodaやDreamweaverです。

ただ、それを他のユーザーに使ってもらうためには、SSHでのアクセスを与えることになり、それもまた、なんでも(たとえばルート・ディレクトリーにさかのぼっていくとか)できてしまうわけで不安。安全にファイルのアップロード/ダウンロードだけを使ってもらえるように、FTP over SSL (FTPS)を導入することにしました。

で、前の記事でWebminにvsftpdのモジュールを追加したと書いたのですが、その辺の設定をしたかったわけです(正直、コマンドラインであれこれやるのは苦手)。

設定はあっという間でした。あー、なんでもっと早くやっておかなかったんだろう、っていう感じです。

  1. まずWebminのvsftpdを選び、SSL CERTアイコンをクリックします。
  2. SSL CERT icon

    ここでサーバー名やメールアドレスなどを入力して証明書を作成、「CREATE CERTIFICATE」ボタンをクリックします。

  3. 次にMiscellaneousを選びます。
  4. Miscellaneous icon

  5. SSL enableをYESに。
  6. rsa cert fileには、うちでは自動的に証明書のパスが入っていましたが、違う場所に作った場合、既存の証明書を使う場合などにはここを変更する必要があるのでしょう。

    ftp server parameters

  7. で、変更を保存(Save changes)。
  8. 「Restart vsftpd server」ボタンをクリック。
    これでCodaなどの対応クライアントで、FTP over SSLが使えるようになります。また、Wordpressの自動アップデートでも、FTPSを使うことができるようになります。

この作業によって、実際にはvsftpd.confファイルに以下のようなパラメーターが追加記述されます。

ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem

プレーンテキストでのログインを禁止(SSLでのみログインできる状態に)するには、force_local_logins_ssl=YESとします。

Webminにvsftpdのモジュールを追加

Saturday 19 February 2011

サーバーの管理にWebminを用いていますが、これまでは標準のモジュール・セットだけ使い、ない機能はSSHで直に操作していました。

今回、FTPサーバーのvsftpdを管理するモジュールを入れてみようと思ったのは、うちにあるLinuxの書籍にあまり詳しい説明がなかったから。(^^;
じゃあ、Webminでやってみたら多少は設定の仕方も間違えにくいだろう、と思ったのです(そろそろ新しい書籍を買えという話もあります)。

で、Webminのサイトを見てみると…

サードパーティー製モジュール

この中のVSFTPD 1.4というのを使うことにしました。

サーバー間で直接ファイルをやり取りする方法もあると思いますが、今回はいったん手元にダウンロードし、それを自分のサーバにアップロードするようにしました。

  1. ↑のページにあるリンクから、provider4u.deにあるvsftpd.tar.gzを手元へダウンロード
  2. Webminにログイン
  3. Webminメニューの中のWebmin Configurationを選ぶ
  4. Webmin Modulesを選ぶ
    webmin modules icon
  5. From uploaded fileでローカルのvsftpd.tar.gzを選択
  6. Install Moduleをクリック

ということで、あっという間にvsftpd用のモジュールが組み込まれました。WebminのメニューのServersの中に入ります。

うちの設定では、.confファイルへのパスがデフォルトと違っていたようなので、それだけ修正すると使えるようになりました。

vsftpd icons

Vsftpdの設定画面。Manual entriesで直接vsftpd.confファイルを修正でき、vsftpd.conf Docでは詳細なパラメーターの説明が表示されます。

Webminの再起動

Monday 29 September 2008

仕事場で使用しているグローバルIPアドレスが変更になったため、遠隔地にあるサーバーへのアクセス制限の設定も変更しなければならなくなりました。古いIPアドレスからしかアクセスできないように設定してあったので、IPアドレス変更後は、サーバーの管理ができなくなりました。もちろん、Webサーバーやメールなど一般的なサービスは行えるわけですが。

☆☆☆

まずは、SSH。
前提として、 /etc/hosts.deny というファイルに次のように書き込むことによって、すべての場所からのアクセスを拒否してあります。

ALL:ALL

さらに /etc/hosts.allow というファイルに、以下のようにアクセスを許可するIPアドレスを書き込みます。

sshd : 123.123.123.123

このアクセス制限の機能はTCP Wrappersというのだそうですが、設定を書き込むとすぐに反映されるため、サーバーの再起動などの必要はありません。
SSHでアクセスできないのにどうやってこのファイルを書き換えるのか? それは秘密です(笑)。要するにサーバー業者の提供している特別なサービスによって行うということです。

☆☆☆

次に、Webmin。

まず上のように設定してからsshでログインし、 /etc/webmin/miniserv.conf
というファイルの allow に登録されているIPアドレスを新しいものに変更します。
設定ファイル保存後、Webminは以下のコマンドで再起動が必要です。

/etc/init.d/webmin restart

色々ややこしいですね。でも、たまにこういうのをやらないと、忘れちゃいます。(^^;