Definir zonas de segurança (no local) defining-security-zones
Cada operador precisa ser vinculado a uma zona para fazer logon em uma instância e o operador IP deve ser incluído nos endereços ou conjuntos de endereços definidos na zona de segurança. A configuração da zona de segurança é realizada no arquivo de configuração do servidor do Adobe Campaign.
Os operadores são vinculados a uma zona de segurança em seu perfil no console, acessível no nó Administration > Access management > Operators. Saiba mais.
Criar zonas de segurança creating-security-zones
Uma zona é definida por:
- um ou mais intervalos de endereços IP (IPv4 e IPv6)
 - um nome técnico associado a cada intervalo de endereços IP
 
As zonas de segurança são interbloqueadas, o que significa que a definição de uma nova zona dentro de outra zona reduz o número de operadores que podem fazer logon nela, enquanto aumenta os direitos atribuídos a cada operador.
As zonas devem ser definidas durante a configuração do servidor, no arquivo serverConf.xml. Todos os parâmetros disponíveis no serverConf.xml estão listados em esta seção.
Cada zona define direitos, como:
- Conexão HTTP em vez de HTTPS
 - Exibição de erros (erros de Java, JavaScript, C++ etc.)
 - Relatório e visualização de webApp
 - Autenticação via logon/senha
 - Modo de conexão não segura
 
O endereço IP do operador pode ser definido em várias regiões. Nesse caso, o operador recebe o conjunto de direitos disponíveis para cada zona.
O arquivo serverConf.xml pronto para uso inclui três zonas: pública, VPN e LAN.
Exemplo de como definir uma zona no arquivo serverConf.xml:
<securityZone allowDebug="false" allowHTTP="false" label="Public Network" name="public">
<subNetwork label="All addresses" mask="*" name="all"/>
<securityZone allowDebug="true" allowHTTP="false" label="Private Network (VPN)"
              name="vpn" showErrors="true">
  <securityZone allowDebug="true" allowEmptyPassword="true" allowHTTP="true"
                allowUserPassword="false" label="Private Network (LAN)" name="lan"
                sessionTokenOnly="true" showErrors="true">
    <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1"/>
    <subNetwork label="Lan 2" mask="172.16.0.0/12" name="lan2"/>
    <subNetwork label="Lan 3" mask="10.0.0.0/8" name="lan3"/>
    <subNetwork label="Localhost" mask="127.0.0.1/16" name="locahost"/>
    <subNetwork label="Lan (IPv6)" mask="fc00::/7" name="lan6"/>
    <subNetwork label="Localhost (IPv6)" mask="::1/128" name="localhost6"/>
  </securityZone>
</securityZone>
</securityZone>
            Todos os direitos que definem uma região são os seguintes:
- allowDebug: permite que um webApp seja executado no modo "debug"
 - allowEmptyPassword: autoriza uma conexão com uma instância sem uma senha
 - allowHTTP: uma sessão pode ser criada sem usar o protocolo HTTPS
 - allowUserPassword: o token de sessão pode ter o seguinte formato "
<login>/<password>" - sessionTokenOnly: o token de segurança não é necessário na URL de conexão
 - showErrors: erros no lado do servidor são encaminhados e exibidos
 
Ao usar o Centro de Mensagens, se houver várias instâncias de execução, será necessário criar uma zona de segurança adicional com o atributo sessionTokenOnly definido como true, em que somente os endereços IP necessários serão adicionados. Para obter mais informações sobre a configuração de instâncias, consulte este documento.
Práticas recomendadas para zonas de segurança best-practices-for-security-zones
Na definição da zona de segurança lan, é possível adicionar uma máscara de endereço IP definindo o acesso técnico. Essa adição habilitará o acesso a todas as instâncias hospedadas no servidor.
<securityZone allowDebug="true" allowEmptyPassword="false" allowHTTP="true"
                    allowUserPassword="false" label="Private Network (LAN)" name="lan"
                    sessionTokenOnly="true" showErrors="true">
        <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1"/>
        <subNetwork label="Lan 2" mask="172.16.0.0/12" name="lan2"/>
        <subNetwork label="Lan 3" mask="10.0.0.0/8" name="lan3"/>
        <subNetwork label="Localhost" mask="127.0.0.1/16" name="locahost"/>
        <subNetwork label="Lan (IPv6)" mask="fc00::/7" name="lan6"/>
        <subNetwork label="Localhost (IPv6)" mask="::1/128" name="localhost6"/>
        <!-- Customer internal IPs -->
        <subNetwork id="internalNetwork" mask="a.b.c.d/xx"/>
      </securityZone>
            Recomendamos definir intervalos de endereço IP diretamente no arquivo de configuração dedicado à instância para operadores que acessam apenas uma instância específica.
