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}'
なお、内部から外部への通信をすべて遮断する場合は、追加ネットワークを設定し、対象の仮想マシンを追加ネットワークにのみ接続させることで、外部へ接続できない仮想マシンを作成することが可能です。
▼Egress firewall rule の機能で通信制限できるパラメーターは何ですか?
https://faq.idcf.jp/faq/show/316?site_domain=default