Depois de instalar o mTLS da Apigee em todos os nós do cluster, você
precisa configurar e inicializar o componente apigee-mtls
. Para isso, gere uma
certificado/chave e atualizando o
de configuração do Terraform na sua máquina de administração. Em seguida, você implanta
os mesmos arquivos gerados e o mesmo arquivo de configuração para todos os nós no cluster e inicializa o servidor local
Componente apigee-mtls
.
Configurar apigee-mtls (após a instalação inicial)
Nesta seção, descrevemos como configurar o mTLS da Apigee logo após a instalação inicial. Para mais informações sobre como atualizar um instalação atual do mTLS da Apigee, consulte Alterar um apigee-mtls atual da Apigee configuração.
Esta seção se aplica a instalações em um único data center. Para informações sobre como configurar o mTLS da Apigee em uma configuração de vários data centers, consulte Configure vários data centers para o mTLS da Apigee.
O processo geral de configuração do apigee-mtls
é o seguinte:
- Atualize o arquivo de configuração:no
máquina de administração, atualize o arquivo de configuração para incluir o
apigee-mtls
configurações. - Instalar o Consul e gerar credenciais: instalar
Consul e, como opção, use-o para gerar credenciais TLS (apenas uma vez).
Além disso, edite o arquivo de configuração mTLS da Apigee para:
- Adicionar as informações de credenciais
- Definir a topologia do cluster
É possível usar suas credenciais ou gere-as com o Consul.
- Distribua as credenciais e o arquivo de configuração: Distribuir o mesmo par de certificado/chave gerado e o arquivo de configuração atualizado para todos os nós no cluster.
- Initialize apigee-mtls:inicialize o
Componente
apigee-mtls
em cada nó.
Cada uma dessas etapas é descrita nas seções a seguir.
Etapa 1: atualizar o arquivo de configuração
Esta seção descreve como modificar seu arquivo de configuração para incluir a configuração mTLS propriedades. Para mais informações gerais sobre o arquivo de configuração, consulte Como criar uma configuração arquivo.
Depois de atualizar o arquivo de configuração com as propriedades relacionadas ao mTLS, copie-o para
todos os nós do cluster antes de inicializar o componente apigee-mtls
nessas
nós.
Para atualizar o arquivo de configuração:
- No computador de administração, abra o arquivo de configuração para edição.
- Copie o seguinte conjunto de propriedades de configuração de mTLS e cole na configuração
arquivo:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS" TLS_MIN_VERSION="tls12" TLS_CIPHER_SUITES="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
Defina o valor de cada propriedade de acordo com sua configuração.
A tabela a seguir descreve essas propriedades de configuração:
Propriedade Descrição ALL_IP
Uma lista separada por espaços dos endereços IP de host particular de todos os nós no cluster. A ordem dos endereços IP não importa, mas deve ser a mesma em todas de configuração do Terraform em todo o cluster.
Se você configurar o mTLS da Apigee para vários data centers, liste endereços IP de todos os hosts em todas as regiões.
LDAP_MTLS_HOSTS
O endereço IP do host particular do nó do OpenLDAP no cluster. ZK_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particulares em que os nós do ZooKeeper estão hospedados no cluster.
Com base nos requisitos, é necessário pelo menos três nós do ZooKeeper.
CASS_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particular em que os servidores do Cassandra estão hospedados no cluster. PG_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particular em que os servidores Postgres estão hospedados no cluster. RT_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts privados em que os roteadores estão hospedados aglomerado. MTLS_ENCAPSULATE_LDAP
Criptografa tráfego LDAP entre o processador de mensagens e o servidor LDAP. Definir como y
:MS_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts particulares em que os nós do servidor de gerenciamento estão hospedados no cluster. MP_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host privados em que os processadores de mensagens estão hospedados no cluster. QP_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts privados em que os servidores Qpid estão hospedados no cluster. ENABLE_SIDECAR_PROXY
Determina se o Cassandra e o Postgres devem reconhecer a malha de serviço. Você deve definir esse valor como "y".
ENCRYPT_DATA
A chave de criptografia codificada em base64 usada pelo Consul. Você gerou essa chave usando consul keygen
na Etapa 2: instalar o Consul e gerar credenciais.Esse valor precisa ser o mesmo em todos os nós do cluster.
PATH_TO_CA_CERT
O local do arquivo de certificado no nó. Você gerou este arquivo em Etapa 2: instalar o Consul e gerar credenciais. Esse local deve ser o mesmo em todos os nós do cluster para que os arquivos de configuração são os mesmos.
O certificado precisa ser codificado em X509v3.
PATH_TO_CA_KEY
O local do arquivo de chave no nó. Você gerou este arquivo em Etapa 2: instalar o Consul e gerar credenciais. Esse local deve ser o mesmo em todos os nós do cluster para que os arquivos de configuração são os mesmos.
O arquivo de chave precisa ser codificado em X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
O número de dias que um certificado é válido quando você gerar um certificado personalizado.
O valor padrão é 365. O valor máximo é de 7.865 dias (5 anos).
TLS_MIN_VERSION
Especifica a versão de TLS mínima permitida. Defina como tls12
para aplicar um mínimo de TLS 1.2.TLS_CIPHER_SUITES
Uma lista separada por vírgulas de pacotes de criptografia TLS permitidos. Por exemplo:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Além das propriedades listadas acima, o mTLS da Apigee usa várias outras propriedades ao instalá-lo em uma configuração de vários data centers. Para mais informações, consulte Configurar vários data centers.
- Confira se
ENABLE_SIDECAR_PROXY
está definido como "y". - Atualize os endereços IP nas propriedades relacionadas ao host. Use o parâmetro
endereços IP privados quando se referirem a cada nó, não ao endereço IP público
usando os endereços IP internos.
Nas etapas posteriores, você definirá os valores de outras propriedades, como
ENCRYPT_DATA
,PATH_TO_CA_CERT
ePATH_TO_CA_KEY
. Você ainda não definiram seus valores.Ao editar as propriedades de configuração do
apigee-mtls
, observe o seguinte:- Todas as propriedades são strings. você precisa unir os valores de todas as propriedades em single ou double aspas.
- Se um valor relacionado ao host tiver mais de um endereço IP particular, separe cada endereço IP com um espaço.
- Use endereços IP particulares e não nomes de host ou endereços IP públicos para todos os endereços IP no arquivo de configuração.
- A ordem dos endereços IP em um valor de propriedade deve estar na mesma ordem em todos de configuração do Terraform em todo o cluster.
- Salve suas alterações no arquivo de configuração.
Etapa 2: instalar o Consul e gerar credenciais
Esta seção descreve como instalar o Consul e gerar as credenciais que são usadas pelo componentes habilitados para mTLS.
Escolha um dos seguintes métodos para gerar as credenciais:
- (Recomendado) Crie sua própria autoridade de certificação (CA) usando o Consul, conforme descrito neste seção
- Usar as credenciais de uma AC atual com o mTLS da Apigee (avançado)
Sobre as credenciais
As credenciais consistem no seguinte:
- Certificado:o certificado TLS
- Chave:a chave pública TLS.
- Mensagem de fofoca:uma chave de criptografia codificada em base64.
Você gera uma única versão de cada um desses arquivos apenas uma vez. Depois, copie a chave e o certificado a todos os nós do cluster e adicionar a chave de criptografia ao arquivo de configuração que que também é copiado para todos os nós.
Para mais informações sobre a implementação da criptografia do Consul, acesse:
Instalar o Consul e gerar credenciais
Gerar credenciais que o mTLS da Apigee usa para para autenticar comunicações seguras entre os nós do cluster de nuvem privada, use um Binário Consul . Como resultado, precisa instalar o Consul na sua máquina de administração para poder gerar credenciais.
Para instalar o Consul e gerar credenciais mTLS:
- Na máquina de administração, faça o download do binário do Consul 1.8.0 no Site HashiCorp.
- Extraia o conteúdo do arquivo transferido por download. Por exemplo, extraia o conteúdo para
/opt/consul/
: - Na máquina de administração, crie uma nova autoridade certificadora (CA) executando o
seguinte comando:
/opt/consul/consul tls ca create
O Consul cria os seguintes arquivos, que formam um par de certificado/chave:
consul-agent-ca.pem
(certificado)consul-agent-ca-key.pem
(chave)
Por padrão, os arquivos de certificado e de chave são codificados em X509v3.
Depois, você copiará esses arquivos para todos os nós no cluster. No entanto, você precisa decida apenas onde nos nós você colocará esses arquivos. Eles devem estar no mesmo em cada nó. Por exemplo,
/opt/apigee/
. - No arquivo de configuração, defina o valor de
PATH_TO_CA_CERT
como o local como em que você vai copiar o arquivoconsul-agent-ca.pem
no nó. Por exemplo:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Defina o valor de
PATH_TO_CA_KEY
como o local para onde o arquivo será copiado.consul-agent-ca-key.pem
no nó. Por exemplo:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Crie uma chave de criptografia para o Consul executando o seguinte comando:
/opt/consul/consul keygen
O Consul gera uma string aleatória, parecida com esta:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copie e defina a string gerada como o valor da propriedade
ENCRYPT_DATA
. no arquivo de configuração. Por exemplo:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Salve o arquivo de configuração.
O exemplo a seguir mostra as configurações relacionadas ao mTLS em um arquivo de configuração (com exemplos de valor):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Etapa 3: distribuir o arquivo de configuração e as credenciais
Copie os arquivos a seguir para todos os nós usando uma ferramenta como scp
:
- Arquivo de configuração:copie a versão atualizada deste arquivo e substitua as versão atual em todos os nós (não apenas nos nós que executam o ZooKeeper).
- consul-agent-ca.pem::copie para o local especificado como o valor de
PATH_TO_CA_CERT
no arquivo de configuração. - consul-agent-ca-key.pem::copie para o local especificado como o valor de
PATH_TO_CA_KEY
no arquivo de configuração.
Verifique se os locais para os quais você copiou o certificado e os arquivos de chave correspondem aos valores que você definido no arquivo de configuração na Etapa 2: instalar o Consul e gerar credenciais.
Etapa 4: inicializar a Apigee-mtls
Depois de instalar apigee-mtls
em cada nó, atualizar o arquivo de configuração e
tiver copiado o arquivo e as credenciais para todos os nós do cluster,
Componente apigee-mtls
em cada nó.
Para inicializar apigee-mtls:
- Faça login em um nó do cluster como usuário raiz. É possível executar essas etapas nos nós do na ordem que você quiser.
- Torne o usuário
apigee:apigee
o proprietário do arquivo de configuração atualizado, conforme o exemplo a seguir mostra:chown apigee:apigee config_file
- Configure o componente
apigee-mtls
executando o seguinte comando:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Opcional) Execute o seguinte comando para verificar se a configuração foi concluída:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Inicie o mTLS da Apigee executando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Após instalar o mTLS da Apigee, inicie esse componente antes de qualquer outro no nó.
- (Somente nós do Cassandra) O Cassandra exige argumentos adicionais para funcionar na
e da rede mesh de segurança. Como resultado, você precisa executar os seguintes comandos em cada nó do Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- (Somente nós do Postgres) O Postgres exige argumentos adicionais para funcionar no
e da rede mesh de segurança. Como resultado, você precisa fazer o seguinte nos nós do Postgres:
(Apenas principais)
- Execute os seguintes comandos no nó principal do Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(Apenas em espera)
- Faça backup dos seus dados do Postgres. Para instalar o mTLS da Apigee, reinicialize o nó primário/de espera, então haverá perda de dados. Para mais informações, consulte Configure a replicação primária/em espera para Postgres.
- Excluir todos os dados do Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configure e reinicie o Postgres, conforme o exemplo a seguir:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Se você estiver instalando em uma topologia de vários data centers, use um caminho absoluto para o de configuração do Terraform.
- Execute os seguintes comandos no nó principal do Postgres:
- Inicie os componentes restantes da Apigee no nó na
pedido de início, como o
o exemplo a seguir mostra:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Repita esse processo para cada nó do cluster.
- (Opcional) Verifique se a inicialização do
apigee-mtls
foi concluída com um ou mais dos seguintes métodos:- Validar a configuração do iptables
- Verificar o status do proxy remoto
- Verificar o status de quórum
Cada um desses métodos é descrito em Verifique do Terraform.
Alterar uma configuração atual da apigee-mtls
Para personalizar uma configuração do apigee-mtls
, desinstale e
reinstale o apigee-mtls
. Você também deve aplicar sua personalização em todas
nós.
Para reforçar esse ponto, ao alterar uma configuração mTLS da Apigee:
- Se você mudar um arquivo de configuração, primeiro desinstale o
apigee-mtls
e Executesetup
ouconfigure
novamente:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- É necessário desinstalar e executar novamente
setup
ouconfigure
em todos os nós da e não apenas um nó.