mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-06 04:34:31 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
+8
-7
@@ -4,17 +4,18 @@
|
||||
|
||||
## PodSecurityContext <a href="#podsecuritycontext-v1-core" id="podsecuritycontext-v1-core"></a>
|
||||
|
||||
[**Dos documentos:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core)
|
||||
[**Da documentação:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core)
|
||||
|
||||
Ao especificar o contexto de segurança de um Pod, você pode usar vários atributos. Do ponto de vista da segurança defensiva, você deve considerar:
|
||||
|
||||
- Ter **runASNonRoot** como **True**
|
||||
- Configurar **runAsUser**
|
||||
- Se possível, considere **limitar** **permissões** indicando **seLinuxOptions** e **seccompProfile**
|
||||
- **NÃO** conceda acesso ao **grupo** de **privilegiados** via **runAsGroup** e **supplementaryGroups**
|
||||
- **NÃO** conceda acesso ao **grupo** de **privilegio** via **runAsGroup** e **supplementaryGroups**
|
||||
|
||||
| Parâmetro | Descrição |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core"><strong>fsGroup</strong></a><br><em>inteiro</em></p> | <p>Um grupo suplementar especial que se aplica a <strong>todos os contêineres em um pod</strong>. Alguns tipos de volume permitem que o Kubelet <strong>mude a propriedade desse volume</strong> para ser de propriedade do pod:<br>1. O GID proprietário será o FSGroup<br>2. O bit setgid é definido (novos arquivos criados no volume serão de propriedade do FSGroup)<br>3. Os bits de permissão são OR'd com rw-rw---- Se não definido, o Kubelet não modificará a propriedade e permissões de nenhum volume</p> |
|
||||
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core"><strong>fsGroup</strong></a><br><em>inteiro</em></p> | <p>Um grupo suplementar especial que se aplica a <strong>todos os contêineres em um pod</strong>. Alguns tipos de volume permitem que o Kubelet <strong>mude a propriedade desse volume</strong> para ser de propriedade do pod:<br>1. O GID proprietário será o FSGroup<br>2. O bit setgid está definido (novos arquivos criados no volume serão de propriedade do FSGroup)<br>3. Os bits de permissão são OR'd com rw-rw---- Se não definido, o Kubelet não modificará a propriedade e permissões de nenhum volume</p> |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core"><strong>fsGroupChangePolicy</strong></a><br><em>string</em></p> | Isso define o comportamento de **mudança de propriedade e permissão do volume** antes de ser exposto dentro do Pod. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core"><strong>runAsGroup</strong></a><br><em>inteiro</em></p> | O **GID para executar o ponto de entrada do processo do contêiner**. Usa o padrão de tempo de execução se não definido. Pode também ser definido em SecurityContext. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core"><strong>runAsNonRoot</strong></a><br><em>booleano</em></p> | Indica que o contêiner deve ser executado como um usuário não-root. Se verdadeiro, o Kubelet validará a imagem em tempo de execução para garantir que não seja executada como UID 0 (root) e falhará ao iniciar o contêiner se o fizer. |
|
||||
@@ -27,7 +28,7 @@ Ao especificar o contexto de segurança de um Pod, você pode usar vários atrib
|
||||
|
||||
## SecurityContext
|
||||
|
||||
[**Dos documentos:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core)
|
||||
[**Da documentação:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core)
|
||||
|
||||
Este contexto é definido dentro das **definições de contêineres**. Do ponto de vista da segurança defensiva, você deve considerar:
|
||||
|
||||
@@ -37,14 +38,14 @@ Este contexto é definido dentro das **definições de contêineres**. Do ponto
|
||||
- Se possível, defina **readOnlyFilesystem** como **True**
|
||||
- Defina **runAsNonRoot** como **True** e defina um **runAsUser**
|
||||
- Se possível, considere **limitar** **permissões** indicando **seLinuxOptions** e **seccompProfile**
|
||||
- **NÃO** conceda acesso ao **grupo** de **privilegiados** via **runAsGroup.**
|
||||
- **NÃO** conceda acesso ao **grupo** de **privilegio** via **runAsGroup.**
|
||||
|
||||
Observe que os atributos definidos em **ambos SecurityContext e PodSecurityContext**, o valor especificado em **SecurityContext** tem **precedência**.
|
||||
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>allowPrivilegeEscalation</strong></a><br><em>booleano</em></p> | **AllowPrivilegeEscalation** controla se um processo pode **ganhar mais privilégios** do que seu processo pai. Este booleano controla diretamente se a flag no_new_privs será definida no processo do contêiner. AllowPrivilegeEscalation é sempre verdadeiro quando o contêiner é executado como **Privileged** ou tem **CAP_SYS_ADMIN** |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>capabilities</strong></a><br><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#capabilities-v1-core"><em>Capabilities</em></a><br><em>Mais informações sobre</em> <em><strong>Capabilities</strong></em></p> | As **capacidades a serem adicionadas/removidas ao executar contêineres**. Padrão para o conjunto padrão de capacidades. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>privileged</strong></a><br><em>booleano</em></p> | Executar contêiner em modo privilegiado. Processos em contêineres privilegiados são essencialmente **equivalentes ao root no host**. Padrão para falso. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>privileged</strong></a><br><em>booleano</em></p> | Executar contêiner em modo privilegiado. Processos em contêineres privilegiados são essencialmente **equivalentes ao root no host**. Padrão é falso. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>procMount</strong></a><br><em>string</em></p> | procMount denota o **tipo de montagem proc a ser usado para os contêineres**. O padrão é DefaultProcMount, que usa os padrões de tempo de execução do contêiner para caminhos somente leitura e caminhos mascarados. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>readOnlyRootFilesystem</strong></a><br><em>booleano</em></p> | Se este **contêiner tem um sistema de arquivos raiz somente leitura**. O padrão é falso. |
|
||||
| <p><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core"><strong>runAsGroup</strong></a><br><em>inteiro</em></p> | O **GID para executar o ponto de entrada** do processo do contêiner. Usa o padrão de tempo de execução se não definido. |
|
||||
|
||||
Reference in New Issue
Block a user