

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Acesse um bastion host usando o Session Manager e o Amazon EC2 Instance Connect
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect"></a>

*Piotr Chotkowski e Witold Kowalik, Amazon Web Services*

## Resumo
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-summary"></a>

Um *bastion host*, às vezes chamado de *jump box*, é um servidor que fornece um único ponto de acesso de uma rede externa aos recursos localizados em uma rede privada. Um servidor exposto a uma rede pública externa, como a Internet, representa um potencial risco de segurança para acesso não autorizado. É importante proteger e controlar o acesso a esses servidores.

Esse padrão descreve como você pode usar o [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) e o [Amazon EC2 Instance Connect para se conectar](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html) com segurança a um host bastion do Amazon Elastic Compute Cloud (Amazon EC2) implantado em seu. Conta da AWS O Gerenciador de Sessões é um recurso de AWS Systems Manager. Os benefícios desse padrão incluem:
+ O bastion host implantado não tem nenhuma porta de entrada aberta exposta à Internet pública. Isso reduz a superfície de ataque potencial.
+ Você não precisa armazenar e manter chaves Secure Shell (SSH) de longo prazo no seu Conta da AWS. Em vez disso, cada usuário gera um novo par de chaves SSH sempre que se conecta ao bastion host. AWS Identity and Access Management As políticas (IAM) anexadas às AWS credenciais do usuário controlam o acesso ao bastion host.

**Público-alvo**

Esse padrão é destinado a leitores com experiência com conhecimento básico da Amazon EC2, Amazon Virtual Private Cloud (Amazon VPC) e Hashicorp Terraform.

