Logo Hardware.com.br
trauma
trauma Membro Junior Registrado
113 Mensagens 0 Curtidas

iptables - liberar somente os ip´s que quero

#1 Por trauma 06/11/2006 - 11:02
olá, estou com mais um problema que eu julgava resolvido, eu quero liberar somente alguns ip´s, mas nao quero usar DHCP, entao eu uso a regra assim:
pra liberar a rede toda seria assim:

iptables -A INPUT -s 192.168.0.1/32 -j ACCEPT

achei que pra liberar só os que eu quero seria assim:
iptables -A INPUT -s 192.168.0.1/32 -m mac --mac-source 11:11:11:11:11:11: -j ACCEPT
mas nao funciona, qualquer maquina acessa a internet, independente de mac ou ip.

se alguem puder me ajudar ..... eu agradeço muito.

valeu.
obrigado big_green.png

pra amarrar o ip ao mac.
netw0rk g33k
netw0rk g33k Super Participante Registrado
732 Mensagens 13 Curtidas
#2 Por netw0rk g33k
06/11/2006 - 11:40
Mas assim, você está liberando ACCEPT de INPUT no firewall. Os acessos da rede interna a internet são FORWARD. Além disso, como estão as Policies padrão? INPUT, FORWARD, OUTPUT? Essas regras que você listou também parecem estar incorretas, mas nem vamos entrar nesse detalhe ainda. Liste todas as suas regras de firewall aqui para que o pessoal possa analisar e te auxiliar. Um abraço.

Ps: Para listar as regras:

# iptables -L -n -v


Boa sorte!
Linux User #415511
Mikrotik MTCNA #MKBR0039
Mikrotik MTCRE #1010RE004

Mikrotik MTCINE #1010INE006
The Pretender
The Pretende... Zumbi Registrado
8.5K Mensagens 82 Curtidas
#3 Por The Pretende...
06/11/2006 - 14:44
Vc usa proxy ai?
Caso utilize, uze o INPUT mesmo, pois o pc se conecta ao servidor. Agora caso ele passe direto pelo servidor, realmente utilize o forward...

Aquid utilizo regras de INPUT para bloquear o acesso que não é pelo proxy (MSN, KAZAA e etc) e funciona muito bem...

Ateh hj nao entendi bem esta questao de INPUT, FORWARD e OUTPUT, pois tudo o que, teoricamente eu deveria ter feito com FORWARD, fiz com INPUT e funcionou (antes nao funcionava), como por exemplo, fechar as portas do MSN para que ninguem o utiliza-se dentro da rede...



Falow!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-->Blog Pessoal - Um pianista "desajeitado" <--
-->Eletrônica no YouTube - Bobsien P&D <--


- Sound Blaster Live 5.1! Digital e 3DFX Voodoo 4 4500PCI - Minhas relíquias!
trauma
trauma Membro Junior Registrado
113 Mensagens 0 Curtidas
#4 Por trauma
06/11/2006 - 15:09
seguinte, eu uso proxy transparente The Pretender.

Treize, ta ai o script
#!/bin/bash
#==================================================
# Servidor Debian 3.1 Sarge
#==================================================

echo "Carregando Firewall"
sleep 1

# Carrega os módulos
modprobe ip_tables
modprobe iptable_nat

# nao acessar a Rede Interna pela Externa ( Nao Funciona )
iptables -A FORWARD -i eth2 -o eth1 -j DROP

# Protege contra ataques DoS
iptables -A FORWARD -m unclean -j DROP

# Liberar Conectividade Social para todos
iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT

# Abre algumas portas (SSH e FTP)
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT

# Abre Portas do Outlook
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 25,110 -j ACCEPT
iptables -t nat -A PREROUTING -i eth2 -p tcp -m multiport --dport 25,110 -j ACCEPT

# iptables -A INPUT -p tcp --syn -s 192.168.1.110/32 --destination-port 22 -j ACCEPT

# Nao responder a pings, adicione a linha:
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Bloquear IP Spofing
iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
iptables -A INPUT -s 172.16.0.0/8 -i eth0 -j DROP
iptables -A INPUT -s 192.168.5.0/8 -i eth0 -j DROP

# Logar Acesso a portas Proibidas
# iptables -A INPUT -i eth0 -j LOG -log-prefix ?Conexão proibida?

# --------------------------------------------------------
# LIBERACAO DAS REDES
# --------------------------------------------------------

# Abre uma faixa de endereços da Rede Interna
iptables -A INPUT -s 192.168.5.0/255.255.255.0 -j ACCEPT

