Saiba mais sobre diversas configurações de segurança para aprimorar a segurança do AEM Forms no JEE em execução em uma intranet corporativa.
O artigo descreve recomendações e práticas recomendadas para proteger servidores que executam o AEM Forms no JEE. Este não é um documento abrangente que endurece o host para seu sistema operacional e servidores de aplicativos. Em vez disso, este artigo descreve uma variedade de configurações de segurança que você deve implementar para melhorar a segurança do AEM Forms no JEE que está sendo executado em uma intranet corporativa. Entretanto, para garantir que os servidores de aplicativos AEM Forms em JEE permaneçam protegidos, você também deve implementar procedimentos de monitoramento, detecção e resposta de segurança.
O artigo descreve técnicas de endurecimento que devem ser aplicadas durante os seguintes estágios durante o ciclo de vida da instalação e configuração:
O AEM Forms em JEE é altamente personalizável e pode funcionar em vários ambientes diferentes. Algumas das recomendações podem não atender às necessidades de sua organização.
Antes de instalar o AEM Forms no JEE, você pode aplicar soluções de segurança à camada de rede e ao sistema operacional. Esta seção descreve alguns problemas e faz recomendações para reduzir as vulnerabilidades de segurança nessas áreas.
Instalação e configuração em UNIX e Linux
Você não deve instalar ou configurar o AEM Forms no JEE usando um shell raiz. Por padrão, os arquivos são instalados no diretório /opt e o usuário que executa a instalação precisa de todas as permissões de arquivo em /opt. Como alternativa, uma instalação pode ser executada sob o diretório /usuário de um usuário individual, onde ele já tem todas as permissões de arquivo.
Instalação e configuração no Windows
Você deve executar a instalação no Windows como um administrador se estiver instalando o AEM Forms no JEE em JBoss usando o método chave na mão ou se estiver instalando o Gerador de PDF. Além disso, ao instalar o Gerador de PDF no Windows com suporte a aplicativo nativo, você deve executar a instalação como o mesmo usuário do Windows que instalou o Microsoft Office. Para obter mais informações sobre os privilégios de instalação, consulte o documento* Installing and Deploying AEM Forms on JEE* para seu servidor de aplicativos.
As vulnerabilidades de segurança de rede estão entre as primeiras ameaças a qualquer servidor de aplicativos voltado para a Internet ou para a intranet. Esta seção descreve o processo de endurecimento de hosts na rede contra essas vulnerabilidades. Ele aborda a segmentação de rede, o endurecimento da pilha do protocolo de controle de transmissão/protocolo TCP/IP e o uso de firewalls para proteção de host.
A tabela a seguir descreve processos comuns que reduzem as vulnerabilidades de segurança da rede.
Problema |
Descrição |
---|---|
Zonas desmilitarizadas (DMZs) |
Implante servidores de formulários em uma zona desmilitarizada (DMZ). A segmentação deve existir em pelo menos dois níveis com o servidor de aplicativos usado para executar o AEM Forms no JEE colocado atrás do firewall interno. Separe a rede externa da DMZ que contém os servidores da Web, que, por sua vez, devem ser separados da rede interna. Use firewalls para implementar as camadas de separação. Categorize e controle o tráfego que passa por cada camada de rede para garantir que somente o mínimo absoluto de dados necessários seja permitido. |
Endereços IP privados |
Use a tradução de endereço de rede (NAT) com endereços IP privados RFC 1918 no servidor de aplicativos AEM Forms. Atribua endereços IP privados (10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16) para tornar mais difícil para um invasor rotear tráfego de e para um host interno de NAT pela Internet. |
Firewalls |
Use os seguintes critérios para selecionar uma solução de firewall:
|
Portas de banco de dados |
Não use portas de escuta padrão para bancos de dados (MySQL - 3306, Oracle - 1521, MS SQL - 1433). Para obter informações sobre como alterar portas de banco de dados, consulte a documentação de seu banco de dados. O uso de uma porta de banco de dados diferente afeta a configuração geral do AEM Forms na JEE. Se você alterar as portas padrão, deverá fazer as modificações correspondentes em outras áreas de configuração, como as fontes de dados para AEM Forms no JEE. Para obter informações sobre como configurar fontes de dados no AEM Forms em JEE, consulte Instalar e atualizar o AEM Forms em JEE ou Atualizar para o AEM Forms em JEE para seu servidor de aplicativos em Guia do usuário do AEM Forms. |
A tabela a seguir descreve algumas abordagens possíveis para minimizar vulnerabilidades de segurança encontradas no sistema operacional.
Problema |
Descrição |
---|---|
Patches de segurança |
Existe um risco aumentado de que um usuário não autorizado possa obter acesso ao servidor de aplicativos se os patches e atualizações de segurança do fornecedor não forem aplicados em tempo hábil. Teste os patches de segurança antes de aplicá-los aos servidores de produção. Além disso, crie políticas e procedimentos para verificar e instalar patches regularmente. |
Software de proteção contra vírus |
Os verificadores de vírus podem identificar arquivos infectados digitalizando uma assinatura ou observando um comportamento incomum. Os scanners mantêm suas assinaturas de vírus em um arquivo, que geralmente é armazenado no disco rígido local. Como os novos vírus são descobertos com frequência, você deve atualizar esse arquivo com frequência para o verificador de vírus para identificar todos os vírus atuais. |
NTP (Network Time Protocol, protocolo de tempo de rede) |
Para a análise forense, mantenha o tempo exato nos servidores de formulários. Use o NTP para sincronizar o tempo em todos os sistemas conectados diretamente à Internet. |
Para obter informações adicionais de segurança para seu sistema operacional, consulte "Informações de segurança do sistema operacional".
Esta seção descreve as técnicas que você pode usar durante o processo de instalação do AEM Forms para reduzir as vulnerabilidades de segurança. Em alguns casos, essas técnicas usam opções que fazem parte do processo de instalação. A tabela a seguir descreve essas técnicas.
Problema |
Descrição |
---|---|
Privilégios |
Use o menor número de privilégios necessários para instalar o software. Faça logon no computador usando uma conta que não esteja no grupo Administradores. No Windows, você pode usar o comando Executar como para executar o AEM Forms no instalador JEE como um usuário administrativo. Em sistemas UNIX e Linux, use um comando como |
Fonte do software |
Não baixe nem execute o AEM Forms no JEE a partir de fontes não confiáveis. Programas mal-intencionados podem conter código para violar a segurança de várias maneiras, incluindo roubo, modificação e exclusão de dados e negação de serviço. Instale o AEM Forms no JEE a partir do Adobe DVD ou somente a partir de uma fonte confiável. |
Partições de disco |
Coloque o AEM Forms em JEE em uma partição de disco dedicada. A segmentação de disco é um processo que mantém dados específicos no servidor em discos físicos separados para aumentar a segurança. Organizar os dados dessa forma reduz o risco de ataques cruzados de diretórios. Planeje criar uma partição separada da partição do sistema na qual você possa instalar o AEM Forms no diretório de conteúdo JEE. (No Windows, a partição do sistema contém o diretório system32 ou a partição de inicialização.) |
Componentes |
Avalie os serviços existentes e desabilite ou desinstale os que não forem necessários. Não instale componentes e serviços desnecessários. A instalação padrão de um servidor de aplicativos pode incluir serviços que não são necessários para o seu uso. Você deve desativar todos os serviços desnecessários antes da implantação para minimizar os pontos de entrada de um ataque. Por exemplo, no JBoss, você pode comentar serviços desnecessários no arquivo META-INF/jboss-service.xml descritor. |
Arquivo de política entre domínios |
A presença de um arquivo |
Configurações de segurança do sistema operacional |
Se precisar usar criptografia XML de 192 bits ou 256 bits em plataformas Solaris, certifique-se de instalar |
Depois de instalar o AEM Forms com êxito no JEE, é importante manter periodicamente o ambiente do ponto de vista de segurança.
A seção a seguir descreve em detalhes as diferentes tarefas recomendadas para proteger o servidor de formulários implantados.
As configurações recomendadas a seguir se aplicam ao AEM Forms no servidor JEE fora do aplicativo da Web administrativo. Para reduzir os riscos de segurança para o servidor, aplique essas configurações imediatamente após a instalação do AEM Forms no JEE.
Patches de segurança
Existe um risco aumentado de que um usuário não autorizado possa obter acesso ao servidor de aplicativos se os patches e atualizações de segurança do fornecedor não forem aplicados em tempo hábil. Teste os patches de segurança antes de aplicá-los aos servidores de produção para garantir a compatibilidade e disponibilidade dos aplicativos. Além disso, crie políticas e procedimentos para verificar e instalar patches regularmente. As atualizações do AEM Forms em JEE estão no site de download de produtos Enterprise.
Contas de serviço (chave de acesso JBoss somente no Windows)
Por padrão, a AEM Forms em JEE instala um serviço usando a conta LocalSystem. A conta de usuário LocalSystem integrada tem um alto nível de acessibilidade; faz parte do grupo Administradores. Se uma identidade de processo de trabalho for executada como a conta de usuário LocalSystem, esse processo de trabalho terá total acesso ao sistema inteiro.
Para executar o servidor de aplicativos no qual o AEM Forms em JEE é implantado, usando uma conta específica não administrativa, siga estas instruções:
No Microsoft Management Console (MMC), crie um usuário local para que o serviço do servidor de formulários faça logon como:
Não é possível alterar essa configuração para o Gerador de PDF.
Selecione Start > Definições > Ferramentas Administrativas > Serviços.
Duplo clique no JBoss for AEM Forms no JEE e pare o serviço.
Na guia Iniciar Sessão, selecione Esta Conta, procure a conta de utilizador que criou e introduza a senha da conta.
No MMC, abra Configurações de segurança local e selecione Políticas locais > Atribuição de direitos de usuário.
Atribua os seguintes direitos à conta de usuário na qual o servidor de formulários está sendo executado:
Atribua à nova conta de usuário permissões de modificação nos seguintes diretórios:
[JBoss root]/server/[type]/svcnative/DocumentStorage
[AEM-Forms-installation-location]\crx-repository
Atribua à nova conta de usuário permissões de gravação nos seguintes diretórios:
O local de instalação padrão do JBoss Application Server:
Start o servidor de aplicativos.
Desativação do servlet de inicialização do Configuration Manager
O Configuration Manager utilizou um servlet implantado no servidor de aplicativos para executar o carregamento automático do AEM Forms no banco de dados JEE. Como o Configuration Manager acessa este servlet antes da configuração ser concluída, o acesso a ele não foi protegido para usuários autorizados e ele deve ser desativado depois que você tiver usado o Configuration Manager com êxito para configurar o AEM Forms no JEE.
Descompacte o arquivo adobe-livecycle-[appserver].ear.
Abra o arquivo META-INF/application.xml.
Procure a seção adobe-bootstrapper.war:
<!-- bootstrapper start -->
<module id="WebApp_adobe_bootstrapper">
<web>
<web-uri>adobe-bootstrapper.war</web-uri>
<context-root>/adobe-bootstrapper</context-root>
</web>
</module>
<module id="WebApp_adobe_lcm_bootstrapper_redirector">
<web>
<web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri>
<context-root>/adobe-lcm-bootstrapper</context-root>
</web>
</module>
<!-- bootstrapper end-->
Pare o servidor AEM Forms.
Comente o adobe-bootstrapper.war e o adobe-lcm-bootstrapper-rediretory. módulos de guerra como se segue:
<!-- bootstrapper start -->
<!--
<module id="WebApp_adobe_bootstrapper">
<web>
<web-uri>adobe-bootstrapper.war</web-uri>
<context-root>/adobe-bootstrapper</context-root>
</web>
</module>
<module id="WebApp_adobe_lcm_bootstrapper_redirector">
<web>
<web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri>
<context-root>/adobe-lcm-bootstrapper</context-root>
</web>
</module>
-->
<!-- bootstrapper end-->
Salve e feche o arquivo META-INF/application.xml.
compacte o arquivo EAR e implante-o novamente no servidor de aplicativos.
Start o servidor AEM Forms.
Digite o URL abaixo em um navegador para testar a alteração e garantir que ela não funcione mais.
https://<localhost>:<porta>/adobe-bootstrapper/bootstrap
Bloquear o acesso remoto ao Repositório de Confiança
O Configuration Manager permite que você carregue uma credencial de extensões do Acrobat Reader DC para a AEM Forms no repositório confiável JEE. Isso significa que o acesso ao Serviço de Credencial do Repositório de Confiança por protocolos remotos (SOAP e EJB) foi ativado por padrão. Esse acesso não é mais necessário depois de fazer upload das credenciais de Direitos usando o Configuration Manager ou se você decidir usar o Console de administração mais tarde para gerenciar as credenciais.
Você pode desativar o acesso remoto a todos os serviços do Repositório de Confiança seguindo as etapas na seção Desabilitando o acesso remoto não essencial aos serviços.
Desativar todo o acesso anônimo não essencial
Alguns serviços de servidor de formulários têm operações que podem ser chamadas por um chamador anônimo. Se o acesso anônimo a esses serviços não for necessário, desative-o seguindo as etapas em Desabilitando o acesso anônimo não essencial aos serviços.
Quando o AEM Forms no JEE está instalado, uma única conta de usuário padrão é configurada para o usuário Super Administrator/ login-id Administrator com uma senha padrão de password. Você deve alterar essa senha imediatamente usando o Configuration Manager.
Digite o seguinte URL em um navegador da Web:
https://[host name]:[port]/adminui
O número padrão da porta é um destes:
JBoss: 8080
Servidor WebLogic: 7001
WebSphere: 9080.
No campo Nome de usuário, digite administrator
e, no campo Senha, digite password
.
Clique em Configurações > Gerenciamento de usuários > Usuários e grupos.
Digite administrator
no campo Localizar e clique em Localizar.
Clique em Super Administrador na lista de usuários.
Clique em Alterar senha na página Editar usuário.
Especifique a nova senha e clique em Salvar.
Além disso, é recomendável alterar a senha padrão para o Administrador do CRX executando as seguintes etapas:
https://[server]:[port]/lc/libs/granite/security/content/useradmin.html
usando o nome de usuário/senha padrão.A geração WSDL (Web Service Definition Language) deve ser ativada somente para ambientes de desenvolvimento, onde a geração WSDL é usada pelos desenvolvedores para criar seus aplicativos clientes. Você pode optar por desativar a geração WSDL em um ambiente de produção para evitar a exposição dos detalhes internos de um serviço.
Digite o seguinte URL em um navegador da Web:
https://[host name]:[port]/adminui
Clique em Configurações > Configurações principais do sistema > Configurações.
Desmarque Ativar WSDL e clique em OK.
A tabela a seguir descreve algumas técnicas para proteger seu servidor de aplicativos depois que o aplicativo AEM Forms em JEE é instalado.
Problema |
Descrição |
---|---|
Console administrativo do servidor de aplicativos |
Depois de instalar, configurar e implantar o AEM Forms no JEE em seu servidor de aplicativos, você deve desativar o acesso aos consoles administrativos do servidor de aplicativos. Consulte a documentação do servidor de aplicativos para obter detalhes. |
Configurações de cookie do servidor de aplicativos |
Os cookies do aplicativo são controlados pelo servidor de aplicativos. Ao implantar o aplicativo, o administrador do servidor de aplicativos pode especificar as preferências de cookie em todo o servidor ou em base específica do aplicativo. Por padrão, as configurações do servidor têm preferência. Todos os cookies de sessão gerados pelo servidor de aplicativos devem incluir o atributo Você pode restringir cookies a serem enviados usando apenas HTTPS. Como resultado, eles não são enviados sem criptografia por HTTP. Os administradores do servidor de aplicativos devem habilitar cookies seguros para o servidor em uma base global. Por exemplo, ao usar o JBoss Application Server, você pode modificar o elemento do conector para Consulte a documentação do servidor de aplicativos para obter mais detalhes sobre as configurações de cookies. |
Navegação no diretório |
Quando alguém solicita uma página que não existe ou solicita o nome de um diretor (a string de solicitação termina com uma barra (/)), o servidor de aplicativos não deve retornar o conteúdo desse diretório. Para evitar isso, você pode desativar a navegação no diretório no servidor de aplicativos. Isso deve ser feito para o aplicativo do console de administração e para outros aplicativos em execução no servidor. Para JBoss, defina o valor do parâmetro de inicialização de listagens da propriedade <servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>listagens</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> Para WebSphere, defina a propriedade Para WebLogic, defina as propriedades de diretórios de índice no arquivo weblogic.xml como <container-descriptor> <index-directory-enabled>false </index-directory-enabled> </container-descriptor> |
Ao proteger seu banco de dados, você deve implementar as medidas descritas pelo fornecedor do banco de dados. Você deve alocar um usuário do banco de dados com as permissões mínimas exigidas para uso pela AEM Forms no JEE. Por exemplo, não use uma conta com privilégios de administrador de banco de dados.
No Oracle, a conta de banco de dados que você usa precisa apenas dos privilégios CONNECT, RECURSO e CRIAR VISUALIZAÇÃO. Para obter requisitos semelhantes em outros bancos de dados, consulte Preparação para instalar o AEM Forms em JEE (Single Server).
Modifique [JBOSS_HOME]\standalone\configuration\lc_{datasource.xml} para adicionar integratedSecurity=true
ao URL da conexão, como mostrado neste exemplo:
jdbc:sqlserver://<serverhost>:<port>;databaseName=<dbname>;integratedSecurity=true
Adicione o arquivo sqljdbc_auth.dll ao caminho dos sistemas do Windows no computador que está executando o servidor de aplicativos. O arquivo sqljdbc_auth.dll está localizado na instalação do driver Microsoft SQL JDBC 6.2.1.0.
Modifique a propriedade do serviço JBoss Windows (JBoss para AEM Forms em JEE) para Logon como do Sistema local para uma conta de logon que tenha um banco de dados AEM Forms e um conjunto mínimo de privilégios. Se você estiver executando JBoss na linha de comando em vez de como um serviço do Windows, não será necessário executar essa etapa.
Defina Segurança para o SQL Server do modo Misto como Apenas Autenticação do Windows.
Start o Console de administração do WebLogic Server digitando o seguinte URL na linha de URL de um navegador da Web:
https://[host name]:7001/console
Em Centro de alterações, clique em Bloquear e editar.
Em Estrutura do domínio, clique em [base_domain] > Serviços > JDBC > Fontes de Dados e, no painel direito, clique em IDP_DS.
Na tela seguinte, na guia Configuração, clique na guia Pool de Conexões e, na caixa Propriedades, digite integratedSecurity=true
.
Em Estrutura do domínio, clique em [base_domain] > Serviços > JDBC > Fontes de Dados e, no painel direito, clique em RM_DS.
Na tela seguinte, na guia Configuração, clique na guia Pool de Conexões e, na caixa Propriedades, digite integratedSecurity=true
.
Adicione o arquivo sqljdbc_auth.dll ao caminho dos sistemas do Windows no computador que está executando o servidor de aplicativos. O arquivo sqljdbc_auth.dll está localizado na instalação do driver Microsoft SQL JDBC 6.2.1.0.
Defina Segurança para o SQL Server do modo Misto como Apenas Autenticação do Windows.
No WebSphere, você pode configurar a segurança integrada somente quando usa um driver SQL Server JDBC externo, não o driver SQL Server JDBC incorporado ao WebSphere.
integratedSecurity
e, na caixa Valor, digite true
.integratedSecurity
e, na caixa Valor, digite true
.O schema de banco de dados AEM Forms contém informações confidenciais sobre a configuração do sistema e os processos comerciais e deve estar oculto atrás do firewall. O banco de dados deve ser considerado dentro do mesmo limite de confiança que o servidor de formulários. Para evitar a divulgação de informações e o roubo de dados comerciais, o banco de dados deve ser configurado pelo administrador do banco de dados (DBA) para permitir o acesso somente por administradores autorizados.
Como precaução adicional, você deve considerar o uso de ferramentas específicas do fornecedor do banco de dados para criptografar colunas em tabelas que contêm os seguintes dados:
Para obter informações sobre ferramentas específicas do fornecedor, consulte "Informações de segurança do banco de dados".
Um diretório LDAP (Lightweight Diretory Access Protocol) geralmente é usado pela AEM Forms no JEE como fonte de informações de usuários e grupos da empresa e um meio de executar a autenticação de senha. Você deve garantir que seu diretório LDAP esteja configurado para usar SSL (Secure Socket Layer) e que o AEM Forms no JEE esteja configurado para acessar seu diretório LDAP usando sua porta SSL.
Um ataque comum que usa LDAP envolve um invasor que deliberadamente falha na autenticação várias vezes. Isso faz com que o Servidor de Diretório LDAP bloqueie um usuário de todos os serviços confiáveis ao LDAP.
Você pode definir o número de tentativas de falha e o tempo de bloqueio subsequente que o AEM Forms implementa quando um usuário falha repetidamente na autenticação no AEM Forms. No Console de administração, escolha valores baixos. Ao selecionar o número de tentativas de falha, é importante entender que, depois de todas as tentativas, a AEM Forms bloqueia o usuário antes que o servidor de diretório LDAP o faça.
O uso correto e seguro de auditoria e registro de aplicativos pode ajudar a garantir que a segurança e outros eventos anômalos sejam rastreados e detectados o mais rápido possível. O uso eficaz de auditoria e registro em um aplicativo inclui itens como rastreamento de logons bem-sucedidos e com falha, bem como eventos-chave do aplicativo, como a criação ou exclusão de registros-chave.
Você pode usar a auditoria para detectar vários tipos de ataques, incluindo estes:
Esta tabela descreve as técnicas de auditoria e registro que podem ser usadas para reduzir as vulnerabilidades do servidor.
Problema |
Descrição |
---|---|
ACLs de arquivo de log |
Defina o AEM Forms apropriado nas listas de controle de acesso (ACLs) do arquivo de log JEE. Definir as credenciais apropriadas ajuda a impedir que os invasores excluam os arquivos. As permissões de segurança no diretório do arquivo de log devem ser Controle total para administradores e grupos SYSTEM. A conta de usuário do AEM Forms deve ter somente permissões de Leitura e Gravação. |
Redundância do arquivo de log |
Se os recursos permitirem, envie registros para outro servidor em tempo real que não esteja acessível ao invasor (somente gravação) usando o Syslog, Tivoli, Microsoft Operations Manager (MOM) Server ou outro mecanismo. Proteger os registros dessa forma ajuda a impedir a adulteração. Além disso, o armazenamento de registros em um repositório central auxilia na correlação e no monitoramento (por exemplo, se vários servidores de formulários estiverem em uso e um ataque de adivinhação de senha estiver ocorrendo em vários computadores em que cada computador for consultado para obter uma senha). |
Você pode habilitar um usuário que não seja administrador a usar o Gerador de PDF. Normalmente, somente os usuários com privilégios administrativos podem usar o Gerador de PDF. Execute as seguintes etapas para permitir que um usuário não administrador execute o Gerador de PDF:
Crie um nome de variável de ambiente PDFG_NON_ADMIN_ENABLED.
Defina o valor da variável como TRUE.
Reinicie a instância do AEM Forms.
Depois de instalar o AEM Forms com êxito no JEE, é importante manter periodicamente a segurança do seu ambiente. Esta seção descreve as tarefas recomendadas para manter a segurança do AEM Forms no servidor de produção JEE.
Um proxy reverso pode ser usado para garantir que um conjunto de URLs para AEM Forms em aplicativos da Web JEE esteja disponível para usuários externos e internos. Essa configuração é mais segura do que permitir que os usuários se conectem diretamente ao servidor de aplicativos no qual a AEM Forms no JEE está sendo executado. O proxy reverso executa todas as solicitações HTTP para o servidor de aplicativos que está executando o AEM Forms no JEE. Os usuários têm apenas acesso de rede ao proxy reverso e só podem tentar conexões de URL compatíveis com o proxy reverso.
URLs raiz do AEM Forms em JEE para uso com o servidor proxy reverso
Os seguintes URLs raiz do aplicativo para cada AEM Forms em um aplicativo da Web JEE. Você deve configurar seu proxy reverso somente para expor URLs para a funcionalidade do aplicativo da Web que deseja fornecer aos usuários finais.
Determinados URLs são destacados como aplicativos da Web voltados para o usuário final. Evite expor outros URLs para o Configuration Manager para acesso a usuários externos por meio do proxy reverso.
URL raiz |
Finalidade e/ou aplicação Web associada |
Interface baseada na Web |
Acesso do usuário final |
---|---|---|---|
/ReaderExtensions/* |
Acrobat Reader DC extende o aplicativo da Web do usuário final para aplicar direitos de uso a documentos PDF |
Sim |
Sim |
/edc/* |
Aplicativo Web de Rights Management |
Sim |
Sim |
/edcws/* |
URL do serviço Web para Rights Management |
Não |
Sim |
/pdfgui/* |
Aplicativo da Web de administração do Gerador de PDF |
Sim |
Sim |
/espaço de trabalho/* |
Aplicativo Web do usuário final do espaço de trabalho |
Sim |
Sim |
/workspace-server/* |
Servlets e serviços de dados da Workspace exigidos pelo aplicativo cliente Workspace |
Sim |
Sim |
/adobe-bootstrapper/* |
Servlet para carregamento automático do AEM Forms no repositório JEE |
Não |
Não |
/soap/* |
Página de informações para serviços da Web do servidor de formulários |
Não |
Não |
/soap/services/* |
URL do serviço Web para todos os serviços do servidor de formulários |
Não |
Não |
/edc/admin/* |
Aplicação Web de administração de Rights Management |
Sim |
Não |
/adminui/* |
Home page do Console de administração |
Sim |
Não |
/TruststoreComponent/ protegido/* |
Páginas de administração do Gerenciamento de Armazenamento de Confiança |
Sim |
Não |
/FormsIVS/* |
Aplicativo Forms IVS para teste e depuração de renderização de formulário |
Sim |
Não |
/OutputIVS/* |
Aplicativo IVS de saída para teste e depuração do serviço de saída |
Sim |
Não |
/rmws/* |
URL REST para Rights Management |
Não |
Sim |
/OutputAdmin/* |
Páginas de administração de saída |
Sim |
Não |
/FormServer/* |
Arquivos de aplicativos da Web Forms |
Sim |
Não |
/FormServer/GetImage Servlet |
Usado para buscar o JavaScript durante a transformação de HTML |
Não |
Não |
/FormServerAdmin/* |
Páginas de administração do Forms |
Sim |
Não |
/repository/* |
URL para acesso WebDAV (depuração) |
Sim |
Não |
/AACComponent/* |
Interface de usuário dos Aplicativos e Serviços |
Sim |
Não |
/WorkspaceAdmin/* |
Páginas de administração do espaço de trabalho |
Sim |
Não |
/rest/* |
Restaurar páginas de suporte |
Sim |
Não |
/CoreSystemConfig/* |
Página de configurações do AEM Forms on JEE Core Configuration |
Sim |
Não |
/um/ |
Autenticação do Gerenciamento de usuários |
Não |
Sim |
/um/* |
Interface de administração do Gerenciamento de usuários |
Sim |
Não |
/DocumentManager/* |
Upload e download de documentos que devem ser processados ao acessar pontos de extremidade remotos, pontos de extremidade WSDL SOAP e o SDK Java sobre transporte SOAP ou transporte EJB com documentos HTTP habilitados. |
Sim |
Sim |
Um ataque CSRF (Cross-Site Request Forgery) explora a confiança que um site tem para o usuário, para transmitir comandos que não são autorizados e não são intencionais pelo usuário. O ataque é configurado incluindo um link ou script em uma página da Web, ou um URL em uma mensagem de email para acessar outro site para o qual o usuário já foi autenticado.
Por exemplo, você pode estar conectado ao Console de administração enquanto navega simultaneamente em outro site. Uma das páginas da Web pode incluir uma tag de imagem HTML com um atributo src
que público alvo um script do lado do servidor no site da vítima. Ao aproveitar o mecanismo de autenticação de sessão com base em cookies fornecido pelos navegadores da Web, o site de ataque pode enviar solicitações mal-intencionadas para esse script do lado do servidor vítima, mascarando-se como o usuário legítimo. Para obter mais exemplos, consulte https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)#Examples.
As seguintes características são comuns ao QREF:
O AEM Forms no JEE usa o recurso Filtro de Quem indicou para bloquear ataques CSRF. Os termos a seguir são usados nesta seção para descrever o mecanismo de Filtragem de Quem indicou:
O processo de Filtragem de Quem indicou pode ser descrito da seguinte maneira:
O servidor de formulários verifica o método HTTP usado para a invocação:
O servidor de formulários verifica se o URI solicitado existe lista de permissões:
Se houver uma Quem indicou na solicitação, o servidor verificará se é uma Quem indicou permitida. Se for permitido, o servidor verifica se há uma Exceção de Quem indicou:
Se não houver Quem indicou na solicitação, o servidor verificará se uma Quem indicou Nula é permitida:
O AEM Forms em JEE fornece um Filtro de Quem indicou para especificar Quens indicou que têm acesso aos recursos do servidor. Por padrão, o filtro de Quem indicou não filtra solicitações que usam um método HTTP seguro, por exemplo, GET, a menos que CSRF_CHECK_GETS esteja definido como verdadeiro. Se o número da porta para uma entrada de Quem indicou permitida for definido como 0, o AEM Forms no JEE permitirá todas as solicitações com Quem indicou desse host, independentemente do número da porta. Se nenhum número de porta for especificado, somente as solicitações da porta padrão 80 (HTTP) ou da porta 443 (HTTPS) serão permitidas. A Filtragem de quem indicou é desativada se todas as entradas na lista de Quem indicou Permitida forem excluídas.
Quando você instala os Serviços de Documento pela primeira vez, a lista de Quem indicou permitida é atualizada com o endereço do servidor no qual os Serviços de Documento estão instalados. As entradas para o servidor incluem o nome do servidor, o endereço IPv4, o endereço IPv6 se IPv6 estiver ativado, o endereço de loopback e uma entrada de host local. Os nomes adicionados à lista de Quem indicou Permitida são retornados pelo sistema operacional Host. Por exemplo, um servidor com um endereço IP de 10.40.54.187 incluirá as seguintes entradas: https://server-name:0, https://10.40.54.187:0, https://127.0.0.1:0, http://localhost:0
. Para qualquer nome não qualificado retornado pelo sistema operacional Host (nomes que não têm endereço IPv4, endereço IPv6 ou nome de domínio qualificado) lista de permissões não é atualizada. Modifique a lista de Quem indicou permitida para adequá-la ao seu ambiente comercial. Não implante o servidor de formulários no ambiente de produção com a lista de Quem indicou permitida padrão. Depois de modificar qualquer Quem indicou, Exceções de Quem indicou ou URIs Permitidas, certifique-se de reiniciar o servidor para que as alterações entrem em vigor.
Gerenciando lista de Quem indicou permitida
Você pode gerenciar a lista de Quem indicou Permitida na Interface de Gerenciamento de Usuário do Console de Administração. A interface de gerenciamento de usuários oferece a funcionalidade de criar, editar ou excluir a lista. Consulte a seção * Prevenção de ataques CSRF* da ajuda administrativa para obter mais informações sobre como trabalhar com a lista de Quem indicou Permitida.
Gerenciando exceções de Quem indicou permitidas e listas de URI permitidas
A AEM Forms em JEE fornece APIs para gerenciar a lista de Exceção de Quem indicou Permitida e a lista de URI Permitida. Você pode usar essas APIs para recuperar, criar, editar ou excluir a lista. Veja a seguir uma lista de APIs disponíveis:
Consulte a* AEM Forms on JEE API Reference* para obter mais informações sobre as APIs.
Use a lista LC_GLOBAL_ALLOWED_REFERER_EXCEPTION para Exceções de Quem indicou Permitidas no nível global, isto é, para definir exceções que são aplicáveis a todos os aplicativos. Esta lista contém apenas URIs com um caminho absoluto (por exemplo, /index.html
) ou um caminho relativo (por exemplo, /sample/
). Também é possível anexar uma expressão regular ao final de um URI relativo, por exemplo, /sample/(.)*
.
A ID da lista LC_GLOBAL_ALLOWED_REFERER_EXCEPTION é definida como uma constante na classe UMConstants
da namespace com.adobe.idp.um.api
, encontrada em adobe-usermanager-client.jar
. Você pode usar as APIs do AEM Forms para criar, modificar ou editar essa lista. Por exemplo, para criar a lista Exceções de Quem indicou Permitidas Globais, use:
addAllowedRefererExceptions(UMConstants.LC_GLOBAL_ALLOWED_REFERER_EXCEPTION, Arrays.asList("/index.html", "/sample/(.)*"))
Use a lista CSRF_ALLOWED_REFERER_EXCEPTIONS para obter exceções específicas do aplicativo.
Desativação do filtro de Quem indicou
No evento em que o Filtro de Quem indicou bloqueia completamente o acesso ao servidor de formulários e não é possível editar a lista de Quem indicou Permitida, você pode atualizar o script de inicialização do servidor e desativar a Filtragem de Quem indicou.
Inclua o argumento -Dlc.um.csrffilter.disabled=true
JAVA no script de inicialização e reinicie o servidor. Certifique-se de excluir o argumento JAVA depois de reconfigurar apropriadamente a lista de Quem indicou Permitida.
Filtragem de quem indicou para arquivos WAR personalizados
Você pode ter criado arquivos WAR personalizados para trabalhar com a AEM Forms no JEE a fim de atender às suas necessidades comerciais. Para ativar a Filtragem de Quem indicou para seus arquivos WAR personalizados, inclua adobe-usermanager-client.jar no caminho de classe para a WAR e inclua uma entrada de filtro no arquivo* web.xml* com os seguintes parâmetros:
CSRF_CHECK_ GETScontrola a verificação de Quem indicou em solicitações de GET. Se esse parâmetro não estiver definido, o valor padrão será definido como false. Inclua esse parâmetro somente se desejar filtrar suas solicitações de GET.
CSRF_ALLOWED_REFERER_ EXCEPTIONSé a ID da lista de Exceções de Quem indicou Permitidas. O Filtro de Quem indicou impede que solicitações originárias de Quens indicou na lista identificada pela ID da lista cheguem a qualquer recurso no servidor de formulários.
CSRF_ALLOWED_URIS_LISTA_ NAME é a ID da lista de URIs permitidos. O Filtro de Quem indicou não bloqueia solicitações de nenhum dos recursos na lista identificada pela ID da lista, independentemente do valor do cabeçalho da Quem indicou na solicitação.
CSRF_ALLOW_NULL_ REFERERcontrola o comportamento do Filtro de Quem indicou quando a Quem indicou é nula ou não está presente. Se esse parâmetro não estiver definido, o valor padrão será definido como false. Inclua esse parâmetro somente se desejar permitir Quens indicou Nulas. A permissão de quens indicou nulas pode permitir alguns tipos de ataques de Permissão de Solicitação entre Sites.
CSRF_NULL_REFERER_ EXCEPTIONS é uma lista dos URIs para os quais uma verificação de Quem indicou não é realizada quando a Quem indicou é nula. Este parâmetro é ativado somente quando CSRF_ALLOW_NULL_REFERER está definido como falso. Separe vários URIs na lista com uma vírgula.
Veja a seguir um exemplo da entrada do filtro no arquivo web.xml para um arquivo SAMPLE WAR:
<filter>
<filter-name> filter-name </filter-name>
<filter-class> com.adobe.idp.um.auth.filter.RemoteCSRFFilter </filter-class>
<!-- default is false -->
<init-param>
<param-name> CSRF_ALLOW_NULL_REFERER </param-name>
<param-value> false </param-value>
</init-param>
<!-- default is false -->
<init-param>
<param-name> CSRF_CHECK_GETS </param-name>
<param-value> true </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_NULL_REFERER_EXCEPTIONS </param-name>
<param-value> /SAMPLE/login, /SAMPLE/logout </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_ALLOWED_REFERER_EXCEPTIONS </param-name>
<param-value> SAMPLE_ALLOWED_REF_EXP_ID </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_ALLOWED_URIS_LIST_NAME </param-name>
<param-value> SAMPLE_ALLOWED_URI_LIST_ID </param-value>
</init-param>
</filter>
........
<filter-mapping>
<filter-name> filter-name </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Resolução de Problemas
Se as solicitações legítimas do servidor estiverem sendo bloqueadas pelo filtro CSRF, tente uma das seguintes opções:
Esta seção descreve os protocolos e portas exigidos pela AEM Forms no JEE e fornece recomendações para a implantação do AEM Forms no JEE em uma configuração de rede segura.
Quando você configura uma arquitetura de rede segura conforme descrito na seção anterior, os seguintes protocolos de rede são necessários para a interação entre a AEM Forms no JEE e outros sistemas em sua rede corporativa.
Protocolo |
Uso |
---|---|
HTTP |
|
SOAP |
|
RMI |
Chamadas do AEM Forms no JEE SDK quando usadas no modo Enterprise JavaBeans (EJB) |
IMAP / POP3 |
|
E/S de arquivo UNC |
Monitoramento do AEM Forms em JEE de pastas monitoradas para entrada em um serviço (ponto de extremidade de pasta monitorada) |
LDAP |
|
JDBC |
|
WebDAV |
Permite a navegação remota do AEM Forms no repositório em tempo de design JEE (formulários, fragmentos etc.) por qualquer cliente WebDAV |
AMF |
aplicativos de Flash Adobe, nos quais os serviços de servidor AEM Forms em JEE são configurados com um terminal Remoting |
JMX |
AEM Forms em JEE expõe MBeans para monitoramento usando JMX |
Esta seção descreve as portas padrão (e intervalos de configuração alternativos) para cada tipo de servidor de aplicativos suportado. Essas portas devem ser ativadas ou desativadas no firewall interno, dependendo da funcionalidade de rede que você deseja permitir para clientes que se conectam ao servidor de aplicativos que executa o AEM Forms no JEE.
Por padrão, o servidor expõe vários MBeans JMX na namespace adobe.com. Somente as informações úteis para o monitoramento de integridade do servidor são expostas. No entanto, para impedir a divulgação de informações, você deve impedir que os chamadores em uma rede não confiável pesquisem MBeans JMX e acessem métricas de integridade.
Portas JBoss
Propósito |
Porta |
---|---|
Acesso a aplicativos da Web |
[JBOSS_Root]/standalone/configuration/lc_[database].xml Porta do conector HTTP/1.1 8080 Porta do conector AJP 1.3 8009 Porta do conector SSL/TLS 8443 |
Suporte CORBA |
[Raiz JBoss]/server/all/conf/jacorb.properties OAPort 3528 OASSLPort 3529 |
Portas WebLogic
Propósito |
Porta |
---|---|
Acesso a aplicativos da Web |
|
As portas de administração WebLogic não são necessárias para acesso ao AEM Forms no JEE |
|
Portas WebSphere
Para obter informações sobre portas WebSphere exigidas pela AEM Forms em JEE, vá para a configuração de número de porta na interface do usuário do WebSphere Application Server.
Referindo-se à arquitetura física descrita na seção AEM Forms sobre arquitetura física JEE, você deve configurar o SSL para todas as conexões que planeja usar. Especificamente, todas as conexões SOAP devem ser conduzidas por SSL para evitar a exposição das credenciais do usuário em uma rede.
Para obter instruções sobre como configurar o SSL em JBoss, WebLogic e WebSphere, consulte "Configuração do SSL" na ajuda de administração.
Para obter instruções sobre como importar certificados para JVM (Java Virtual Machine) configurado para um servidor AEM Forms, consulte a seção Autenticação mútua em Ajuda do AEM Forms Workbench.
Depois de configurar seu servidor de aplicativos para suportar SSL, você deve garantir que todo o tráfego HTTP para aplicativos e serviços seja forçado a usar a porta SSL.
Para configurar o redirecionamento SSL para WebSphere ou WebLogic, consulte a documentação do servidor de aplicativos.
Abra o prompt de comando, navegue até o diretório /JBOSS_HOME/standalone/configuration e execute o seguinte comando:
keytool -genkey -alias jboss7 -keyalg RSA -keystore server.keystore -validity 10950
Abra o arquivo JBOSS_HOME/standalone/configuration/standalone.xml para edição.
Depois do elemento <subsistema xmlns="urn:jensor:domain:web:1.1" native="false" default-virtual-server="default-host">, adicione os seguintes detalhes:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true" secure="true" />
Adicione o seguinte código no elemento do conector https:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true" enabled="true">
<ssl name="jboss7_ssl" key-alias="jboss71" password="Tibco321" certificate-key-file="../standalone/configuration/server.keystore" protocol="TLSv1"/>
</connector>
Salve e feche o arquivo standalone.xml.
Esta seção contém recomendações de segurança específicas ao Windows quando usadas para executar o AEM Forms no JEE.
A instalação chave na mão do AEM Forms em JEE configura uma conta de serviço, por padrão, usando a conta Sistema local. A conta de utilizador integrada da rede local tem um elevado nível de acessibilidade; faz parte do grupo Administradores. Se uma identidade de processo de trabalho for executada como a conta de usuário do Sistema local, esse processo de trabalho terá acesso total ao sistema inteiro.
No Microsoft Management Console (MMC), crie um usuário local para que o serviço do servidor de formulários faça logon como:
Selecione Configurações > Ferramentas administrativas > Serviços.
Duplo clique no serviço do servidor de aplicativos e pare o serviço.
Na guia Iniciar Sessão, selecione Esta Conta, procure a conta de utilizador que criou e introduza a senha da conta.
Na janela Configurações de segurança local, em Atribuição de direitos de usuário, atribua os seguintes direitos à conta de usuário na qual o servidor de formulários está sendo executado:
Atribua à nova conta de usuário permissões de modificação nos seguintes diretórios:
[JBoss root]/server/[type]/svcnative/DocumentStorage
[AEM-Forms-installation-location]\crx-repository
Atribua à nova conta de usuário permissões de gravação nos seguintes diretórios:
O local de instalação padrão do JBoss Application Server:
Start do serviço do servidor de aplicativos.
A AEM Forms no JEE usa o sistema de arquivos das seguintes maneiras:
Ao usar pastas monitoradas como uma forma de enviar e receber documentos com um serviço de servidor de formulários, tome precauções extras com a segurança do sistema de arquivos. Quando um usuário solta o conteúdo na pasta assistida, ele é exposto pela pasta assistida. Nesse caso, o serviço não autentica o usuário final real. Em vez disso, ele depende da segurança de nível de ACL e Compartilhamento para ser definida no nível da pasta para determinar quem pode chamar efetivamente o serviço.
Esta seção contém recomendações de configuração do servidor de aplicativos que são específicas ao JBoss 7.0.6 quando usado para executar o AEM Forms no JEE.
O acesso ao console de gerenciamento JBoss e ao console JMX já está configurado (o monitoramento JMX está desativado) quando você instala o AEM Forms no JEE no JBoss usando o método de instalação chave na mão. Se você estiver usando seu próprio JBoss Application Server, verifique se o acesso ao console de gerenciamento JBoss e ao console de monitoramento JMX estão protegidos. O acesso ao console de monitoramento JMX é definido no arquivo de configuração JBoss chamado jmx-invoker-service.xml.
Depois de fazer logon no Console de administração, é possível navegar na lista de diretórios do console modificando o URL. Por exemplo, se você alterar o URL para um dos seguintes URLs, uma listagem de diretório poderá ser exibida:
https://<servername>:8080/adminui/secured/
https://<servername>:8080/um/
Esta seção contém recomendações de configuração do servidor de aplicativos para proteger o WebLogic 9.1 ao executar o AEM Forms no JEE.
Defina as propriedades de diretórios de índice no arquivo weblogic.xml como false
, como mostra este exemplo:
<container-descriptor>
<index-directory-enabled>false
</index-directory-enabled>
</container-descriptor>
Por padrão, o WebLogic não ativa a Porta de escuta SSL padrão, 7002. Ative esta porta no Console de Administração do WebLogic Server antes de configurar o SSL.
Esta seção contém recomendações de configuração do servidor de aplicativos para proteger o WebSphere executando o AEM Forms no JEE.
Defina a propriedade directoryBrowsingEnabled
no arquivo ibm-web-ext.xml como false
.