• No : 317
  • 公開日時 : 2024/08/29 12:27
  • 更新日時 : 2026/06/24 18:23
  • 印刷

ファイアウォールで内部から外部への通信を制御できますか?

回答

IDCFクラウドのファイアウォールでは、初期状態(デフォルト)において内部(仮想マシンのネットワーク)から外部(インターネット向け)への通信は、原則すべて許可されるルールがあらかじめ登録されています。
※OP25B対策のため、25番ポート(メール送信)を除く通信が許可されている状態となります。
 
内部から外部への通信を特定の宛先のみに制限(ホワイトリスト方式での運用など)する場合は、APIから設定を変更する必要があります。
 

■設定手順
1. Outboundの既存ルールを表示する

# idcfcloud compute listEgressFirewallRules

※環境によって、全許可ルールが「1行(protocol: all)」で表示される場合と、「4行(OP25B適用状態)」に分割されて表示される場合があります。

詳細は次のFAQをご確認ください。
▼OP25B が適用されているか確認する方法を教えてください。
https://faq.idcf.jp/faq/show/287?site_domain=default
 
2. 特定の送信先への許可ルールを先に追加する(送信先CIDRの指定)

※例として、特定のネットワーク帯(192.0.2.0/24)のHTTPS(TCP 443)のみを許可する場合

# idcfcloud compute createEgressFirewallRule '{"protocol":"tcp","networkid":"▲▲▲▲▲","destcidrlist":"192.0.2.0/24","startport":443,"endport":443}'

 
3. 初期状態から登録されている既存のルールを削除する

# idcfcloud compute deleteEgressFirewallRule '{"id":"●●●●●"}'

※手順1で確認した既存ルールのIDを指定し、不要なルールをすべて削除してください。
※注意:APIを実行している仮想マシンが存在するゾーンの既存ルールを削除すると、それ以降APIが実行できなくなる(自身のAPI通信も遮断される)可能性があります。既存ルールを削除する前に、必ず操作元環境の通信を維持するための許可ルールを先に追加してください。万が一、設定ミスなどにより操作元環境からのAPI通信が遮断されてしまった場合は、別ゾーンに存在する仮想マシンからAPIを実行してください。
 

■初期状態のルールを再作成・復元する場合
削除した初期ルールを元の全許可状態に戻す場合は、25番ポートを除く通信を許可するため、以下の4つのコマンドをすべて実行してください。

# idcfcloud compute createEgressFirewallRule '{"protocol":"icmp","networkid":"▲▲▲▲▲"}'
# idcfcloud compute createEgressFirewallRule '{"protocol":"udp","networkid":"▲▲▲▲▲","startport":1,"endport":65535}'
# idcfcloud compute createEgressFirewallRule '{"protocol":"tcp","networkid":"▲▲▲▲▲","startport":1,"endport":24}'
# idcfcloud compute createEgressFirewallRule '{"protocol":"tcp","networkid":"▲▲▲▲▲","startport":26","endport":65535}'

 
なお、内部から外部への通信をすべて遮断する場合は、追加ネットワークを設定し、対象の仮想マシンを追加ネットワークにのみ接続させることで、外部へ接続できない仮想マシンを作成することが可能です。
 
そのほか詳細は、次のAPIドキュメントサイト等をご参照ください。
▼IDCFクラウド APIドキュメント
https://tools.idcf.jp/api-docs/apis/?id=docs_compute_reference_Firewall_createEgressFirewallRule

▼Egress firewall rule の機能で通信制限できるパラメーターは何ですか?
https://faq.idcf.jp/faq/show/316?site_domain=default