# Abre faixa de endereços especificos para Rede Wireless
# SUPORTE
iptables -A INPUT -s 10.10.0.73/32 -m mac --mac-source 00:13:46:27:A0:F1 -j ACCEPT

# SUPORTE 2
iptables -A INPUT -s 10.10.0.74/32 -j ACCEPT


# --------------------------------------------------------

# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP

# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP

# Fecha as portas udp de 1 a 1024, abre para o localhost
iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP

# FECHA O RESTO
iptables -A INPUT -p tcp --syn -j DROP

echo "Firewall Carregado"
Linux User #441831
Ubuntu User #11755
Athlon 64 Bits 3000
1024 Mb DDR
Debian 4.0 / Squid / Iptables / Sarg / Nocat
kurumin 7.0
Windows XP Pro
netw0rk g33k
netw0rk g33k Super Participante Registrado
732 Mensagens 13 Curtidas
#5 Por netw0rk g33k
06/11/2006 - 16:36
Bom, esse seu script tá meio confuso, pois você bloqueia uma carrada de redes nele e em seguida já adiciona uma regra liberando elas, só que como o bloqueio precede as liberações, essas regras nem chegam a ser utilizadas. Além do mais, você não definiu nnehuma Policie padrão, o que quer dizer que por padrão o seu FORWARD e o seu INPUT estão ACCEPT. Para colocar como padrão DROP, você pode inserir no início do seu script de firewall as linhas abaixo:


# Limpa a tabela nat
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

# Define as politicas padrao da tabela nat como ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# Limpa a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

# Define as politicas padrao da tabela nat como ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

# Limpa a tabela filter
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z

# Define as politicas padrao da tabela filter
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT

# Define politicas padrao de OUTPUT, INPUT e FORWARD
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Libera acesso a programas da loopback
iptables -A INPUT -i lo -j ACCEPT


Para quem não entendeu bem a questão de FORWARD, INPUT e OUTPUT, isso refere-se ao caminho que um pacote percorre nas tabelas do netfilter, como na figura abaixo:

Imagem

Mais informações podem ser obtidas com as documentações abaixo:

Packet Filtering HOWTO
Networking Concepts HOWTO
Linux User #415511
Mikrotik MTCNA #MKBR0039
Mikrotik MTCRE #1010RE004

Mikrotik MTCINE #1010INE006
trauma
trauma Membro Junior Registrado
113 Mensagens 0 Curtidas
#7 Por trauma
07/11/2006 - 10:37
Treize, ve se agora ta melhorzinho ....

echo "Carregando Firewall"
sleep 1

# Carrega os módulos
modprobe ip_tables
modprobe iptable_nat
# Limpa a tabela nat
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

# Define as politicas padrao da tabela nat como ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# Limpa a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

# Define as politicas padrao da tabela nat como ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

# Limpa a tabela filter
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z

# Define as politicas padrao da tabela filter
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT

# Define politicas padrao de OUTPUT, INPUT e FORWARD
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Libera acesso a programas da loopback
iptables -A INPUT -i lo -j ACCEPT

# Ignora as Redes Interna e Externa
iptables -A FORWARD -i eth2 -o eth1 -j DROP

# Liberar Conectividade Social para todos
iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT

# Abre algumas portas (SSH e FTP)
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT

# Abre Portas do Outlook
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 25,110 -j ACCEPT
iptables -t nat -A PREROUTING -i eth2 -p tcp -m multiport --dport 25,110 -j ACCEPT

# --------------------------------------------------------
# LIBERACAO DAS REDES
# --------------------------------------------------------
# Abre uma faixa de endereços da Rede Interna
iptables -A INPUT -s 192.168.5.0/255.255.255.0 -j ACCEPT

# Abre faixa de endereços especificos para Rede Wireless
# SUPORTE
iptables -A INPUT -s 10.10.200.73/32 -m mac --mac-source 00:13:46:27:A0:F1 -j ACCEPT

# SUPORTE
iptables -A INPUT -s 10.10.200.74/32 -j ACCEPT

# SECRETARIA
iptables -A INPUT -s 10.10.200.25/32 -m mac --mac-source 00:13:46:27:A0:E9 -j ACCEPT

# ESCOLA
iptables -A INPUT -s 10.10.200.35/32 -m mac --mac-source 00:40:F4:C2:81:09 -j ACCEPT

# NOTEBOOK
iptables -A INPUT -s 10.10.200.77/32 -j ACCEPT

