
Eu tenho esta lista de regras do iptable
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0 tcp dpt:3306
acctboth all -- 0.0.0.0/0 0.0.0.0/0
VZ_INPUT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 94.101.25.40 0.0.0.0/0 state NEW tcp dpt:3306
Chain FORWARD (policy DROP)
target prot opt source destination
VZ_FORWARD all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP)
target prot opt source destination
acctboth all -- 0.0.0.0/0 0.0.0.0/0
VZ_OUTPUT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 94.101.25.40 0.0.0.0/0 state NEW tcp dpt:3306
Quero que apenas localhost e meu ip acessem o tcp 3306. Posso excluir todas as outras regras conforme mostrado acima. Não sei se decidi ficar com algum deles ou não
Responder1
O alvo acctboth provavelmente é colocado lá automaticamente pelo bandmin. Se você excluí-lo, provavelmente ele voltará. Você pode desabilitar o bandmin com 'chkconfig bandmin off', mas ele realmente não faz nada além de contar pacotes.
VZ_INPUT parece um pacote de firewall com o qual não estou familiarizado.
Além disso, você parece ter três entradas que aceitamtodostráfego para a porta 3306, e que só permite novas conexões do que presumo ser o seu ip.
Sugiro que você remova as últimas 4 regras do INPUT e as substitua assim:
iptables -A INPUT -p tcp --dport 3306 -s 94.101.25.40 -j ACCEPT
iptables -A INPUT -p tcp -i l0 --dport 3306 -j ACCEPT
Ter uma política OUTPUT de DROP é um pouco complicado e pode atrapalhar um monte de coisas, então se eu fosse você mudaria para ACCEPT:
iptables -p OUTPUT ACCEPT
Se você insiste em manter o que tem do jeito que está, você está apenas deixandonovoConexões SQL eliminadas, então exclua a regra e adicione:
iptables -A OUTPUT -p tcp -s 94.101.25.40 --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -i l0 -sport 3306 -j ACCEPT
Isso pressupõe que 94.101.25.40 é um dos endereços IP da própria máquina, e não um IP remoto.
Como você está acessando seu servidor? A menos que uma de suas outras cadeias tenha, nem vejo uma regra para permitir o tráfego SSH aqui. Você realmente deveria postar sua saída completa do iptables -L. As chances são de que a única razão pela qual você ainda pode acessar sua caixa seja por causa das regras dessas outras cadeias.
Se você postar novamente, use iptables -L -v. Isso adiciona algumas informações extras úteis, como em qual interface a regra opera.