Desculpe eu sou novo neste material de servidor, tão nu comigo e se eu estiver faltando alguma informação, deixe-me saber!
Estou tentando configurar meu servidor LTS Ubuntu 14.04.2 para ter um firewall sólido do iptables. Agora eu acho que é muito bom, no entanto, eu não posso fazer nenhum git puxa o servidor quando o iptables está ativo ... então a solução é desligar o firewall, fazer um pull, então reativar o firewall. É irritante e apresenta erro humano de não ativar o firewall novamente.
Eu fiz meus iptables com alguns recursos, e o git governa aqui:
link
Eu tentei colocar o login para ver quais pacotes estão sendo bloqueados pelo git pull, mas nada aparece em /var/log/kern.log (embora outras coisas façam logon lá não relacionadas, então sei que está funcionando).
Ao fazer um git pull eu entendo isso:
ssh: Could not resolve hostname equity1.projectlocker.com: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Aqui está minha configuração do iptables:
#!/bin/sh
echo "Flushing iptable rules"
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
echo "Setting default drop rules"
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo "Enabling loopback"
# Allow unlimited traffic on loopback
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
echo "Allowing new and established incoming connections to port 22,80,443,3000, and 9418"
# Multiport - Allow incoming + outgoing
# SSH (22),
# Web Traffic (80, 3000),
# Secure Web Traffic (443)
# Git (9418)
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443,3000,9418 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443,3000,9418 -m state --state ESTABLISHED -j ACCEPT
echo "Port forwarding from port 3000 to 80"
# Port Forward to 3000
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000
echo "Enabling ICMP (Pings, echos)"
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
echo "Preventing DDOS attacks"
# Prevent DOS Attacks
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
echo "Enabling logging"
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
iptables -A LOGGING -j DROP
# lastly:
# make sure nothing comes or goes out of this box
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
Atualizado:
echo "Flushing iptable rules"
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
echo "Setting default drop rules"
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Allow DNS Queries for Git
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
...