Marcelo Leite em Nome do Fórum muito Obrigado.
Abaixo o Tutorial e o link para baixa-lo em .pdf. Entrará tambem como um apendice do Tutorial do BFW 3.0.
*******************************************************************************************************
Tutorial para Bloquear serviços por Layer 7 - por Marcelo Leite
Olá pessoal estou postando isso no intuito de ajudar algumas pessoas que como eu, não saibam muito sobre BFW...
Resolvi fazer o script dessa forma, para facilitar o trabalho de bloquear serviços por categoria.
As categorias aplicadas aqui são as mesma que o time que desenvolve os PAT de Layer 7 utilizam. ( http://l7-filter.sourceforge.net/protocols )
Mãos a obra!!!
1º – Vá em cd /etc/brazilfw/custom e “edit rc.local” coloque o código abaixo. Salve.
- Código: Selecionar todos
########################################################################
##Script de Bloqueio por Layer 7
echo 'Executando Script de Bloqueio por Layer 7'
chmod +x /etc/brazilfw/custom/l7protocols/rc.l7protocols
cd /etc/brazilfw/custom/l7protocols
./rc.l7protocols
########################################################################
2º – Crie um diretório dentro de /etc/brazilfw/custom
- Código: Selecionar todos
mkdir l7protocols
3º – Agora vá dentro do diretório recém criado “cd /etc/brazilfw/custom/l7protocols” e crie os seguintes arquivos abaixo:
- Código: Selecionar todos
edit [nome_do_arquivo]
Obs: Crie os arquivos pelo terminal, mas cole os códigos abaixo acessando o Gerenciador de Arquivos do BFW pelo navegador, assim se torna menos árdua essa tarefa.
Para pode salvar um arquivo novo criado, é preciso ter algo dentro dele. Então digite algo, nem que seja só um “ . “
Exemplo:
- Código: Selecionar todos
edit rc.l7protocols
(o arquivo abril para edição) acrescente “ . “
ctrl+s (para salvar)
ctrl+q (para sair)
"edit rc.l7protocols"
- Código: Selecionar todos
##Script de Bloqueio por Layer 7
echo 'Iniciando Bloqueios'
sleep 1
######################################################################
#Audio
chmod +x /etc/brazilfw/custom/l7protocols/audio
./audio
echo 'Audio Carregado'
#Chat
chmod +x /etc/brazilfw/custom/l7protocols/chat
./chat
echo 'Chat Carregado'
#Document_Retrieval
chmod +x /etc/brazilfw/custom/l7protocols/document_retrieval
./document_retrieval
echo 'Document_Retrieval Carregado'
#Extra
chmod +x /etc/brazilfw/custom/l7protocols/extra
./extra
echo 'Extra Carregado'
#File
chmod +x /etc/brazilfw/custom/l7protocols/file
./file
echo 'File Carregado'
#Game
chmod +x /etc/brazilfw/custom/l7protocols/game
./game
echo 'Game Carregado'
#Mail
chmod +x /etc/brazilfw/custom/l7protocols/mail
./mail
echo 'Mail Carregado'
#Malware
chmod +x /etc/brazilfw/custom/l7protocols/malware
./malware
echo 'Malware Carregado'
#Monitor
chmod +x /etc/brazilfw/custom/l7protocols/monitor
./monitor
echo 'Monitor Carregado'
#Networking
chmod +x /etc/brazilfw/custom/l7protocols/networking
./networking
echo 'Networking Carregado'
#P2P
chmod +x /etc/brazilfw/custom/l7protocols/p2p
./p2p
echo 'P2P Carregado'
#Print
chmod +x /etc/brazilfw/custom/l7protocols/print
./print
echo 'Print Carregado'
#Remote Access
chmod +x /etc/brazilfw/custom/l7protocols/remoteaccess
./remoteaccess
echo 'Remote Access Carregado'
#Secure
chmod +x /etc/brazilfw/custom/l7protocols/secure
./secure
echo 'Secure Carregado'
#Time Version Control
chmod +x /etc/brazilfw/custom/l7protocols/time_versioncontrol
./time_versioncontrol
echo 'Time Version Control Carregado'
#Video
chmod +x /etc/brazilfw/custom/l7protocols/video
./video
echo 'Video Carregado'
#Voip
chmod +x /etc/brazilfw/custom/l7protocols/voip
./voip
echo 'Voip Carregado'
#####################################################################
echo 'Carregamento de Bloqueio por Layer 7 completo'
echo 'Disponibilizando o Sistema'
sleep 2
“edit audio”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto live365 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto http-itunes -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto httpaudio -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto quicktime -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto shoutcast -j DROP
“edit chat”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto aim -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto aimwebcontent -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto chikka -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto cimd -j DROP
###iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gtalk -j DROP ## INDISPONIVEL ## usa o jabber
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto irc -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto jabber -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto msn-filetransfer -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto msnmessenger -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto qq -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto yahoo -j DROP
“edit document_retrieval"
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gopher -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto http-dap -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto http-freshdownload -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto http -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto httpcachehit -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto httpcachemiss -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto pressplay -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto tftp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto uucp -j DROP
“edit file”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto exe -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto flash -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ftp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gif -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto html -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto jpeg -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto mp3 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ogg -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto pdf -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto perl -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto png -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto postscript -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rar -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rpm -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rtf -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto tar -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto zip -j DROP
“edit game”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto armagetron -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto battlefield1942 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto battlefield2 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto battlefield2142 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto counterstrike-source -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto dayofdefeat-source -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto doom3 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto guildwars -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto halflife2-deathmatch -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto liveforspeed -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto mohaa -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto quake-halflife -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto quake1 -j DROP
##iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto runesofmagic -j DROP ## INDISPONIVEL
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto subspace -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto teamfortress2 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto xboxlive -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto worldofwarcraft -j DROP
“edit mail”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto biff -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto imap -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto pop3 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto smtp -j DROP
“edit malware”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto code_red -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto nimda -j DROP
“edit monitor”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gkrellm -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto hddtemp -j DROP
“edit networking”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto bgp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto dhcp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto dns -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ident -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto nbns -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ncp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto netbios -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto smb -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto snmp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto socks -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ssdp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto stun -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto tor -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto whois -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto zmaap -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto snmp-mon -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto snmp-trap -j DROP
“edit p2p”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto 100bao -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto applejuice -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ares -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto audiogalaxy -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto bittorrent -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto directconnect -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto edonkey -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto fasttrack -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto freenet -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gnucleuslan -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto gnutella -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto goboogy -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto hotline -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto imesh -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto kugoo -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto mute -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto napster -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto openft -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto poco -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto pplive -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto soribada -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto soulseek -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto tesla -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto thecircle -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto xunlei -j DROP
“edit print”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ipp -j DROP
“edit remoteaccess”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ciscovpn -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto citrix -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto pcanywhere -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto radmin -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rdp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rlogin -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ssh -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto telnet -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto vnc -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto x11 -j DROP
“edit secure”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ssh -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ssl -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto validcertssl -j DROP
“edit time_versioncontrol”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto cvs -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto nntp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto subversion -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto tsp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto unknown -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto unset -j DROP
“edit video”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto http-rtsp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rtp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto rtsp -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto httpvideo -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto replaytv-ivs -j DROP
“edit voip”
- Código: Selecionar todos
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto h323 -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto sip -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto skypeout -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto skypetoskype -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto teamspeak -j DROP
iptables -t mangle -A l7-filter -p tcp -m layer7 --l7proto ventrilo -j DROP
Ufa... Pronto!
Agora basta você escolher as categorias que quer liberar ou bloquear dentro do arquivo “ rc.l7protocols “
Para liberar basta comentar a categoria com “ # “
Exemplo:
##Audio
#chmod +x /etc/brazilfw/custom/l7protocols/audio
#./audio
#echo 'Audio Carregado'
#Chat
chmod +x /etc/brazilfw/custom/l7protocols/chat
./chat
echo 'Chat Carregado'
No exemplo acima, a categoria AUDIO está liberada e a CHAT está bloqueada.
Para libera somete algum serviço especifico que está dentro de uma categoria, basta ir até a categoria e comentar a linha que contem o code do serviço.
Espero te ajudado.
Obrigado a todos do Fórum do BFW.
*************************************************************************************
Link para baixar o tutorial em .pdf: http://public.bay.livefilestore.com/y1p ... f?download