No arquivo config-<instance>.xml:
  <securityZone name="public">
   ...
    <securityZone name="vpn">
      <subNetwork id="cus1" mask="a.b.c.d/xx"/>
            Sub-redes e proxies em uma zona de segurança sub-networks-and-proxies-in-a-security-zone
O parâmetro proxy pode ser usado em um elemento subNetwork para especificar o uso de proxy em uma zona de segurança.
Quando um proxy é referenciado e uma conexão é inserida por meio desse proxy (visível por meio do cabeçalho HTTP X-Forwarded-For), a zona verificada é a dos clientes do proxy e não a do proxy.
<subnetwork label="Lan 1" mask="192.168.0.0/16" name="lan1" proxy="127.0.0.1,10.100.2.135" />".Vários casos podem ocorrer:
- 
                  
Uma sub-rede é referenciada diretamente na zona de segurança e nenhum proxy é configurado: os usuários da sub-rede podem se conectar diretamente ao servidor do Adobe Campaign.
                     - 
                  
Um proxy é especificado para uma sub-rede na zona de segurança: os usuários dessa sub-rede podem acessar o servidor Adobe Campaign por meio desse proxy.
                     - 
                  
Um proxy é incluído em uma sub-rede de zona de segurança: os usuários que têm acesso por meio desse proxy, independentemente da origem, podem acessar o servidor do Adobe Campaign.
                     
Os endereços IP de proxies que provavelmente acessarão o servidor do Adobe Campaign devem ser inseridos no <subnetwork> relacionado e na sub-rede de primeiro nível <subnetwork name="all"/>. Por exemplo, aqui para um proxy cujo endereço IP é 10.131.146.102:
<securityZone allowDebug="false" allowHTTP="false" label="Public Network"
                      name="public">
    <subNetwork label="All addresses" mask="*" name="all"
                      proxy="10.131.146.102,127.0.0.1, ::1"/>
    <securityZone allowDebug="true" allowHTTP="false" label="Private Network (VPN)"
                      name="vpn" showErrors="true">
        <securityZone allowDebug="true" allowEmptyPassword="false" allowHTTP="true"
                      allowUserPassword="false" label="Private Network (LAN)"
                      name="lan" sessionTokenOnly="true" showErrors="true">
            <subNetwork label="Lan proxy" mask="10.131.193.182" name="lan3"
                      proxy="10.131.146.102,127.0.0.1, ::1"/>
            <subNetwork label="Lan 1" mask="192.168.0.0/16" name="lan1"
                      proxy="127.0.0.1, ::1"/>
        </securityZone>
    </securityZone>
</securityZone>
            Vincular uma zona de segurança a um operador linking-a-security-zone-to-an-operator
Depois que as zonas forem definidas, cada operador deve ser vinculado a uma delas para poder fazer logon em uma instância e o endereço IP do operador deve ser incluído nos endereços ou intervalos de endereços referenciados na zona.
A configuração técnica das zonas é executada no arquivo de configuração do Servidor do Campaign: serverConf.xml.
Antes disso, você deve começar configurando a enumeração Security zone pronta para uso para vincular um rótulo ao nome interno da zona definida no arquivo serverConf.xml.
Essa configuração é feita no explorador do Campaign:
- 
                  
Clique no nó Administration > Platform > Enumerations.
 - 
                  
Selecione a lista discriminada do sistema Security zone (securityZone).
                     - 
                  
Para cada zona de segurança definida no arquivo de configuração do servidor, clique no botão Add.
 - 
                  
