構築したWindowsサーバの利用するポート
まず、構築したWindowsサーバを使って何をするかと言えば、SqlServerをインストールしてデータベースサーバにして使用しようと考えています。Windowsサーバで使用するポートを調べてみました。
ポイント
リモートデスクトップ接続(ポート3389)※利用時しかオープンしない設定
SqlServer(TCP1433、UDP1434)
実質常にオープンにしておくポートは2個だけで良いという事になります。
Windowsサーバの空いているポートを調べる
ポートの確認には、コマンドプロンプトから、
netstat -an
とやればいいらしい。
上の様な状態において、
参考
「LISTENING」というのが、ポートを開いて待ち受けしている状態
「ESTABLISHED」というのが、接続中の状態
を意味しているようです。
そうすると結構開いているポートが沢山ありますね。
でも、何が使用しているのか見当もつきません。
そこで、
netstat -oan
そうすると、PID(プロセス番号)がでるので、そこからタスクマネジャーにて何がポートを使っているのかが判明します。
しかし、メンドクサイですね。
VPN経由で端末からポートスキャン
他に空いているポートを調べる方法を探したところ、NMAPというツールがあることをしりダウンロードして、NMAPのGUI版であるZenmapでポートスキャンをしてみました。
結果は何度やっても取消線がでてポートスキャンができません。
何かソフトの不具合なのかと別の場所を検索かけるとちゃんとポートスキャンの結果が出てきましたので、さくらのクラウド上でのポートスキャンは禁止されているのかもしれませんね。
もしくは、Windowsサーバ自体で拒否っているのでしょうか!?
ネットワーク内のパケットフィルタ
さくらのクラウドの機能は今一つ理解できないので、ちゃんとしたセキュリティ設定が自信をもってできないのですが、実際にテストして分かったことは、ネットワークのパケットフィルタを設定すると、サーバのNICに対して、パケットをフィルタリングする機能があるようです。
この辺が、
疑問
サーバ側のファイアウォールと何が違うのでしょうかね?
実際に、SQLServerのポートを閉じてみて接続してみると接続できなくなりました。
同じローカルなネットワークにぶら下がった端末からの攻撃が想定される場合にはパケットフィルターをかけるか、Windowsサーバのファイアウォール設定を強化するという方法でしょうかね???
VPCルータのファイアウォール
VPN接続でしか使用しないVPCルータなので、
ココがポイント
外部からの受信をすべて拒否
にしておきました。
更に、内部のサーバを含めた機器からも外部にリクエストをできないように、送信方向にも拒否をしておきました。
Windowsサーバからもグローバルな接続はできなくなり、ローカルな閉ざされた世界となるようです。
Windowsサーバのファイアウォール再確認
Windowsサーバの空いているポートから、動いているプロセスを確認して、すべてを調べるのは時間が掛かります。
しかし、内部からの接続により攻撃される可能性も無くはありませんので、
ココがポイント
時間をとってできるだけ使わないポートは締めていこう
また、
ココがポイント
SQLServerにおいては、接続できるIP制限などの機能
勉強不足で分からない事ばかりですが、着実に学習していくしかありません。
https://pctips.jp/operatingsystem/examine-the-port/