mnb-protector

Publicado por Matheus 27/10/2006

[ Hits: 5.286 ]

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

Rsync-centos

Limpar o cache da memória RAM apenas quando necessário

Migração de Aplicações para Ambiente Web - Uma Abordagem Prática

Ajuste de brilho do monitor

Instalando a última versão estável do Eclipse com uma única linha


  

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