No campo Internal name, digite o nome da zona definida no arquivo serverConf.xml. Corresponde ao atributo @name do elemento
<securityzone>. Insira o rótulo vinculado ao nome interno no campo Rótulo A.
                     - 
                  
Clique em OK e salve as modificações.
 
Depois que as zonas forem definidas e a enumeração Security zone for configurada, será necessário vincular cada operador a uma zona de segurança:
- 
                  
Clique no nó Administration > Access management > Operators.
 - 
                  
Selecione o operador ao qual deseja vincular uma zona de segurança e clique na guia Edit.
 - 
                  
Acesse a guia Access rights e clique no link Edit access parameters….
                     - 
                  
Selecione uma zona na lista suspensa Authorized connection zone
                     - 
                  
Clique em OK e salve as modificações para aplicá-las.
 
Recomendações
- 
                  
Certifique-se de que seu proxy reverso não seja permitido na sub-rede. Se for o caso, o tráfego all será detectado como proveniente deste IP local, então será confiável.
 - 
                  
Minimize o uso de sessionTokenOnly="true":
- Aviso: se este atributo estiver definido como verdadeiro, o operador pode ser exposto a um ataque de CRSF.
 - Além disso, o cookie sessionToken não é definido com um sinalizador httpOnly, portanto, algum código JavaScript do lado do cliente pode lê-lo.
 - No entanto, o Centro de Mensagens em várias células de execução precisa de sessionTokenOnly: crie uma nova zona de segurança com sessionTokenOnly definido como "true" e adicione somente os IPs necessários nessa zona.
 
 - 
                  
Quando possível, defina todos allowHTTP, showErrors como false (não para localhost) e confira-os.
- allowHTTP = "false": força os operadores a usarem HTTPS
 - showErrors = "false": oculta erros técnicos (incluindo os SQL). Isso evita a exibição de muitas informações, mas reduz a capacidade do profissional de marketing de resolver erros (sem solicitar mais informações de um administrador)
 
 - 
                  
Defina allowDebug como true somente nos IPs usados pelos usuários/administradores de marketing que precisam criar pesquisas (em pré-visualização, na verdade), aplicativos da Web e relatórios. Esse sinalizador permite que esses IPs obtenham regras de retransmissão exibidas e os executa.
- 
                      
Quando allowDebug é definido como false, a saída é:
code language-none <redir status='OK' date='...' sourceIP='...'/> - 
                      
Quando allowDebug está definido como true, a saída é:
code language-none <redir status='OK' date='...' build='...' OR version='...' sha1='...' instance='...' sourceIP='...' host='...' localHost='...'/> 
 - 
                      
 - 
                  
Nunca defina allowEmptyPassword, allowUserPassword, allowSQLInjection como true.
- 
                      
allowEmptyPassword permite que os operadores tenham uma senha vazia. Se este for o seu caso, notifique todos os seus operadores para eles definirem uma senha com um prazo. Depois que esse prazo terminar, altere este atributo para falso.
 - 
                      
allowUserPassword permite que os operadores enviem suas credenciais como parâmetros (para que eles sejam registrados por apache/IIS/proxy). Esse recurso foi usado anteriormente para simplificar o uso da API. Você pode verificar em seu guia (ou na especificação) se alguns aplicativos de terceiros usam isso. Em caso afirmativo, você deve notificá-los para alterar a maneira como usam nossa API e remover esse recurso o mais rápido possível.
 - 
                      
allowSQLInjection permite que o usuário realize injeções de SQL usando uma sintaxe antiga. Este atributo deve ser definido como falso. É possível usar /nl/jsp/ping.jsp?zones=true para verificar a configuração de sua zona de segurança. Esta página exibe o status ativo das medidas de segurança (computadas com esses sinalizadores de segurança) do IP atual.
 
 - 
                      
 - 
                  
HttpOnly cookie/useSecurityToken: se refere ao sinalizador sessionTokenOnly.
 - 
                  
Minimizar IPs adicionados ao incluo na lista de permissões: adicionamos os 3 intervalos para redes privadas em zonas de segurança, de modo rápido e prático. É improvável usar todos esses endereços IP. Portanto, mantenha apenas os que você precisa.
 - 
                  
Atualize o operador webApp/interno para estar acessível somente no host local.