Estou tentando impedir que ips específicos se conectem ao meu serviço. Algumas pessoas estão atacando meus serviços e eu esperava proibir automaticamente o seu IP quando eu detectar o ataque. Aqui está como eu estou implementando:
command is netsh advfirewall firewall delete rule name="packet flooder 172.20.10.9" remoteip=172.20.10.9
Deleted 2 rule(s).
Ok.
command is netsh advfirewall firewall add rule name="packet flooder 172.20.10.9" dir=in action=block remoteip=172.20.10.9
Ok.
command is netsh advfirewall firewall add rule name="packet flooder 172.20.10.9" dir=out action=block remoteip=172.20.10.9
Ok.
Estou testando isso com um invasor no meu PC, atacando o serviço no meu PC. Infelizmente, o ataque ainda passa depois de ser detectado e as regras são ativadas.
Eu estava esperando que, uma vez que o ataque fosse detectado e as regras fossem adicionadas ao firewall, o próximo ataque não funcionaria, mas esse não é o caso.
Meu serviço tem uma regra para permitir todas as conexões de entrada para ele.
O que estou fazendo de errado? Por que isso não funciona? É porque estou testando tanto localmente? (o serviço e o atacante) É porque eu já permiti todas as conexões de entrada que não estão honrando o IP específico do bloco? É porque estou excluindo a regra antes de criá-la? (Estou tentando me certificar de que não seja duplicado)
Estou usando o servidor mais recente do Windows.
UPDATE
Tags networking windows firewall