仮想マシンでWebアプリケーションをテストするためにファイアウォールを設定する方法は? [閉鎖]

仮想マシンでWebアプリケーションをテストするためにファイアウォールを設定する方法は? [閉鎖]

さまざまなファイアウォール環境でローカルでWebアプリケーションの動作をテストしたいと思います。

特定の条件に基づいてブラウザから別のポートに要求を送信するアプリケーションがあります。ポートが無効になったときにアプリケーションがどのように機能するかを確認するためにファイアウォールルールを動的に変更できるファイアウォールを設定したいと思います。

私のコンピュータからゲストコンピュータのポートに送信する要求をブロックするようにファイアウォールを設定してこれを達成したいと思います。

私はOS X Sierraを実行しているVirtualboxを使用していますpfctl

ホストはこのコマンドで起動し、ゲストのポートをブロックしようとしましたが、192.168.99.100成功しませんでした。

block in quick inet proto { tcp, udp } from any to 192.168.99.100 port 63342

答え1

あなたが進む方法は私に少し直観に反するようです。通常、Webアプリケーションがある物理サーバーにファイアウォールを設定します。

Firewalldを使用している場合、これは非常に簡単です。次のコマンドを使用すると、処理できるすべてのサービスの名前を名前で表示できます。

$ firewall-cmd --get-services
ネットワーク名
$ firewall-cmd --get-services | grep -oE '\shttp[s]*'
 http
 https

VMでこれら2つのプロトコルを許可するには、次の手順に従ってください。

$ firewall-cmd --permanent --add-service http --add-service https
success

$ firewall-cmd --reload
success

ファイアウォールは次のように構成されています。

$ firewall-cmd --list-all
public (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources:
  services: ssh dhcpv6-client http https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

上記は4つのサービスを許可し、他のすべてのサービスはデフォルトの宛先に従って削除(DROP)することを指定します。

引用する

関連情報