タグ: パケットフィルタ

  • さくらの VPS のパケットフィルタリングを使った SSH ポート開放

    以前は iptables にてフィルタリングしていたが、「さくらの VPS」コンソールにある「パケットフィルタリング機能」が拡張され、任意 IP アドレスのフィルタリング設定が可能となったため、SSH ポート開放の制御をそちらに寄せることにした。

    手順

    自分が接続しているマシンのネットワークIP(グローバルIP、ゲートウェイIP)を探す

    AAA.BBB.CCC.DDD

    さくらのVPSに接続

    パケットフィルタの設定を追加(変更)

    設定項目は以下。

    • フィルタの用途「カスタム」
    • プロトコル「TCP」
    • ポート番号「22」
    • 許可する送信元IPアドレス「AAA.BBB.CCC.DDD/32」
      (サブネット「/32」は、上記1つのIPアドレスのみ許可の意。「/32」とかアドレス範囲とか知りたい人は GGR)

    この状態で Teraterm, WinSCP などから接続確認

    問題なければ、これで終了。
    かなり簡単になった。

    メリット

    • GUI (Web) 上での設定なので、操作自体が簡単。

    デメリット

    • GUI (Web) 上での設定が必須なので、手動作業。一連作業の自動化ができない。
    • パケットフィルタリングの機能自体による制約が生じる。
    • ログを残すような設定など iptables で可能なことができない。
    • カスタムフィルタリングは最大で10個までしか設定できない。
    • 個々のフィルタリングに対してコメントが残せないため、可読性が下がる。
      (間違えて別のパケットフィルタリングを上書きしてしまう恐れなど、ケアレスを誘発する恐れあり。
      まぁ iptables の場合は煩雑で失敗した場合のインパクトは同じような気がする。
      どっちもどっち。)

    これらデメリットから、特にログが残せないなどの点については、企業によっては監査が通らない気がする。
    その場合はこの設定簡略化そのものが採用できない。

    注意

    「パケットフィルタを利用しない」とか「SSHを『すべて許可する』」には、くれぐれも選択しないこと。
    iptables で適切にフィルタリングをしているなら話は別だが、サーバが丸見えになってしまい、セキュリティ上のリスクが爆増する。

    特にビギナーや素人

    繋がらないからと言って、この辺りの操作をすると、「あっ」と言う間に何処かの大陸方面からサーバ乗っ取られて、踏み台にされて、さくらインターネットから「サーバー強制停止 ⇒ コンソール(コマンドライン)で対処するか、サーバ初期化するまでパケット全閉塞(実質利用できない)」を喰らうことになる。

    少なくとも、SSH からの root 認証不可は絶対だし、鍵認証必須(パスワード認証不可)は強推奨。

    【参考】

    Web については、.htaccess にてドメインフィルタリングしている。
    そのためパケットフィルタは、敢えて「すべて許可する」にしている。