# NOTEBOOK
iptables -A INPUT -s 10.10.200.79/32 -j ACCEPT

# CASA
iptables -A INPUT -s 10.10.200.87/32 -j ACCEPT

# --------------------------------------------------------

# Protege contra ataques DoS
iptables -A FORWARD -m unclean -j DROP

# Nao responder a pings, adicione a linha:
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Bloquear IP Spofing
iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
iptables -A INPUT -s 172.16.0.0/8 -i eth0 -j DROP
iptables -A INPUT -s 192.168.5.0/8 -i eth0 -j DROP

# Logar Acesso a portas Proibidas
# iptables -A INPUT -i eth0 -j LOG -log-prefix ?Conexão proibida?

# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP

# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP

# FECHA O RESTO
iptables -A INPUT -p tcp --syn -j DROP

echo "Firewall Carregado"
Linux User #441831
Ubuntu User #11755
Athlon 64 Bits 3000
1024 Mb DDR
Debian 4.0 / Squid / Iptables / Sarg / Nocat
kurumin 7.0
Windows XP Pro
netw0rk g33k
netw0rk g33k Super Participante Registrado
732 Mensagens 13 Curtidas
#8 Por netw0rk g33k
07/11/2006 - 10:50
Sim, melhorou bastante, mas ainda pode ser melhor. Você poderia também utilizar o módulo conntrack no seu firewall, para utilizar ele em modo statefull inspection. Posso fazer o seguinte: Estou no trabalho agora, mas a noite posso dar uma melhorada no seu script, e aí já deixamos ele postado aqui para a galera do fórum que venha a precisar algum dia. Até lá de repente alguém mais já apresenta alguma outra idéia aqui, mas vou escrever o script de qualquer forma. Até porque ontém despachei minha namorada e não tenho mais o que fazer a noite agora... big_green.png big_green.png big_green.png
Linux User #415511
Mikrotik MTCNA #MKBR0039
Mikrotik MTCRE #1010RE004

Mikrotik MTCINE #1010INE006
The Pretender
The Pretende... Zumbi Registrado
8.5K Mensagens 82 Curtidas
#9 Por The Pretende...
07/11/2006 - 15:18
Bom, aki eu costumo começar fechando todas as portas em INPUT, minha politica padrao para forward eh drop, depois eu vou abrindo akilo preciso, conforme o que é utilizado na rede...

Acho q eh mais facil. E por fim vem as regras de proteções e etc.
Acho que se torna mais facil assim, quando precisar liberar alguma cosia, basta adicionar a linha que libere o que precisa, nao precisa se preocupar com "vou bloquear isto para quem agora?", se ja esta bloqueado para todos, entao basta liberar para poucos, certo????

hehehe

Mue firewall, por exemplo, ja começa com isto

iptables -A INPUT -p tcp --syn -j DROP
iptables -I INPUT -p tcp --syn -j DROP

E depois eu libero as portas 80, 21, 22, 3128 e 10000 para a rede interna, e apenas a 22 para externa e esta resolvido.. hehehe

Dai basta ir incrementendo a config, aplicar as outras politicas padroes e etc, mas isto basicamente eh o começo do meu Firewall aki....

Nao sei se esta correto, mas aparentemente funciona. hehehehe

A noite se der tempo, eu posto meu firewall aki para ver se tem algo a melhorar e trocar umas ideias. hehe





Falow!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-->Blog Pessoal - Um pianista "desajeitado" <--
-->Eletrônica no YouTube - Bobsien P&D <--


- Sound Blaster Live 5.1! Digital e 3DFX Voodoo 4 4500PCI - Minhas relíquias!
alexandresousa
alexandresou... Novo Membro Registrado
9 Mensagens 0 Curtidas
#13 Por alexandresou...
13/11/2006 - 14:50
Ola amigos a algum tempo venho trabalhando em um conjunto de scripts justamente para ajudar nesta questão começei usando este conjunto de scripts em meu provedor de acesso e fui modificando acresentando ele fico bem grandinho que acabo sendo batizado de Aurora Server resolvi então libera-lo so licença GPL e no momento esto precisando de ajuda para aperfeiçoa-lo mais ainda que tiver afim de da uma conferida o site e o seguinte http://www.uniaomaker.com.br o link para o manual de instalação e http://www.uniaomaker.com.br/portal/modules/xt_conteudo/index.php?id=2

Bem eespero ter ajudado

Se alguem quiser entrar em cotato comigo meu msn e [email][email protected][/email]

Atenciosamente

Alexandre Sousa
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal