6. NxCloud
6.6. NxRelay para identificar usuários de outras redes
NxRelay é um servidor Relay de DNS para o NxCloud. Com NxRelay você pode associar um IP Privado ou um Range de IPs a um determinado usuário no NxCloud. O que significa que você pode aplicar diferentes políticas de controle baseados nos IPs privados dos seus clientes.
Nota: NxRelay tem como pre-requisito o NxCloud 3.4.2 ou superior.
6.6.1 Como funciona?
O NxRelay por si só é um servidor DNS Forward. Ele faz a filtragem consultando o NxCloud e trabalha como um servidor DNS redirecionando as consulta DNS para seu servidor de DNS local. Para o NxRelay, o NxCloud não é um servidor DNS Upstream, pelo contrário é um servidor de políticas. O servidor upstream é o seu servidor DNS local ou o servidor MS do AD que responde as suas consultas DNS.
Isso significa que mesmo que você percar a conexão com o NxCloud sua rede continuará a funcionar. E você não terá problemas com sua rede AD ou resolução de nomes do domínio locai, já que suas consultas DNS continuarão sendo resolvidas por seu servidor local.
Nota: Sendo ele um servidor DNS você pode ter alta disponibilidade e load balance facilmente. Instale múltiplos servidores NxRelay e configure suas estações usando eles como servidores DNS Primário e Secundário.
Ele envia o sinal “START” e “PING”. Você pode verificar se ele está funcionando em “Logging > Signal” na GUI do NxCloud.
Instalando como um serviço no Windows
1. Faça o download do pacote zip
2. Descompacte dentro do diretório “c:/nxrelay” No Prompt CMD, faça
cd c:\nxrelay/bin instsvc.bat net start NxRelay
Nota: Antes de iniciar o serviço é preciso alterar os parâmetros de configuração em “”c:nxrelayconfcfg.properties”“.
NxSkinBR Documentation, Versión 0.2
Instalando SystemD no Linux
1. Faça o download do pacote zip
2. Descompacte dentro do diretório “/opt/nxrelay” No shell ( bash/sh ) digite:
cd /opt/nxrelay
sudo chmod +x bin/*.sh
sudo cp script/nxrelay.service /lib/systemd/system/nxrelay.service sudo systemctl enable nxrelay.service
sudo systemctl start nxrelay.service
Para parar o serviço
sudo systemctl stop nxrelay.service
Nota: Antes de iniciar o serviço é preciso alterar os parâmetros de configuração em “”/opt/nxrelay/conf/cfg.properties”“.
Parametrizando
Antes de iniciar você precisa ter o endereço IP do servidor NxCloud e um token de uma das contas de usuário. Os parâmetros ficam em “”/opt/nxrelay/conf/cfg.properties”“.
Por exemplo:
server = 192.168.0.100
token = BSYEB28O
local_dns = 8.8.8.8,8.8.4.4
local_domain =
Tendo esses parâmetros no arquivo de configuração, considerando que o IP do servidor NxCloud é “192.168.0.100” e o token do usuário “BSYEB280” e o servidor de DNS local ou o existente é o “8.8.8.8” e “8.8.4.4”. Se há domínios ou endereços que deseja que não sejam filtrados você pode adiciona-los em “”local_domain”” separando-os por virgula. Depois de modificar o arquivo de configuração, sempre reinicie o NxRelay. E então configure o mesmo para ser seu único servidor DNS na rede.
Nota:
É possível adicionar múltiplos servidores NxCloud, basta separar os IPs por vírgulas.
Pode ainda verificar se a configuração está correta e a conectividade com o servidor através do comando “”/opt/nxrelay/bin/test.sh”“
Que políticas aplicar?
Quando o NxRelay estiver funcionando em sua rede local como o servidor DNS ele inicia o filtro com a política associada ao token registrado nele. Porém isso é apenas um procedimento padrão para o NxRelay. Você pode aplicar diferentes políticas baseadas nos endereços IP. Na GUI, do NxCloud, o operador cria um usuário e associa o mesmo a um IP privado ou range de IPs em sua rede para aquele usuário. Agora os usuários associados aquele IP ou range de endereços estará subordinado a política definida ao mesmo usuário criado na GUI do NxCloud.
Scripts inclusos
Em “”/opt/nxrelay/bin” existem diversos scripts. Para o Linux/BSD :
startup.sh - Ativa o serviço. shutdown.sh - Para o serviço.
test.sh - Testa a conectividade com o NxCloud, de acordo com os parâmetros definidos no arquivo de configu- ração.
ping.sh - Testa se o serviço do NxRelay está ativo. Para o Windows,
instsvc.bat - Para instalar o serviço “NxRelay”. unstsvc.bat - Para remover o serviço “NxRelay”.
Já para o Ubuntu é disponibilizado também o script para o Systemd em “”/opt/nxrelay/script”“, nxrelay.service
CAPÍTULO
7
Personalización o mejoras de NxFilter y sus clientes
*Antes de modificar NxFilter
Advertencia: Si hay el deseo de hacer mejoras en NxFilter para su herramienta comercial, utilice NxFilter o NxCloud.
Ahora vamos a hablar de cómo personalizar NxFilter y sus aplicaciones consu propia marca. Antes que nada, vamos a demostrar cómoestandarizar la GUI, y luego hablaremos sobre los otros componentes puesusted puede interesarse. Por último mostraremos cómo personalizar las aplicaciones de NxFilter.
7.1 GUI - Estrutura de diretórios e padronização dos nomes
A camada GUI do NxFilter foi desenhada de modo a facilitar sua personalização. É uma parte completamente separada do Core principal. E segue uma padronização, que a faz ser correspondente a estrutura de menus, facilitando localizar os arquivos desejados.
Por exemplo: se você quer modificar “”Policy & Rule > Free Time”“, no menu do NxFilter, o arquivo a ser modificado será “”/nxfilter/webapps/policy,free_time.jsp”“.
Nota:
No NxCloud há um menu especifico para o operador. Se haverá um JSP específico para o menu do operador então ele deve ter o prefixo “”zop”“. ex) zop,policy,free_time.jsp
7.1.1 Estrutura de diretórios da aplicação web
Todos os arquivos JSP ficam em “”/nxfilter/webapps”” e não é usado nenhum sub-diretório para armazenar páginas JSP, isso para simplificar e facilitar o entendimento. Tudo que é necessário está no diretório “”/nxfilter/webapps”“.
Segue a seguinte estrutura dentro do diretório “”/nxfilter”“:
Diretório Função
webapps/error Páginas de erro para os códigos HTTP.
Um código de erro específico defina em “”/webapps/WEB-INF/web.xml”“ webapps/example Páginas de exemplo para customizar o módulo de login
webapps/img Imagens para as páginas web
webapps/include Arquivos JSP comuns a outras páginas, que pode ser incluídas em outros arquivos JSP. webapps/lib Contém arquivos CSS e Javascript
webapps/WEB- INF
Necessário para o servidor WEB Tomcat embutido
Advertencia:
Os erros HTTP 400 são usados para um propósito especial. Você não pode definir nenhuma página para o código de erro HTTP 400.
O arquivo “/include/lib.jsp” é uma biblioteca compartilhada por todos os arquivos JSP. Ele tem algumas funções, iniciliza todo o código e verifica a autenticação também.
Não incluímos diretamente o arquivo “/include/lib.jsp”. Ele é executado quando nós incluímos o arquivo “/include/top.jsp”
7.1.2 Separando a GUI personalizada em outro diretório
Quando a GUI é personalizada, não é uma boa ideia modificar os arquivos originais. Você pode mantê-las para usar como referência e criar outro diretório dentro do /nxfilter e copiar todos os arquivos que estão dentro de “”/nxfil- ter/webapps” para o novo diretório e então modificar esses arquivos que foram copiados. Para facilitar mais ainda, NxFilter permite que se defina o parâmetro “”www_dir”” em “/nxfilter/conf/cfg.properties.
Se por exemplo você armazenou sua GUI personalizada em “”/nxfilter/myweb”” e quer usá-la como a raiz do servidor web do NxFilter, você irá adicionar a seguinte linha no arquivo cfg.properties.
www_dir = myweb
Então reinicie o NxFilter.
7.2 GUI - Acessando a base de dados
Geralmente na programação web, o uso de um banco de dados é algo muito importante.
No NxFilter são utilizados “Data Access Object” e “Data Object” para manipular o Banco de Dados.
7.2.1 Métodos utilizados para manipular os “Data Access Object”
Alguns métodos são usados para acessar a maioria dos dados.
Por exemplo. em “policy,policy.jsp” são usadas as classes PolicyDao e PolicyData class para manipular as Políticas. PolicyDao tem os seguinte métodos: