Winkey escreveu:Tutoriais em Português
http://www.brazilfw.com.br/forum/viewforum.php?f=39&start=0
ve se acha agora!
elvis_pewa escreveu:Encontrou lá o código pra gerar outro serviço no httpd tendo por exemplo o /partition/xxx/htdocs/ como documentroot desse serviço?
/etc/init.d/webadmin
/usr/local/sbin/lighttpd -f /etc/webadmin.conf >/dev/null 2>&1 &
elvis_pewa escreveu:Vamos lá!
O correto é
- Código: Selecionar todos
/etc/init.d/webadmin
Estarei analizando o script, e postarei as dúvidas embreve.
Abraços.
Editado:: -->
Realmente é o lighttpd, mas o script me deixou mais confuso ainda, será que alguém poderia me ajudar?
Não queria conexão por SSL, e que ele use a porta 80...
- Código: Selecionar todos
/usr/local/sbin/lighttpd -f /etc/webadmin.conf >/dev/null 2>&1 &
Juro que ja vi algo...
Grato.
get-pkg /users/luapufo/portal/portal
/etc/init.d/portal
[brazilfw]/# get-pkg /users/luapufo/portal/portal
Error: Package not found!!!
get-pkg /users/luapufo/addons/3.x/portal/portal
luapufo escreveu:ops, falha minha
- Código: Selecionar todos
get-pkg /users/luapufo/addons/3.x/portal/portal
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 80 -j DNAT --to-dest 192.168.0.1
elvis_pewa escreveu:1- O código acima esta correto para redirecionar todas as requizições da porta 80 para o servidor (página de bloqueio ou login?)
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 80 -j DNAT --to-dest 192.168.0.1
iptables -t nat -A PREROUTING -s 192.168.0.0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.50:3128
elvis_pewa escreveu:2- O 0/0 aplica a régra pra todos?
elvis_pewa escreveu:3- Posso pegar o (192.168.0.1) endereço do servidor de algun outro lugar? Gostaria que isso foce automático.
M客¡NhØ §åMµ®å¡ escreveu:PS: Tempo realmente eu não tenho. Boa vontade eu tenho (creio eu). Paciência eu tento ter.
M客¡NhØ §åMµ®å¡ escreveu:PS2: Elton Guedes, sou seu fã, meu brother... Não pelo fato de você "ser da antiga", mas sim pelo fato de querer ajudar (isso para mim vale e muito)...
M客¡NhØ §åMµ®å¡ escreveu:Tenha certeza de que se eu puder ajudar, irei (dentro de meus limites de conhecimento e tempo, claro).
iptables -A INPUT -p tcp --syn -j DROP
iptables -t nat -A PREROUTING -s 192.168.0.0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.50:3128
elvis_pewa escreveu:1- Bloqueio todos os clientes no startup do FireWall.
- Código: Selecionar todos
iptables -A INPUT -p tcp --syn -j DROP
elvis_pewa escreveu:2- Redireciono todas as requizições da página 80 e 443 pra 192.168.0.1:80 (Ip do servidor (LOCALHOST:80), esse é o valor que quero pegar! Já que na 3.0 não tem mais o ip do servidor no brazilfw.cfg, e o nome da interface logica pode ser qualquer um).
#!/bin/sh
# Aqui coloquei uma chamada ao arquivo de "configuração lógica" da conexão local
. /etc/brazilfw/logical/local
# Aqui coloquei uma chamada ao arquivo de "configuração física" da conexão local
. /etc/brazilfw/physical/local
# IMPORTANTE:
# Para saber as informações que você pode obter desses scripts, basta editá-los e verificar os nomes das variáveis.
# Dá para obter IP, máscara, interface que é utilizada...
# Esse mesmo artifício pode ser utilizado com os arquivos de conexão internet, para obter informações sobre a conexão internet.
# O comando abaixo mostra na tela a frase "A interface usada é " seguida da interface que é usada para a conexão local.
# A interface foi obtida do arquivo "/etc/brazilfw/physical/local" através da variável "INTERFACE_PHYSICAL"
echo "A interface usada é "$INTERFACE_PHYSICAL
# O comando abaixo mostra na tela a frase "O IP do BFW é " seguida do IP configurado para a conexão local.
# O IP foi obtido do arquivo "/etc/brazilfw/logical/local" através da variável "LINK_IP"
echo "O IP do BFW é " $LINK_IP
# O comando abaixo mostra na tela a frase "A máscara de rede do BFW é " seguida da máscara configurada para a conexão local.
# A máscara foi obtida do arquivo "/etc/brazilfw/logical/local" através da variável "LINK_NETMASK"
echo "A máscara de rede do BFW é " $LINK_NETMASK
elvis_pewa escreveu:3- Esse cliente executa um script php (nisso acho que eu posso mandar bem), que roda uma outra regra de iptables personalizada, via system() do php, liberando o acesso do cliente.
elvis_pewa escreveu:Vamos aos absurdos:
M客¡NhØ eu posso usar sua regra abaixo para fazer esse redirecionamento da porta 80 pro webserver do servidor?
- Código: Selecionar todos
iptables -t nat -A PREROUTING -s 192.168.0.0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.50:3128
elvis_pewa escreveu:Então, quero usar o 0/0 pq podemos ter redes e sub-redes sem problemas certo?
elvis_pewa escreveu:E se o usuário não tiver squid ativado?
elvis_pewa escreveu:O iptables, não requer que eu libere o que quero antes, e depois bloqueie todo o resto?
elvis_pewa escreveu:Como o fw do bfw3x ja ta rodando, isso não é um complicador?
elvis_pewa escreveu:Não me digam que vou ter que parar o firewall do bfw, e apartir daí rodar o meu???
elvis_pewa escreveu:E se for isso, com tudo bloqueado, como vou fazer a liberação se ela tem que ser feita no início???
M客¡NhØ §åMµ®å¡ escreveu:você pode inserir uma regra a qualquer hora e colocá-la "na frente" de todas as outras, sendo assim, os pacotes "passarão por ela" primeiro.
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.50:80
iptables -t nat -I PREROUTING -s 192.168.0.0 -p tcp --dport 80 -j ACCEPT
M客¡NhØ §åMµ®å¡ escreveu:Vamos por partes...
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 443 -j DNAT --to-destination 192.168.0.1:80
iptables -A INPUT -p tcp --syn -j DROP
iptables -t nat -I PREROUTING -s 192.168.0.0 -p tcp --dport 80 -j ACCEPT
]iptables -t nat -I PREROUTING -s 192.168.0.0 -p tcp --dport 443 -j ACCEPT
elvis_pewa escreveu:Mas antes, muito OBRIGADO cara!
elvis_pewa escreveu:Vc realmente, ta mostrando que sabe muito! (até pq quem sabe e não compartilha, é pq p/ mim não sabe)... Exagerei...
elvis_pewa escreveu:Uma vez com o redirecionamento, eu tenho mesmo q bloquear a Internet?
elvis_pewa escreveu:Quanto ao script bash eu entendi tudo! Mas (la vou eu novamente!) Terei que criar uma ferramenta de configuração do script, tendo em vista que os arquivos não tem nomes pre-determinados como falei antes. Mas ta valendo!
elvis_pewa escreveu:
- Código: Selecionar todos
iptables -A INPUT -p tcp --syn -j DROP
M客¡NhØ §åMµ®å¡ escreveu:Disponha, amizade.
É pra comunidade mesmo... É nosso!!!!
M客¡NhØ §åMµ®å¡ escreveu:Não sei muito não... Na verdade sei pouquinho até... O lance é que eu sou curioso pacas com algumas coisas, então, vou abrindo os scripts, vendo como funcionam, tentando catar a lógica deles pra talvez, no futuro, usar algo parecido...
Isso ajuda muito...
Elton Guedes ® escreveu:Isso é um barato... é exatamente assim que faço... peguei aquela fase dos arquivos em lote do DOS...
Elton Guedes ® escreveu:Elvis: estamos aguardando heim... boa sorte.
M客¡NhØ §åMµ®å¡ escreveu:Já fui muito pra Itaperuna, jantava os "x-tudo" e bebia cerveja no trailer do "Chumbinho" naquela praça na frente da rodoviária (normalmente ficava hospedado naquele hotel atrás da rodoviária)...
elvis_pewa escreveu:E as dificuldades, só me estimulam! (gente eu não falei nada ehn!)...
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80
fabiovnb escreveu:Amigos, vou pegar carona nesse post, ate porque com a participaçao de voces a gente se anima, meu lance e o seguinte, eu uso o bfw 3, quero por um proxy em paralelo, o ip do proxy em paralelo sera 192.168.250.1, ele responde as requisicoes de cache pela porta 8080, nele tem um link de internet exclusivo, entao pensei, o bfw atende as requicoes em todas as portas pelo link dele menos na porta 80, e essa por sua vez sera redirecionada para o outro sever que tmb tem seu link de internet, pensei em fazer assim:
- Código: Selecionar todos
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80
agora o problema e pra eles se comunicarem, pensei entao em fazer um locad banlance no bfw, direcionar atraves do route.cfg a porta 80 para a internet2 que seria esse novo servidor, o que voces acham ?
iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j DNAT --to-destination 10.128.254.254:8080
# Adiciona ao inicio da tabela do iptables a regra de liberação do cliente com base no mac
iptables -t filter -I INPUT -m mac --mac-source 00:1b:11:87:a0:47 -d 0/0 -j ACCEPT
# Faz um apende com a regra de bloqeio de todos os clientes 0/0
# para todos os outros IPs, exceto (!) o ip do servidor 10.0.0.1
iptables -t filter -A INPUT -s 0/0 ! -d 10.0.0.1 -j DROP
#!/bin/sh
# Luapufo
# Versao 2
# Data 07/08/2010 11:11
#### Pega Variaveis do Sistema ############
. /lib/system-functions
. /etc/brazilfw/brazilfw.cfg
. /partition/sapw/config/sapw.cfg
#### Cria as variaveis para o SAPW ####
IPTABLES="/usr/sbin/iptables"
#### Cria Banco de dados do SAPW ####
if [ ! -e "/partition/mysql/sapw" ]; then
mysql -u root < /partition/sapw/config/sapw.sql
fi
##### Cria o Webadmin do SAPW com Suporte a SSL #####
echo "ssl.engine = \"enable\"
ssl.pemfile = \"/etc/brazilfw/cert/brazilfw_ssl.pem\"
ssl.ca-file = \"/etc/brazilfw/cert/brazilfw_ssl.crt\"
server.port = $WEB_SAPW_HTTPS
server.modules = ( \"mod_cgi\", \"mod_auth\", \"mod_alias\", \"mod_compress\" )
cgi.assign = ( \".php\" => \"/bin/php-cgi\",
\".cgi\" => \"/bin/sh\" )
index-file.names = ( \"index.php\",\"index.cgi\",\"index.htm\", \"index.html\")
mimetype.assign = ( \".pdf\" => \"application/pdf\",
\".class\" => \"application/octet-stream\",
\".swf\" => \"application/x-shockwave-flash\",
\".tar.gz\" => \"application/x-tgz\",
\".tgz\" => \"application/x-tgz\",
\".tar\" => \"application/x-tar\",
\".zip\" => \"application/zip\",
\".ogg\" => \"application/ogg\",
\".gif\" => \"image/gif\",
\".jar\" => \"application/x-java-archive\",
\".jpg\" => \"image/jpeg\",
\".jpeg\" => \"image/jpeg\",
\".png\" => \"image/png\",
\".css\" => \"text/css\",
\".html\" => \"text/html\",
\".htm\" => \"text/html\",
\".js\" => \"text/javascript\",
\".asc\" => \"text/plain\",
\".c\" => \"text/plain\",
\".cpp\" => \"text/plain\",
\".log\" => \"text/plain\",
\".conf\" => \"text/plain\",
\".text\" => \"text/plain\",
\".txt\" => \"text/plain\",
\".dtd\" => \"text/xml\",
\".xml\" => \"text/xml\",
\"\" => \"octet/stream\" )
server.document-root = \"/partition/sapw/\"
server.error-handler-404 = \"/error-404.php\"
server.pid-file = \"/var/run/sapw_web.pid\"" > /etc/sapw_web.conf
/usr/local/sbin/lighttpd -f /etc/sapw_web.conf >/dev/null 2>&1 &
[ "$1" = 1 ] && echo "done"
start() {
#### Cria Banco de dados do SAPW ####
if [ ! -e "/partition/mysql/sapw" ]; then
mysql -u root < /partition/sapw/config/sapw.sql
fi
#### Ativa o script que esta em /usr/sbin/sapw-monitor que verifica se o cliente esta ON ou OFF ################
sapw-monitor &
#### Verifica se o SAPW ja esta ativo #####
if [ -e "/var/run/sapw.pid" ] ; then
echo " SAPW already active "
exit
fi
#### Verifica se esta habilitado o SAPW no arquivo de configuração ####
if [ "$SAPW" != "yes" ]; then
$IPTABLES -t nat -F websapw >/dev/null 2>&1
echo " SAPW, is not enabled in config's"
exit
fi
##### Cria as Chains para o SAPW ##############
$IPTABLES -t nat -F websapw >/dev/null 2>&1
if [ $? != 0 ] ; then
$IPTABLES -t nat -N websapw
$IPTABLES -t nat -I PREROUTING 2 -j websapw
fi
#### Verificando qual tipo de protocolo escolhido para o portal, podendo ser HTTP ou HTTPS ####
if [ "$ENABLE_HTTPS" != "yes" ]; then
#### Redireciona a porta 80 para a porta PORT_SAPW_HTTP do servidor #####
readconfig /partition/sapw/config/open.cfg | sed s/#.*//g | while read IP; do
$IPTABLES -t nat -A websapw -p tcp -s $IP -j RETURN
done
readconfig /partition/sapw/block/online | sed s/#.*//g | while read IP1 ETH; do
$IPTABLES -t nat -A websapw -p tcp -s $IP1 -j RETURN
done
$IPTABLES -t nat -A websapw -p tcp -m multiport --dports $WEBADMIN_PORT,$SSH_PORT,$WEB_SAPW_HTTPS -j RETURN
for LOCALDEVICES in $(getlocaldevices); do
$IPTABLES -t nat -A websapw -i $LOCALDEVICES -p tcp -j DNAT --to $SERVIDOR:$PORT_SAPW_HTTP
done
#### Cria o arquivo para a pasta /partition/sapw/block #####
echo "server.port = $PORT_SAPW_HTTP
server.modules = ( \"mod_cgi\", \"mod_auth\", \"mod_alias\", \"mod_compress\" )
cgi.assign = ( \".php\" => \"/bin/php-cgi\",
\".cgi\" => \"/bin/sh\" )
index-file.names = ( \"index.php\",\"index.cgi\",\"index.htm\", \"index.html\")
mimetype.assign = ( \".pdf\" => \"application/pdf\",
\".class\" => \"application/octet-stream\",
\".swf\" => \"application/x-shockwave-flash\",
\".tar.gz\" => \"application/x-tgz\",
\".tgz\" => \"application/x-tgz\",
\".tar\" => \"application/x-tar\",
\".zip\" => \"application/zip\",
\".ogg\" => \"application/ogg\",
\".gif\" => \"image/gif\",
\".jar\" => \"application/x-java-archive\",
\".jpg\" => \"image/jpeg\",
\".jpeg\" => \"image/jpeg\",
\".png\" => \"image/png\",
\".css\" => \"text/css\",
\".html\" => \"text/html\",
\".htm\" => \"text/html\",
\".js\" => \"text/javascript\",
\".asc\" => \"text/plain\",
\".c\" => \"text/plain\",
\".cpp\" => \"text/plain\",
\".log\" => \"text/plain\",
\".conf\" => \"text/plain\",
\".text\" => \"text/plain\",
\".txt\" => \"text/plain\",
\".dtd\" => \"text/xml\",
\".xml\" => \"text/xml\",
\"\" => \"octet/stream\" )
server.document-root = \"/partition/sapw/block/\"
server.error-handler-404 = \"/error-404.php\"
server.pid-file = \"/var/run/sapw.pid\"" > /etc/sapw.conf
/usr/local/sbin/lighttpd -f /etc/sapw.conf >/dev/null 2>&1 &
[ "$1" = 1 ] && echo "done"
else
#### Redireciona para a porta 80 do servidor #####
readconfig /partition/sapw/config/open.cfg | sed s/#.*//g | while read IP; do
$IPTABLES -t nat -A websapw -p tcp -s $IP -j RETURN
done
readconfig /partition/sapw/block/online | sed s/#.*//g | while read IP1 ETH; do
$IPTABLES -t nat -A websapw -p tcp -s $IP1 -j RETURN
done
$IPTABLES -t nat -A websapw -p tcp -m multiport --dports $WEBADMIN_PORT,$SSH_PORT,$WEB_SAPW_HTTPS,$PORT_SAPW_HTTPS -j RETURN
for LOCALDEVICES in $(getlocaldevices); do
$IPTABLES -t nat -A websapw -i $LOCALDEVICES -p tcp -j DNAT --to $SERVIDOR:$PORT_SAPW_HTTP
done
#### Cria o arquivo para a pasta /partition/sapw/block/http #####
echo "server.port = $PORT_SAPW_HTTP
server.modules = ( \"mod_cgi\", \"mod_auth\", \"mod_alias\", \"mod_compress\" )
cgi.assign = ( \".php\" => \"/bin/php-cgi\",
\".cgi\" => \"/bin/sh\" )
index-file.names = ( \"index.php\",\"index.cgi\",\"index.htm\", \"index.html\")
mimetype.assign = ( \".pdf\" => \"application/pdf\",
\".class\" => \"application/octet-stream\",
\".swf\" => \"application/x-shockwave-flash\",
\".tar.gz\" => \"application/x-tgz\",
\".tgz\" => \"application/x-tgz\",
\".tar\" => \"application/x-tar\",
\".zip\" => \"application/zip\",
\".ogg\" => \"application/ogg\",
\".gif\" => \"image/gif\",
\".jar\" => \"application/x-java-archive\",
\".jpg\" => \"image/jpeg\",
\".jpeg\" => \"image/jpeg\",
\".png\" => \"image/png\",
\".css\" => \"text/css\",
\".html\" => \"text/html\",
\".htm\" => \"text/html\",
\".js\" => \"text/javascript\",
\".asc\" => \"text/plain\",
\".c\" => \"text/plain\",
\".cpp\" => \"text/plain\",
\".log\" => \"text/plain\",
\".conf\" => \"text/plain\",
\".text\" => \"text/plain\",
\".txt\" => \"text/plain\",
\".dtd\" => \"text/xml\",
\".xml\" => \"text/xml\",
\"\" => \"octet/stream\" )
server.document-root = \"/partition/sapw/block/http/\"
server.error-handler-404 = \"/error-404.php\"
server.pid-file = \"/var/run/sapw1.pid\"" > /etc/sapw.conf
/usr/local/sbin/lighttpd -f /etc/sapw.conf >/dev/null 2>&1 &
[ "$1" = 1 ] && echo "done"
#### Cria o arquivo /etc/sapw_https.conf para a pasta /partition/sapw/block/https #####
echo "ssl.engine = \"enable\"
ssl.pemfile = \"/etc/brazilfw/cert/brazilfw_ssl.pem\"
ssl.ca-file = \"/etc/brazilfw/cert/brazilfw_ssl.crt\"
server.port = $PORT_SAPW_HTTPS
server.modules = ( \"mod_cgi\", \"mod_auth\", \"mod_alias\", \"mod_compress\" )
cgi.assign = ( \".php\" => \"/bin/php-cgi\",
\".cgi\" => \"/bin/sh\" )
index-file.names = ( \"index.php\",\"index.cgi\",\"index.htm\", \"index.html\")
mimetype.assign = ( \".pdf\" => \"application/pdf\",
\".class\" => \"application/octet-stream\",
\".swf\" => \"application/x-shockwave-flash\",
\".tar.gz\" => \"application/x-tgz\",
\".tgz\" => \"application/x-tgz\",
\".tar\" => \"application/x-tar\",
\".zip\" => \"application/zip\",
\".ogg\" => \"application/ogg\",
\".gif\" => \"image/gif\",
\".jar\" => \"application/x-java-archive\",
\".jpg\" => \"image/jpeg\",
\".jpeg\" => \"image/jpeg\",
\".png\" => \"image/png\",
\".css\" => \"text/css\",
\".html\" => \"text/html\",
\".htm\" => \"text/html\",
\".js\" => \"text/javascript\",
\".asc\" => \"text/plain\",
\".c\" => \"text/plain\",
\".cpp\" => \"text/plain\",
\".log\" => \"text/plain\",
\".conf\" => \"text/plain\",
\".text\" => \"text/plain\",
\".txt\" => \"text/plain\",
\".dtd\" => \"text/xml\",
\".xml\" => \"text/xml\",
\"\" => \"octet/stream\" )
server.document-root = \"/partition/sapw/block/https/\"
server.error-handler-404 = \"/error-404.php\"
server.pid-file = \"/var/run/sapw_https.pid\"" > /etc/sapw_https.conf
/usr/local/sbin/lighttpd -f /etc/sapw_https.conf >/dev/null 2>&1 &
[ "$1" = 1 ] && echo "done"
fi
}
stop() {
#### Verifica se o SAPW ja esta ativo #####
if [ -e "/var/run/sapw.pid" ] ; then
#### Apaga a chain do redirecionamento ####
$IPTABLES -t nat -F websapw >/dev/null 2>&1
[ -e "/var/run/sapw.pid" ] && kill $(cat /var/run/sapw.pid) >/dev/null 2>&1
rm -fr /var/run/sapw.pid 2>&1 >/dev/null
rm -fr /etc/sapw.conf 2>&1 >/dev/null
[ -e "/var/run/sapw1.pid" ] && kill $(cat /var/run/sapw1.pid) >/dev/null 2>&1
rm -fr /var/run/sapw1.pid 2>&1 >/dev/null
rm -fr /etc/sapw.conf 2>&1 >/dev/null
[ -e "/var/run/sapw_https.pid" ] && kill $(cat /var/run/sapw_https.pid) >/dev/null 2>&1
rm -fr /var/run/sapw_https.pid 2>&1 >/dev/null
rm -fr /etc/sapw_https.conf 2>&1 >/dev/null
killall sapw-monitor 2>&1 >/dev/null
killall sleep 2>&1 >/dev/null
else
echo " SAPW is not running "
fi
}
case $1 in
start)
echo -n "Starting SAPW ... "
start
echo "done";;
stop)
echo -n "Stoping SAPW ... "
stop
echo "done";;
reload)
echo -n "Restarting SAPW ... "
stop;sleep 1;start
echo "done";;
*)
echo;echo "Usage: sapw { start | stop | reload }";echo;;
esac
luapufo escreveu:para falar que não ajudei, olha que fiz no SAPW
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante