お名前.com の VPS サービスについてのつづきです。
前回は「コントロールパネル」がなかなかナイス、と書いたのですが、やはり「コントロールパネル」だけでは納得のいく環境をつくることはできません。
たとえば、この「コントロールパネル」からユーザ登録する場合には、ユーザ名は8文字以上でなくてはいけないという奇妙な制限があります。またここから登録したユーザのパスワードはいつでも平文で表示可能です。うーん、これはいやです。
そんなわけで、VPS 自体のメンテナンス機能としては「コントロールパネル」を活用するとしても、ユーザ管理やサービス管理などは ssh ログインした上で通常のサーバのように自前で管理するというのが正しい方法なのでしょう。
○ ssh 接続
まずは「コントロールパネル」から、サービスとして sshd が稼動していることを確認します。またファイアウォール設定で ssh 接続が許可されていることを確認します。(初期設定では ssh 接続は許可されていなかったように思います。)
この状態で「一般アカウント」として初期登録されている「vps…」というユーザで ssh ログインできました。
○ ユーザ作成
ssh でログインできたら、あとは su で root になって、必要なユーザを adduser していけばよいです。パスワードは passwd で設定します。これで新しく登録したユーザでも ssh できるようになります。
(公開サーバですから、authorized_keys に接続元の公開鍵を設定した上で /etc/ssh/sshd_config の PasswordAuthentication を no とし、ssh での接続方法は鍵認証のみに限ってしまったほうが安心です。あっというまにスキャンが来ます。)
なお、ここで登録したユーザは「コントロールパネル」での管理対象外となります。
もちろんそのこと自体は意図どおりなのですが、FTP のユーザ情報(や、もしかするとメールのユーザ情報)もデフォルトでは別管理となっているようなのでその点には注意が必要です。このままでは adduser したユーザは ftp 接続ができません。
このあたりの調整をしていくのですが、まずはその前に yum をインストールしておきます。
○ yum のインストール
yum は CentOS のパッケージ管理ツールなのですが、このサービスではデフォルトではインストールがされていません。「コントロールパネル」の「セキュリティ」→「アップデート」で「アップデート方法」を「アップデートなし(上級者向け)」に設定すると自動でのアップデートは無効化され、yum がインストールされるということです。
yum がインストールされたら、通常の CentOS のようにパッケージ管理可能になります。
○ proftpd のログイン設定
さきほど書いたように、このサービスのデフォルトでは FTP 接続時の認証を Unix アカウントに基づいては行いません。/etc/proftpd/ftpd.passwd を見るようになっているようです。
しかし「コントロールパネル」を使用しない場合にはそのようにユーザ管理を多重化するメリットはありませんから、通常通り Unix アカウントベースの認証をしてくれたほうが便利です。
/etc/proftpd.conf では
AuthPAMConfig proftpd ##AuthOrder mod_auth_pam.c* mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthGroupFile /etc/proftpd/ftpd.group AuthOrder mod_auth_file.c
となっているのですが、AuthOrder を標準の設定に戻して以下のようにすることで、adduser で登録し passwd で設定・変更した情報で ftp ログイン可能になります。
AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c #AuthUserFile /etc/proftpd/ftpd.passwd #AuthGroupFile /etc/proftpd/ftpd.group #AuthOrder mod_auth_file.c
ただし ftp での接続も、iptables でのソースIP限定などを行って制限しておいたほうが無難でしょう。(実際、ftp は WordPress の自動アップデートくらいにしか使う予定がありません。)
○ iptables でのパケットフィルタリング
iptables の設定は /etc/sysconfig/iptables にあります。このファイルは「コントロールパネル」での「ファイアーウォール」設定によって更新されるファイルです。しかし「コントロールパネル」ではポート単位で許可・不許可を設定することしかできませんから、接続元IPでの制限等をしようと思えばここを直接変更することになります。
iptables ファイルを変更したら、/etc/init.d/iptables restart でパケットフィルタリングが再設定されます。