가상 머신에서 웹 애플리케이션을 테스트하기 위해 방화벽을 설정하는 방법은 무엇입니까? [폐쇄]

가상 머신에서 웹 애플리케이션을 테스트하기 위해 방화벽을 설정하는 방법은 무엇입니까? [폐쇄]

다양한 방화벽 환경에서 로컬로 웹 애플리케이션의 동작을 테스트하고 싶습니다.

특정 조건에 따라 브라우저에서 다른 포트로 요청을 보내는 애플리케이션이 있는데, 포트가 비활성화될 때 애플리케이션이 어떻게 작동하는지 확인하기 위해 방화벽 규칙을 동적으로 수정할 수 있는 방화벽을 설정하고 싶습니다.

내 컴퓨터에서 게스트 컴퓨터의 포트로 보내는 요청을 차단하도록 방화벽을 설정하여 이를 달성하고 싶습니다.

저는 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

당신이 진행하는 방식은 나에게 약간 직관에 반하는 것 같습니다. 일반적으로 웹 애플리케이션이 있는 실제 서버에 방화벽을 설정합니다.

Firewalld를 사용하는 경우 이는 매우 간단합니다. 다음 명령을 사용하면 처리할 수 있는 모든 서비스의 이름을 이름별로 볼 수 있습니다.

$ firewall-cmd --get-services
네트워크 이름
$ firewall-cmd --get-services | grep -oE '\shttp[s]*'
 http
 https

VM에 이 두 프로토콜을 허용하려면 다음 안내를 따르세요.

$ 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)하도록 지정합니다.

인용하다

관련 정보