さくらのVPSにおけるポート開放の落とし穴


さくらインターネットのVPSサービス(さくらのVPS)においてポート開放がどう頑張ってもうまくいかずに詰んだのでそのときの話を共有します。(2019年8月7日)

前提条件

  • さくらのVPSを使用している
  • iptables or firewalld の設定では目的のポートは開いている(80/tpcなど)
  • 外部からアクセスした際にポートが開いていないことになる
  • SSHログインし、curl で叩いたときは問題ない(内部からはアクセスできる)

私の環境

  • firewall-cmd の実行結果
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client http https smtp smtps pop3 pop3s imap imaps
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
  • curl 実行結果
# curl localhost:80
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  test
</body>
</html>

原因

さくらのVPS サーバー管理パネル 「パケットフィルタ」

前提条件を長々書きましたが、とりあえずサーバー管理パネルからパケットフィルタを確認してください。

何故か有効になっていてしかもSSH以外許可しないというおかしな設定になっていませんか?
どうやら2019年6月27日にさくらインターネットが提供し始めた機能のようです。
さくらのVPS 「パケットフィルタ」提供開始のお知らせ
さくらインターネットからのメール(8月7日)で初めて知りました。
従来はサーバー内からしか行えなかった「外部からの着信パケットに対して通信制限を行う」ことがサーバー管理パネルから設定できるようになったのは素敵ですね。

パケットフィルタの設定方法

おそらく管理画面をご覧になれば大丈夫かと思いますが、下記ページに記載があります。
https://vps-news.sakura.ad.jp/vps-pf/

許可設定が完了したらブラウザからテストページを読むこむことが可能になりました。

## もの申したいこと
1. なぜデフォルトで有効になっているのか
2. なぜデフォルトでSSH以外無効なのか
3. 告知がひっそりとし過ぎていないか

以上です

初めてのQiita投稿です。