はじめに
たまに、チーターに管理者権限を奪われてデバッグモードやクリエイティブモードを行使されて、無茶苦茶な事態になったというケースを耳にします。
実はサーバーの設定項目の中には、何も考えずに内容を変更すると、管理者権限を奪われかねない危険な設定項目がいくつか存在します。ここではそのような設定項目と、それらに対するセキュリティ対策を説明します。
注意事項
- 本説明はAlpha19(b173)の設定ファイルに基づいています。その他のバージョンには適用できない場合があります。
- 本説明にしたがって設定変更をおこなったことによって何らかの損害を負った場合、当サーバは一切の責任を負いません。自己責任で適用願います。
- 本説明の内容をチート行為等に悪用してはなりません。特に日本国内の居住者がそのような行為を行なった場合、不正アクセス禁止法等により刑事罰を科される可能性があります。
危険な設定項目とセキュリティ対策
- ControlPanel(serverconfig.xml)
- 危険性
- ControlPanelからは全てのコマンドが実行できるため、パスワードが破られると、adminコマンドにより管理者権限を奪われる可能性等があります。
- セキュリティ対策
- ControlPanelを使わない場合、”ControlPanelEnabled”は必ず”false”にしましょう。
- ControlPanelを使う場合、下記設定を行ないましょう。
- “ControlPanelPort”をデフォルトの8080から、別のポートに変更する。
- チーターは公開鯖のControlPanelのデフォルトポートを狙って、総当たり攻撃(ブルートフォース)を仕掛けてきます。ポートをデフォルトから変更するだけでもチーター対策としてはかなり効果的です。
- “ControlPanelPassword”をデフォルトから、複雑なパスワードに変更する。
- 参考:パスワード生成ツール
- “ControlPanelPort”をデフォルトの8080から、別のポートに変更する。
- 危険性
- Telnet(serverconfig.xml)
- 危険性
- ControlPanelと同じです。
- セキュリティ対策
- ControlPanelと同じ要領で下記を設定してください。
- TelnetEnabled
- TelnetPort
- TelnetPassword
- Telnetを使う場合、”TelnetFailedLoginLimit”を可能な限り小さい値にしましょう。これは、Telnetでログイン試行できる最大回数です。デフォルトは10回ですが、自分でアクセスする場合はそんなに間違えないと思いますので、1~2回で良いと思います。
- さらに”TelnetFailedLoginsBlocktime”を可能な限り大きな値にしましょう。これは”TelnetFailedLoginLimit”で設定した回数だけログインに失敗したときに、次にログイン試行できるようになるまでの時間です。デフォルトは10秒ですが、自分でアクセスする場合そんなに頻繁に間違えないと思いますので、1時間(3600秒)や1日(86400秒)やそれ以上の値に設定しましょう。
- ControlPanelと同じ要領で下記を設定してください。
- 危険性
- admintokens(webpermission.xml)
- 本設定はServer fixesを導入している方のみ確認してください。(ほとんどの方が導入していると思いますが。)
- 危険性
- ControlPanelと同じです。
- <admintokens>を有効にしていると、Webブラウザ等からHTTPプロトコルで下記のようなGETコマンドを送信することで、全てのコマンドが実行できます。
- http://higashi-kyoto.nagoya:XXXX(ServerfixesのWebサーバポート)/api/executeconsolecommand?adminuser=XXX&admintoken=XXX&command=(コマンド)
- セキュリティ対策
- 前記機能を利用しないのであれば、webpermission.xmlの<token>を無効に設定しましょう。(<token>を<!– と–>によりコメントアウトしましょう。)
- 前記機能を利用するのであれば、<token name=”…”>と<token token”…”>は複雑な内容にしましょう。