tiago.j.f.s
(usa CentOS)
Enviado em 11/04/2011 - 20:35h
Boa noite a todos. sou novo aqui e pesso desculpas se mandei errado mas preciso de ajuda...
Bom pessoal vou esplicar o que tenho e o que fiz pra proteção...
Eu tenho um server de jogo online utilizando as portas:
9909 = para conexao
9998 = para comunicar o cliente com servidor
9997 = para manter o cliente conectado sertificando que esta online
3306 = para utilizar mysql ex: (NAVICAT)
22 = para o winscp
8090 = Site apache
atualmente eu uso o windows 7 com o vmware emulando CentOS 5.6 em modo nat para rodar o server.
minha rede esta ligada da seguinte maneira:
modem em modo bridged + router + pc com vmware
Atualmente sofri muitos ataques ao server, no server se encontra a DB do game e o site com apache.
agora vou lista as configurações que fiz no iptables para proteção:
# Protege contra synflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Protecao contra ICMP Broadcasting
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#Proteção Contra IP Spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
#Você tem que habilitar o repasse dos pacotes entre as interfaces.
echo 1 > /proc/sys/net/ipv4/ip_forward
# Protecao diversas contra portscanners, ping of death, ataques DoS, pacotes danificados e etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP
#LIMITAR CONEXOES, NUMERO DE CONEXOES AO SITE
iptables -I INPUT -p tcp --dport 8090 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 8090 -i eth0 -m state --state NEW -m recent --update --seconds 1 --hitcount 7 -j DROP
#Proteção Contra IP Spoofing
# iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
# iptables -A INPUT -s 172.16.0.0/16 -i eth0 -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j DROP
# iptables -A FORWARD -i eth0 -s ! 192.168.0.0/16 -j DROP
# Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Libera portas
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p udp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 9909 -j ACCEPT
iptables -A INPUT -p udp --dport 9909 -j ACCEPT
iptables -A INPUT -p tcp --dport 9998 -j ACCEPT
iptables -A INPUT -p udp --dport 9998 -j ACCEPT
iptables -A INPUT -p tcp --dport 9997 -j ACCEPT
iptables -A INPUT -p udp --dport 9997 -j ACCEPT
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
iptables -A INPUT -p udp --dport 8090 -j ACCEPT
Essas sao as regras que utilizei e amenizou muito os ataques mas ainda sou derrubado...
meu server as vezes é desligado e as vezes ele simplesmente trava a conexao sendo que os players que estiverem on desconectar não é possivel conectar mais.
outra ocasião é que eu liberei as portas acima citadas
mas nao consigo utilizar a 3306 nem a 22 os programas que utilizo nao conectam nem local nem remoto.
somente se desativar o iptables eles conectam normalmente, as demais portas funcionam corretamente.
Ao limitar o acesso ao site a 7 conexoes com mesmo ip amenizou os lags mas existe um ip que mesmo bloqueando com esta regra (iptables -A INPUT -s $IPDOCARA -j DROP) ele aparece sempre listado na conexao e desconfio que ele estaja forjando o ip ou algo parecido.
Gostaria de ajuda para saber se estou correto ao utilizar estas regras e o que posso fazer a respeito dos ataques.
Tambem gostaria de saber o que posso fazer para liberar as portas 3306 e 22 pois estou atualmente sem fazer bkp do server, pois ao desativar o firewall para bkp fui atacado fortemente e danificado uma das tabelas.
Desde já agradeço a ajuda e peço desculpas se postei algo errado pois sou novo aqui.
Qualquer informação estou disposto a informar.
Obrigado!