Como remover o acesso a uma porta usando o firewall no Centos7?

12

Se uma porta fosse aberta para uso público usando o firewall-cmd, eu queria limitar essa porta a um IP específico que encontrei a resposta neste SITE .

Usei o seguinte para abri-lo:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload

Agora, usando as informações das informações que encontrei, queria restringir o acesso a essa porta a um endereço IP específico. Preciso primeiro remover esta porta do acesso público?

Ou posso apenas adicionar a nova regra da seguinte maneira e isso resolverá o problema para mim?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'

Eu tentei o seguinte:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload

Mas quando executo o seguinte:

$ firewall-cmd --list-ports 

10050/tcp ainda é exibido.

Por favor, entenda que não estou muito familiarizado com as configurações do lado do Sever.

Soultion: Não esqueça o --runtime-to-Permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 
mcv
fonte
Ah eu esqueci o --permanent
mcv
1
Você deve postar isso como resposta (e aceitá-lo). É perfeitamente aceitável aceitar suas próprias respostas, assim a pergunta é marcada como resolvida.
Gerald Schneider
1
É melhor não usar --permanent, caso você cometa um erro com uma regra de firewall. Se você se usou --permanente se trancou, terá muita dificuldade em voltar, pois não tem como se recuperar. Em vez disso, não use --permanente, quando estiver satisfeito com as regras, use firewall-cmd --runtime-to-permanentpara confirmar as regras. Se você ficar bloqueado, o recarregamento do firewall ou a reinicialização voltará.
Michael Hampton
Então, isso pode firewall-cmd --runtime-to-permanentser aplicado após o firewall-cmd --reloadou substitui-o totalmente? Definitivamente vou tentar isso.
Mcv

Respostas:

27

Solução: Não esqueça o --runtime-to-Permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 
mcv
fonte
1
Eu ainda tinha que seguir systemctl restart firewalld.
21417 JaKu
Isto não funcionou para mim. systemctlé a versão 219e firewall-cmdé a versão 0.5.3no CentOS 7.5 64bit.
Pred
4
# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
# firewall-cmd --reload

Substitua 12345 pela porta que você deseja remover.

Zing Lee
fonte
1
Eu li em algum lugar que, no documento do Fedora, ele sugere colocar --permanentcomo a primeira opção. Mas sim, --permanenté a chave.
WesternGun
Normalmente, mantenho-a como a última opção para garantir que, se a regra estiver incorreta por qualquer motivo, eu possa simplesmente reiniciar sem tornar a regra permanente. Se ele fizer o que eu quero, eu posso mover a seta para cima e adicionar --permanentno final.
Justin E
0

Siga estas etapas, você ficará bem:

  1. $ firewall-cmd --zone = public --remove-port = 10050 / tcp
  2. $ firewall-cmd --runtime-to-Permanent
  3. $ firewall-cmd --reload
  4. $ systemctl restart firewalld
  5. $ firewall-cmd --zone = public --list-ports
Dan Howel
fonte
Eu não acho que você precise reiniciar o firewalld, firewalldfoi realmente projetado para evitar a reinicialização de todos os serviços toda vez que você altera uma configuração.
precisa saber é o seguinte