@YMC RENTAL SERVER SERVICE お知らせお問い合せ各種申請
YSシリーズ マネージドサーバー カスタムサーバー その他のプラン お問い合せ 各種申請
 カスタムサーバー

セキュリティ対策について

カスタムサーバーは、CentOS 4.4 Single Server CD の標準構成に準じた内容でインストールしております。
そのため、サービスの起動設定や追加インストールが必要となりますが、ご利用内容にあわせたセキュリティ対策も必要となります。

ここでは最低限必要なセキュリティ対策について説明いたしますが、実際のご利用内容にあわせたセキュリティ対策も行われるようお願いいたします。

安全なパスワードを利用する

メールや FTP/SSH を利用するためにアカウントを作成した場合には、そのアカウントを利用するためのパスワードも設定することになりますが、英単語や人名などを利用したパスワードの場合「辞書攻撃(Dictionary attack)」と呼ばれる攻撃を受けることでパスワードが知られてしまう場合があります。また、辞書攻撃では英単語や人名に数字を付加したものも(taro1234 など)利用して攻撃するため、そういったものを含んだようなパスワードも危険度が高いといえます。

安全なパスワードの目安としては次のようなものがありますので、参考にしてください。

  • 6文字以上のパスワードにする
  • 英単語や人名などを含めない
  • 大文字・小文字・数字・記号などを混ぜる
  • 同じ文字は使わない
  • オンラインサービスなどに登録したことのあるパスワードは使わない
  • 覚えられるパスワードにする(メモなどはしない)
  • 定期的に変更する

ログイン可能なアカウントを制限する

メールや FTP でしか利用しないアカウントの場合、SSH などでログインが出来ないようにログインシェルを変更することでパスワードが破られた場合にもサーバーへの侵入が難しくなります。
ログインシェルの変更は chsh コマンドで変更可能です。たとえば、アカウント taro のログインシェルを SSH でログインできないように変更する場合には、

# chsh -s /sbin/nologin taro

のように /sbin/nologin に変更することでメールや FTP でのみ利用可能になります。

TCP Wrapper を利用したアクセス制限を行う

TCP Wrapper はセキュリティ対策の基本となるプログラムで、非常に多くのサーバーアプリケーションから利用されています。
設定ファイルは /etc/hosts.allow/etc/hosts.deny が中心となりますが、アクセス制限の対象となるサーバーアプリケーションが TCP Wrapper を利用する設定になっている必要があります。

設定ポリシー

TCP Wrapper の設定は細かくカスタマイズが可能ですが、ここでは以下のポリシーでアクセス制限を行います。

  1. 基本的にはすべての接続を拒否する
    hosts.deny ファイルですべての接続を拒否する設定を行います。
  2. 特定のホストからの接続のみ許可する
    hosts.allow にサービスごとに許可するホストを設定します。

このポリシーでは未許可のホストからの接続はすべて拒否されます。
そのため ssh は2つ以上接続して作業を行い、必ず1つの接続を作業終了時まで切断をしないようにしておくことで、設定ミスなどの非常時に設定を元に戻すために利用できます。
この方法で必ずしも復旧作業が可能になるとは限りませんが、設定ミスをした場合には弊社で復旧作業を行わなければ復旧できない場合もございますので、十分にご注意ください。

hosts.allow の設定内容

hosts.allow, hosts.deny ファイルはファイルを書き換えた直後から設定内容が有効になります。必ず hosts.allow の設定を行った後 に hosts.deny の設定を行ってください。

hosts.allow ファイルでは、サービス毎に接続の許可をするホストを登録することになりますが、通常の運用で設定が必要なものとして以下のものがあります。

  • sendmail への接続はすべて許可する
    sendmail は不特定のホストからのメールを受信することになりますので、通常はすべてのホストからの接続を許可することになります。
  • お客様のご利用ネットワークからの接続を許可する
    多くの場合、ssh と ftp のサービスに関してはお客様のご利用ネットワークからのみの接続許可を行うように設定します。_
  • 弊社(@YMC)からのメンテナンス用として 210.175.91.250 からの ssh への接続を許可する
    この設定がない場合、弊社のメンテナンス作業等が行えなくなる場合がありますので、設定をお願いします。

接続を許可するホストに関しては、IPアドレスでの登録をおすすめいたしますが、固定IPアドレスからの接続ではない場合には ISP のドメイン名などを登録することになります。この場合にはご利用になられる ISP からの接続はすべて許可されることになりますので、ご注意ください。

/etc/hosts.allow

sendmail : ALL
sshd : 210.175.91.250, 1.2.3.4
vsftpd : 1.2.3.4

※ 接続を許可する IP アドレスを 1.2.3.4 とした場合

なお、hosts.allow での「サービス」とは /etc/services に登録してあるものではなく、サーバーアプリケーション毎に設定されたサービス名になります。設定したものの期待通りに動作しない場合には、サービス名が正しいか確認してください。

サービス名の例
アプリケーション名 サービス名
SSH sshd
sendmail sendmail
vsftpd vsftpd

hosts.deny の設定内容

上記ポリシーでは、hosts.deny はすべての接続を拒否する設定としますので、hosts.deny の設定は非常にシンプルになります。

/etc/hosts.deny

ALL : ALL

これで、hosts.allow で許可されているものを除き、すべてのサービスに対するすべてのホストからの接続を拒否するようになります。

期待通りの動作をしない場合

期待通りに動作しない場合のほとんどはサービス名が間違っていることが原因ですが、サーバーアプリケーションによっては TCP Wrapper 以外にアプリケーション独自のアクセス制御機構を持っている場合があります。
たとえば、sendmail の場合には TCP Wrapper 以外にも不正利用防止のための様々な設定が可能ですので、/var/log/maillog などのログ出力などから、接続そのものが出来ていないのか、接続後に拒否されているのかを確認する必要があります。

定期的にバージョンアップの確認・適用を行う

ほとんどのアプリケーションはセキュリティ対策のためにバージョンアップが行われています。
セキュリティ対応といっても、特定の利用法をしている場合のみ必要なものから、早急に対応を進められるものまで幅広い内容がありますが、多くの場合はバージョンアップの適用を行うことをおすすめします。

バージョンアップの方法もアプリケーション毎に異なります。たとえば、CentOS 標準のパッケージに関しては、yum コマンドなどによるバージョンアップが簡単に行えますが、CGIなどのWEBアプリケーションは、ファイルの差し替えや再インストールが必要なものもあります。
また、設定ファイルの変更などが必要な場合もありますので、各アプリケーションのマニュアルを読みバージョンアップ手順を十分理解した上で作業を行ってください。

利用しないアプリケーションは起動・インストールしない

カスタムサーバーでは、初期状態ではほとんどのアプリケーションが起動していない状態ですが、実際には様々なアプリケーションをご利用になられると思います。
しかし、テスト的にインストール・起動してみたものの、実際には利用しないアプリケーションもあるかと思いますが、そのようなアプリケーションは利用していないために、不正に利用されていても気づきにくく、セキュリティ対策のためのバージョンアップを行っていなかったり、設定も不十分であることが多く注意が必要です。

実際に不正利用されているアプリケーションとしては、手軽に導入できるCGIやPHPなどのWEBアプリケーションなどが多いようです。
不正利用を防ぐには、利用していないアプリケーションがないか定期的に見直し、必要に応じて停止・削除を行うようにする必要があります。



Copyright (c) GMO GlobalSign Holdings K.K. All Rights Reserved.