Buckminster
(usa Debian)
Enviado em 25/08/2013 - 00:34h
IgorBruttal escreveu:
Buck, está me ajudando bastante mesmo cara!
Só alterei algumas coisinhas, e liberei as porta de meu jogo e 80 do site, verifica pra mim se não ficou nemhuma falha!!!
http://pastebin.com/fN1k8ufq
@edit
Isso não danifica em nada?
#Libera conexoes de fora para dentro
iptables -A INPUT -p tcp -i eth0 --dport 2743 -j ACCEPT #SSH
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT #WEB
#Libera conexoes de dentro para fora
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #WEB
iptables -A OUTPUT -p tcp --dport 7171 -j ACCEPT #TIBIA
iptables -A OUTPUT -p tcp --dport 7172 -j ACCEPT #TIBIA2
AGRADEÇO!
A chain INPUT é para pacotes com destino à própria máquina, ou seja, ao próprio servidor, é para os pacotes que tem o IP da placa de rede do servidor no cabeçalho deles.
A chain OUTPUT é para pacotes que a própria máquina está enviando.
A chain FORWARD é para pacotes que passam pela máquina onde o Iptables está instalado e configurado, no caso, o teu servidor.
Para bloquear tráfego que vem de fora, basicamente você usa as chains INPUT e FORWARD, pois a chain OUTPUT á para pacotes que o próprio servidor envia, ou seja, grosso modo, quando você abre o navegador no servidor, quando você faz um download do servidor, etc.
Raciocine como se o Iptables fosse o porteiro/segurança na porta de um edifício, sendo que esse edifício tem seus apartamentos com suas portas. Tudo que está liberado na lista (script) ele deixa passar. Tudo que está bloqueado ele não deixa passar.
Mas ele tem as políticas padrões e elas são permitir tudo, por isso você deve colocar as políticas padrões das chains INPUT e FORWARD como DROP e da chain OUTPUT como ACCEPT. Daí você vai liberando no script na INPUT e na FORWARD somente o que você quer e bloqueia na OUTPUT somente o que você quer.
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
E essas regras devem vir no início, logo depois das regras de limpeza.
A ordem de colocação das regras é importante, pois o Iptables lê as regras de cima para baixo e vai executando, se houver conflito entre duas regras, vale a primeira.
Você pode numerar as regras com a opção -I (iptables -I INPUT 1 -p tcp -i eth0 --dport 2743 -j ACCEPT #SSH; essa regra será adicionada no topo da chain INPUT.
Veja bem, cada chain tem sua ordem de colocação das regras pelo Iptables. A numeração só vale para a própria chain e não interfere nas outras chains.
A opção -A adiciona a regra na sequência em que for colocada no script.
iptables -A INPUT -p tcp -i eth0 --dport 2743 -j ACCEPT #SSH << essa linha está dizendo: iptables adicione (-A) uma regra na chain INPUT (tudo que chega somente para o servidor) no protocolo tcp (-p tcp) entrando (-i, in) pela placa de rede eth0 com destino à porta 2743 é para aceitar (-j jump, alvo ACCEPT).
Agora ficou fácil. As outras linhas deduza você mesmo.
Em relação às portas, a analogia com uma boate (um puteiro) é válida. Se tem fila e gente entrando pela porta, para entrar quem não está na fila somente furando ela e derrubando o porteiro (força bruta).
Num computador o problema não é a porta aberta, mas a porta aberta sem ter nenhum serviço funcionando nela. Enquanto a porta está aberta e tem um serviço passando por ela, é praticamente impossível invadir.
Para ver as portas na tua máquina utilize o nmap do Linux. Leia a man page dele.
Um comando simples para ver as portas que um site utiliza:
# nmap -v -A
www.vivaolinux.com.br
Se quiser parar esse comando, use ctrl + c.