## Pré-requisitos e limitações
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ AWS Command Line Interface (AWS CLI) versão 2, [instalada](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) e [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+ Plugin do Gerenciador de Sessões para o AWS CLI, [instalado](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
+ CLI do Terraform, [instalado](https://developer.hashicorp.com/terraform/cli)
+ Armazenamento para o [estado](https://developer.hashicorp.com/terraform/language/state) do Terraform, como um bucket do Amazon Simple Storage Service (Amazon S3) e uma tabela do Amazon DynamoDB que serve como backend remoto para armazenar o estado do Terraform. Para obter mais informações sobre o uso de backends remotos para o estado do Terraform, consulte [Amazon S3 Backends](https://www.terraform.io/language/settings/backends/s3) (documentação do Terraform). Para uma amostra de código que configura o gerenciamento remoto do estado com um back-end do Amazon S3, consulte [remote-state-s3-back-end](https://registry.terraform.io/modules/nozaq/remote-state-s3-backend/aws/latest) (Terraform Registry). Observe os seguintes requisitos:
  + As tabelas do DynamoDB e do bucket do Amazon S3 devem estar na mesma Região da AWS.
  + Ao criar a tabela do DynamoDB, a chave de partição deve ser `LockID` (com distinção entre maiúsculas e minúsculas) e o tipo de chave de partição deve ser `String`. Todas as outras configurações devem estar em seus valores predefinidos. Para obter mais informações, consulte [Sobre chaves primárias](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) e [Criar uma tabela](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/getting-started-step-1.html) na documentação do DynamoDB.
+ Um SSH cliente, instalado

**Limitações**
+ Esse padrão serve como uma prova de conceito (PoC) ou como base para um maior desenvolvimento. Ele não deve ser usado na sua forma atual em ambientes de produção. Antes da implantação, ajuste o código de amostra no repositório para atender aos seus requisitos e ao seu caso de uso.
+ Esse padrão pressupõe que o bastion host de destino usa o Amazon Linux 2 como seu sistema operacional. Embora seja possível usar outras Amazon Machine Images (AMIs), outros sistemas operacionais estão fora do escopo desse padrão.
**nota**  
O Amazon Linux 2 está se aproximando do fim do suporte. Para obter mais informações, consulte o [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).
+ Nesse padrão, o bastion host está localizado em uma sub-rede privada sem um gateway NAT e um gateway da internet. Esse design isola a EC2 instância da Amazon da Internet pública. Você pode adicionar uma configuração de rede específica que permita a comunicação com a internet. Para obter mais informações, consulte [Conectar sua VPC a outras redes](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html) na documentação do Amazon VPC. Da mesma forma, seguindo o [princípio do privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), o host bastion não tem acesso a nenhum outro recurso em seu, a Conta da AWS menos que você conceda permissões explicitamente. Para obter mais informações, consulte [Políticas baseadas em recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) na documentação do IAM.

**Versões do produto**
+ AWS CLI versão 2
+ Terraform versão 1.3.9

## Arquitetura
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-architecture"></a>

**Pilha de tecnologias de destino**
+ Uma VPC com uma única sub-rede privada.
+ Os seguintes [endpoints da VPC de interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html):
  + `amazonaws.<region>.ssm`— O endpoint do AWS Systems Manager serviço.
  + `amazonaws.<region>.ec2messages`: o Systems Manager usa esse endpoint para fazer chamadas do SSM Agent para o serviço do Systems Manager.
  + `amazonaws.<region>.ssmmessages`— O Session Manager usa esse endpoint para se conectar à sua EC2 instância Amazon por meio de um canal de dados seguro.
+ Uma EC2 instância `t3.nano` da Amazon executando o Amazon Linux 2
+ Perfil do IAM de perfil de instância
+ Grupos de segurança da Amazon VPC e regras de grupos de segurança para os endpoints e a instância da Amazon EC2 

**Arquitetura de destino**

![\[Diagrama de arquitetura do uso do Session Manager para acessar um bastion host.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a02aed20-1852-4c91-902f-f553795006e2/images/819c503b-7eec-4a9c-862b-b87107d50dc1.png)


O diagrama mostra o seguinte processo:

1. O usuário assume um perfil do IAM que tem permissões para fazer o seguinte:
   + Autentique, autorize e conecte-se à instância da Amazon EC2 
   + Iniciar a sessão com o Session Manager

1. O usuário inicia uma sessão SSH por meio do Session Manager.

1. O Session Manager autentica o usuário, verifica as permissões nas políticas do IAM associadas, verifica as configurações e envia uma mensagem ao SSM Agent para abrir uma conexão bidirecional.

1. O usuário envia a chave pública SSH para o Bastion Host por meio de metadados da Amazon. EC2 Isso deve ser feito antes de cada conexão. A chave pública SSH permanece disponível por 60 segundos.

1. O bastion host se comunica com os endpoints VPC da interface para Systems Manager e Amazon. EC2

1. O usuário acessa o bastion host por meio do Session Manager usando um canal de comunicação bidirecional criptografado TLS 1.2.

**Automação e escala**

As opções a seguir estão disponíveis para automatizar a implantação ou escalar essa arquitetura:
+ Você pode implantar a arquitetura por meio de um pipeline de integração contínua e entrega contínua (CI/CD).
+ Você pode modificar o código para alterar o tipo de instância do bastion host.
+ Você pode modificar o código para implantar vários bastion hosts. No arquivo `bastion-host/main.tf`, no bloco de recursos `aws_instance`, adicione o meta-argumento `count`. Para obter mais informações, consulte a [documentação do Terraform](https://developer.hashicorp.com/terraform/language/meta-arguments/count).

## Ferramentas
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-tools"></a>

**Serviços da AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) ajuda você a gerenciar suas aplicações e infraestrutura em execução na Nuvem AWS. Ele simplifica o gerenciamento de aplicativos e recursos, reduz o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus AWS recursos com segurança em grande escala. Esse padrão usa o [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), um atributo do Systems Manager.
+ [A Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

**Outras ferramentas**
+ O [HashiCorp Terraform](https://www.terraform.io/docs) é uma ferramenta de infraestrutura como código (IaC) que ajuda a provisionar e gerenciar recursos e infraestrutura de nuvem por meio de código. Esse padrão usa o [Terraform CLI](https://developer.hashicorp.com/terraform/cli).

**Repositório de código**

O código desse padrão está disponível no GitHub [Access a bastion host usando o Session Manager e o repositório Amazon EC2 Instance Connect](https://github.com/aws-samples/secured-bastion-host-terraform).

## Práticas recomendadas
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-best-practices"></a>
+ Recomendamos o uso de ferramentas automatizadas de verificação de código para melhorar a segurança e a qualidade do código. Esse padrão foi verificado usando o [Checkov](https://www.checkov.io/), uma ferramenta estática de análise de código para IaC. No mínimo, recomendamos que você execute verificações básicas de validação e formatação usando os comandos `terraform validate` e `terraform fmt -check -recursive` do Terraform.
+ É uma boa prática adicionar testes automatizados para IaC. Para obter mais informações sobre as diferentes abordagens para testar o código do Terraform, consulte [Testando o HashiCorp Terraform](https://www.hashicorp.com/blog/testing-hashicorp-terraform) (postagem no blog do Terraform).
+ Durante a implantação, o Terraform usa a EC2 instância substituta da Amazon sempre que uma nova versão do [Amazon Linux 2 AMI](https://aws.amazon.com/marketplace/pp/prodview-zc4x2k7vt6rpu?sr=0-1&ref_=beagle&applicationId=AWSMPContessa) é detectada. Isso implanta a nova versão do sistema operacional, incluindo patches e atualizações. Se a programação de implantação não for frequente, isso pode representar um risco de segurança porque a instância não tem os patches mais recentes. É importante atualizar e aplicar patches de segurança com frequência às EC2 instâncias implantadas da Amazon. Para obter mais informações, consulte [Gerenciamento de atualizações na Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/update-management.html).
+ Como esse padrão é uma prova de conceito, ele usa políticas AWS gerenciadas, como`AmazonSSMManagedInstanceCore`. AWS as políticas gerenciadas abrangem casos de uso comuns, mas não concedem permissões de privilégios mínimos. Conforme necessário para seu caso de uso, recomendamos que você crie políticas personalizadas que concedam permissões de privilégio mínimo para os recursos implantados nessa arquitetura. Para obter mais informações, consulte [Comece a usar políticas AWS gerenciadas e adote as permissões de privilégios mínimos](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-use-aws-defined-policies).
+ Use uma senha para proteger o acesso às chaves SSH e armazenar as chaves em um local seguro.
+ Configure o registro em log e o monitoramento do bastion host. O registro em log e o monitoramento são partes importantes da manutenção de sistemas, tanto do ponto de vista operacional quanto de segurança. Há várias maneiras de monitorar conexões e atividades em seu bastion host. Para obter mais informações, consulte os tópicos a seguir na documentação do Systems Manager.
  + [Monitoramento AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring.html)
  + [Registro e monitoramento em AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/logging-and-monitoring.html)
  + [Auditar a atividade da sessão](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-auditing.html)
  + [Registrar a atividade de sessão de registro em log](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-logging.html)

## Épicos
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-epics"></a>

### Implantar os recursos
<a name="deploy-the-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o repositório de códigos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps engenheiro, Desenvolvedor | 
| Iniciar o diretório de trabalho do Terraform. | Essa etapa é necessária somente para a primeira implantação. Se você estiver reimplantando o padrão, pule para a próxima etapa.No diretório raiz do repositório clonado, insira o seguinte comando, onde:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html)<pre>terraform init \<br />    -backend-config="bucket=$S3_STATE_BUCKET" \<br />    -backend-config="key=$PATH_TO_STATE_FILE" \<br />    -backend-config="region=$AWS_REGION</pre>Como alternativa, você pode abrir o arquivo **config.tf** e, na seção `terraform`, fornecer manualmente esses valores. | DevOps engenheiro, desenvolvedor, Terraform | 
| Implantar os recursos | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps engenheiro, desenvolvedor, Terraform | 

### Configurar o ambiente local
<a name="set-up-the-local-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure a conexão do SSH. | Atualize o arquivo de configuração do SSH para permitir conexões do SSH através do Session Manager. Para obter instruções, consulte [Permitir conexões do SSH para o Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html#ssh-connections-enable). Isso permite que usuários autorizados insiram um comando proxy que inicia uma sessão do Session Manager e transfere todos os dados por meio de uma conexão bidirecional. | DevOps engenheiro | 
| Gerar as chaves SSH. | Insira o seguinte comando para gerar um par de chaves SSH privadas e públicas locais. Use esse par de chaves para se conectar ao bastion host.<pre>ssh-keygen -t rsa -f my_key</pre> | DevOps engenheiro, Desenvolvedor | 

### Conecte-se ao bastion host usando o Session Manager
<a name="connect-to-the-bastion-host-by-using-sesh"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Obtenha o ID da instância. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | AWS geral | 
| Enviar a chave pública SSH. | Nesta seção, você carrega a chave pública para os [metadados da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) do bastion host. Depois que a chave for carregada, você terá 60 segundos para iniciar uma conexão com o bastion host. Após 60 segundos, a chave pública é removida. Para obter mais informações, consulte a seção [Solução de problemas](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-troubleshooting) desse padrão. Conclua as próximas etapas rapidamente para evitar que a chave seja removida antes de se conectar ao bastion host.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | AWS geral | 
| Conecte-se ao bastion host. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html)Existem outras opções para abrir uma conexão SSH com o bastion host. Para obter mais informações, consulte *Abordagens alternativas para estabelecer uma conexão SSH com o bastion host* na seção [Informações adicionais](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-additional) desse padrão. | AWS geral | 

### Limpar (opcional)
<a name="optional-clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova os recursos implantados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | DevOps engenheiro, desenvolvedor, Terraform | 

## Solução de problemas
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| erro `TargetNotConnected` ao tentar se conectar ao bastion host | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) | 
| erro `Permission denied` ao tentar se conectar ao bastion host | Depois que a chave for carregada aos bastion host, você terá 60 segundos para iniciar a conexão. Depois de 60 segundos, a chave é removida automaticamente e você não pode usá-la para se conectar à instância. Se isso ocorrer, você poderá repetir a etapa para reenviar a chave para a instância. | 

## Recursos relacionados
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-resources"></a>

**AWS documentação**
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) (documentação do Systems Manager)
+ [Instalar o plugin do Gerenciador de Sessões para a AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) (documentação do Gerenciador de Sessões)
+ [Permitindo conexões SSH para o Session Manager ](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html#ssh-connections-enable) (documentação do Systems Manager)
+ [Sobre o uso do EC2 Instance Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html) ( EC2 documentação da Amazon)
+ [Conecte-se usando o EC2 Instance Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html) ( EC2 documentação da Amazon)
+ [Gerenciamento de identidade e acesso para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam.html) ( EC2 documentação da Amazon)
+ [Usando uma função do IAM para conceder permissões a aplicativos executados em EC2 instâncias da Amazon](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) (documentação do IAM)
+ [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (documentação do IAM)
+ [Controlar o tráfego para recursos usando grupos de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) (documentação da Amazon VPC)

**Outros recursos**
+ [Página da web do Desenvolvedor do Terraform](https://developer.hashicorp.com/terraform)
+ [Comando: validar](https://developer.hashicorp.com/terraform/cli/commands/validate) (documentação do Terraform)
+ [Comando: fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) (documentação do Terraform)
+ [Testando o HashiCorp Terraform](https://www.hashicorp.com/blog/testing-hashicorp-terraform) (postagem HashiCorp no blog)
+ [Página da Web de Checkov](https://www.checkov.io/)

## Mais informações
<a name="access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-additional"></a>

**Abordagens alternativas para estabelecer uma conexão SSH com o bastion host**

*Encaminhamento de portas*

Você pode usar a opção `-D 8888` para abrir uma conexão SSH com encaminhamento dinâmico de portas. Para obter mais informações, consulte as [instruções](https://explainshell.com/explain?cmd=ssh+-i+%24PRIVATE_KEY_FILE+-D+8888+ec2-user%40%24INSTANCE_ID) em explainshell.com. Veja a seguir um exemplo de um comando para abrir uma conexão SSH usando o encaminhamento de porta.

```
ssh -i $PRIVATE_KEY_FILE -D 8888 ec2-user@$INSTANCE_ID
```

Esse tipo de conexão abre um proxy SOCKS que pode encaminhar o tráfego do seu navegador local por meio do bastion host. Se você estiver usando Linux ou macOS, insira `man ssh` para ver todas as opções. Isso exibe o manual de referência do SSH.

*Usando o script fornecido*

Em vez de executar manualmente as etapas descritas em *Conecte-se ao bastion host usando o Session Manager* na seção [Épicos](#access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect-epics), você pode usar o script **connect.sh** incluído no repositório de código. Esse script gera o par de chaves SSH, envia a chave pública para a EC2 instância da Amazon e inicia uma conexão com o host bastion. Ao executar o script, você passa a tag e o nome da chave como argumentos. Veja a seguir um exemplo do comando para executar o script.

```
./connect.sh sandbox-dev-bastion-host my_key
```