mnb-protector

Publicado por Matheus 27/10/2006

[ Hits: 5.161 ]

Homepage: http://www.facebook.com/zipmatheus

Download mnb-protector.sh




Mnb-protector 1.4. Esse script é uma atualização do "computer_protect" com algumas correções e melhorias. Ficou muito bom!

Resumo:
Script iptables que aumenta consideravelmente a proteção do sistema para usuários desktops, sem atrapalhar o funcionamento de nenhum programa. Uma boa sugestão seria colocar este script na inicialização para que seja carregado automaticamente durante o boot.

by MNB

  



Esconder código-fonte

#!/bin/bash
#################################################################
# mnb-protector 1.4
# Script iptables que aumenta consideravelmente a proteção do sistema para
# usuários desktops, sem atrapalhar o funcionamento de nenhum programa.
# Uma boa sugestão seria colocar este script na inicialização
# para que seja carregado automaticamente durante o boot.
# Script distribuido sobre a licença GPLv2.
# Em caso de sugestões, melhoramento ou correções de
# possíveis erros contactar no email abaixo.
#
#  MnB-Linuxer 2004-2006 - mnblinuxer@gmail.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
#
# Agradecimentos: William da Rocha Lima - wrochal@linuxit.com.br
#                            www.vivaolinux.com.br
#                            www.linuxgazette.com
#                            www.spirit.com
#                            Alessandro Périgo - alessandroperigo@hotmail.com
#                            www.google.com.br/linux
#                            Quicktime - irc.brasnet.org #netbsd
#################################################################
if [ "$UID" != "0" ]
      then
         echo 'Permission denied (you must be root)'
      exit 1
fi
echo "Starting firewall: `date +%d/%m/%Y`"
# variaveis
ENT="ppp0" # Edite esta variável de acordo com sua interface de conecção.
Pt='printf =='
modprobe ip_tables
modprobe iptable_nat
iptables -F
iptables -t nat -F
$Pt
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
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 RETURN
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
$Pt
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
$Pt
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -i $ENT -j DROP
iptables -A INPUT -s 172.16.0.0/16 -i $ENT -j DROP
iptables -A INPUT -s 192.168.0.0/24 -i $ENT -j DROP
iptables -A INPUT -s 224.0.0.0/8 -d 0/0 -j DROP
iptables -A INPUT -s 0/0 -d 224.0.0.0/8 -j DROP
$Pt
iptables -A INPUT -m unclean -j DROP 2>>/dev/null
iptables -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
$Pt
iptables -N REJECT-SSSSH
iptables -A REJECT-SSSSH -j DROP -m recent --rcheck --name SSSSH --seconds 60 --hitcount 10
iptables -A REJECT-SSSSH -j LOG --log-prefix SSH-Bruteforce:
iptables -A REJECT-SSSSH -j REJECT -p tcp --reject-with tcp-reset
iptables -A REJECT-SSSSH -j REJECT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --name SSSSH --seconds 60 --hitcount 4 -j REJECT-SSSSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSSSH
$Pt
iptables -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT
iptables -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable
$Pt
iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT
iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP
echo =
echo 'OK!'
# have fun.

Scripts recomendados

Gerar senhas aleatórias de qualquer tamanho

Acompanhamento de log squid com hora real

Identifica contatos do google que necessitam de ajustes para o nono digito telefonico

Servidor HTTP em Bash

Criando arquivos de in e out no CBQ


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts