제한된 IP 주소 집합에 대한 인바운드 트래픽을 허용하는 iis 서버

제한된 IP 주소 집합에 대한 인바운드 트래픽을 허용하는 iis 서버

Windows 2008 서버의 IIS에서 실행되는 웹 사이트의 IP 주소 목록을 화이트리스트에 추가하려고 합니다. 이 IP 주소 목록은 동적이므로 웹 서비스를 사용하여 업데이트되는 텍스트 파일에 이를 저장하려고 합니다. 이를 어떻게 진행합니까? GUI를 열거나 서버를 다시 시작하는 등의 수동 개입을 피해야 합니다. 우리는 IP 테이블을 통해 또는 Apache 또는 Nginx에 대한 동적으로 생성된 규칙을 통해 Linux에서 이를 수행하는 방법을 알고 있습니다.

누군가 우리를 도와줄 수 있나요?

답변1

이를 수행하려면 PowerShell과 예약된 작업을 사용할 수 있습니다. 새로운 방화벽 규칙은 다음을 사용하여 생성할 수 있습니다.새로운 NetFirewallRulecmdlet. 귀하의 규칙은 아마도 다음과 같을 것입니다:

New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null

이것이 작동하려면 허용된 IP 주소를 배열($IP 변수 참조)에 넣어야 합니다. 물론 스크립트의 이 부분은 텍스트 파일의 레이아웃에 따라 달라집니다. 파일이 다음과 같은 경우:

8.8.8.8
8.8.4.4

그런 다음 잘라낸 다음 코드가 작동합니다.

$IPs = Get-Content -Path "Path\to\file.txt"
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null

규칙을 업데이트하려면 Remove-NetFirewallRule Cmdlet을 사용하여 표시 이름을 식별자로 사용하여 네트 IP 주소 집합으로 규칙을 삭제하고 다시 생성할 수 있습니다.

Remove-NetFirewallRule -DisplayName "name"

또는 다음을 사용할 수 있습니다.Set-NetFirewallRule동일한 매개변수 집합을 사용하여 기존 규칙을 수정하는 cmdlet입니다.

관련 정보