Code Monkey home page Code Monkey logo

trabalhoredesii's Introduction

Trabalho de Redes II

UFSC 2023/2

Professor Gerson Luiz Camillo

Participantes: Everton, Marcos, Vitória

SUMÁRIO

1 - Multifatorial (MFA)
2 - Grupos
2.1 - Grupo dos Gerentes
2.2 - Grupo Cebola
3 - Instância utilizada
4 - Chaves pública/privada
5 - Patches
6 - Instalação Apache2
6.1 - Criação da CA
7 - Configuração no firewall
7.1 - Configuração no firewall da instância
8 - Restrições de acessos
8.1 - Problemas
9 - Controle MAC
10 - Escolha das técnicas de segurança
11 - Logs do servidor
11.1 - Logs Apache
12 - Protocolo NTP

1 - MFA


Captura-de-tela-de-2023-10-07-12-33-52

VOLTAR

Questão 2

Responsável: Marcos.
Como montar grupos


VOLTAR

2 - Grupos

Responsável: Marcos.

Captura-de-tela-de-2023-10-06-11-43-35


VOLTAR

2.1 - Grupo de Gerentes

Responsável: Marcos.

Captura-de-tela-de-2023-11-06-08-07-51 Captura-de-tela-de-2023-10-10-18-51-14 Captura-de-tela-de-2023-10-10-18-51-24


VOLTAR

2.2 - Grupo Cebola

Responsável: Marcos.

Captura-de-tela-de-2023-11-06-08-10-02 Captura-de-tela-de-2023-10-10-18-54-44 Captura-de-tela-de-2023-10-10-18-54-56
VOLTAR

3 - Instancia utilizada


Captura-de-tela-de-2023-11-19-21-38-35

O Sistema Operacional escolhido foi o rock linux, devido ao seu código fonte ser o mesmo que o Red Hat. Um sistema robusto.

4 - Chaves pública/privada


Responsável: Marcos.

Repositório padrão para guardar as chaves: ~/.ssh

Foram criadas três chaves ssh, uma para cada membro da equipe.

Configuração para desabilitar o acesso do root no SSH:

Captura-de-tela-de-2023-12-05-12-51-59

Motivação para desativação do acesso root no SSH: Existem algumas motivações para que essa ação seja realizada, já adianto que todas voltadas à segurança e hardening. Alguns motivos:

Segurança: O acesso direto ao root via SSH pode, e geralmente é, um alvo atraente para ataques de força bruta. Desativar o acesso SSH para o usuário root aumenta a segurança, pois os invasores teriam que adivinhar não apenas a senha do root, mas também o nome de usuário correto para acessar o sistema; Erros acidentais: Limitar o acesso SSH para usuários nominais pode ajudar a prevenir erros acidentais cometidos por sysadmins. Ter que fazer login com uma conta de menor privilégio antes de usar privilégios administrativos pode fazer com que os administradores pensem duas vezes antes de realizar ações críticas;

VOLTAR

5 - Atualizado do Sevidor

print-da-1atualizacao-19-10-23

Instancia atualizada (06/12/2023 - 21H) atualizando-a-instancia-1 atualizando-a-instancia-2 Responsável: Everton
VOLTAR

6 - Instalação do Apache2


O Apache2 foi escolhido, principalmente, por ser um software de código aberto, ser estável e confiavél além de suportar protocolos variados(Como o HTTP e o HTTPS)

Captura-de-tela-2023-10-31-instalando-o-apache Captura-de-tela-2023-10-31-ativando-o-apache

VOLTAR

Chrony User padrão rodando


verificar-o-que-essa-porta-323

O Chrony é uma implementação de protocolos de sincronização de tempo, como o NTP, e é usado para garantir uma precisão adequada nos relógios de computadores em uma rede

Responsavel: Everton

6.1 - Criação da chave privada e certificado auto assinado

Material utilizado: https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/8/html/deploying_different_types_of_servers/configuring-tls-encryption-on-an-apache-http-server_setting-apache-http-server


Material para chave: https://docs.rockylinux.org/guides/security/ssl_keys_https/#generating-ssltls-keys


Criando o Certificado criando-certificado-https Certificado HTTPS certificado-https Criação da chave https chave-criada-https Habilitando o HTTP habilitando-o-httpd Chave privada criada chave-priv-de-assinar-o-certificado instalação do modulo SSL:
Captura-de-tela-de-2023-11-13-08-27-55
Responsáveis: Everton / Marcos

Criação do certificado SSL


Captura-de-tela-de-2023-11-17-13-02-40

Configuração do apache para ler o certificado SSL


https
VOLTAR

7 - Instalação Firewall


Imagem-do-Whats-App-de-2023-10-31-s-19-58-28-c441f7d3

Responsável: Vitória


VOLTAR

7.1 - Configuração do Firewall da infra


Responsável: Marcos.
firewall-Infra

As motivações para restringir o acesso a porta 22 e 80 da instância são:

Restrição de Acesso: Limitar o acesso à porta 22 e 80 apenas ao seu IP significa que somente você, ou quem estiver conectado a partir do seu endereço IP específico, terá permissão para acessar o servidor via SSH. Isso reduz a superfície de ataque, tornando mais difícil para possíveis invasores tentarem ganhar acesso não autorizado.

Princípio do Privilégio Mínimo: Conceder acesso somente a partir de endereços IP específicos reduz o risco de acesso não autorizado, uma vez que apenas dispositivos confiáveis podem se conectar.

Proteção contra Ataques de Força Bruta: Limitar o acesso à porta 22 e 80 reduz a exposição a ataques de força bruta, nos quais um atacante tenta adivinhar a senha/chave privada ao tentar várias combinações. Ao restringir o acesso apenas ao seu IP, você reduz as oportunidades para esses ataques, tornando-os menos eficazes.

Monitoramento Simplificado: Ao permitir o acesso somente a partir de um conjunto específico de endereços IP, o monitoramento de atividades suspeitas torna-se mais fácil. Se há tentativas de acesso de IPs não autorizados, isso pode indicar uma possível ameaça ou atividade maliciosa.


VOLTAR

8 - MAC (Controle de acesso mandatório - SELinux)

8.1 - Problema para ativar SELinux


Captura-de-tela-de-2023-11-12-16-18-21

Tutorial seguido:


https://docs.rockylinux.org/guides/security/learning_selinux/#operating-modes


Correções aplicadas diretamente no GRUB2, foi necessário editar o arquivo de boot para o SELinux ser carregado no sistema. Após este passo o SELinux bloqueou as conexões SSH na porta 22.


SELinux
Material utilizado: https://docs.fedoraproject.org/en-US/quick-docs/grub2-bootloader

Para resolver o bloqueio da porta 22, foi utilizado o CLI da azure com o seguinte script:


az vm run-command invoke \
--resource-group RockLinux_group \
--name RockLinux \
--command-id RunShellScript \
--scripts "setenforce 0"


O SELinux (Security-Enhanced Linux) é um conjunto de extensões de segurança para o kernel Linux que fornece um sistema avançado de controle de acesso obrigatório (MAC). A implementação do SELinux oferece várias vantagens em termos de segurança, e suas motivações incluem:

Controle Acesso: O SELinux permite um controle muito grande sobre os acessos dos processos aos recursos do sistema. Ele vai além das permissões tradicionais de usuário e grupo, permitindo especificar políticas de acesso para processos individuais, arquivos e recursos do sistema.

Princípio do Privilégio Mínimo: Assim como a restrição de acesso no firewall, o SELinux adere ao princípio do privilégio mínimo. Ele ajuda a limitar os privilégios concedidos a processos e usuários, reduzindo assim a superfície de ataque e minimizando o impacto de possíveis falhas de segurança.

Prevenção de Exploração de Vulnerabilidades: O SELinux pode ajudar a prevenir a exploração de vulnerabilidades de segurança ao restringir as ações que processos comprometidos podem realizar. Isso dificulta a movimentação lateral de ataques, pois os invasores teriam que contornar as políticas de segurança do SELinux.

Proteção contra Escalação de Privilégios: O SELinux desempenha um papel crucial na prevenção de escalonamento de privilégios. Mesmo se um invasor ganhar acesso inicial a um sistema, o SELinux pode limitar suas capacidades e impedir que ele aumente seus privilégios.

Reforço da Segurança em Ambientes Compartilhados: Em ambientes onde vários usuários compartilham recursos do sistema, como servidores de hospedagem web compartilhados, o SELinux pode ser essencial para isolar os processos e garantir que cada usuário tenha apenas acesso aos recursos permitidos.

Auditoria Avançada: O SELinux oferece recursos avançados de auditoria que permitem rastrear e analisar atividades suspeitas ou maliciosas no sistema. Isso é valioso para a detecção de ameaças e investigações de segurança. Em resumo, o SELinux é motivado por um foco aprimorado na segurança, proporcionando um nível mais elevado de controle e proteção contra ameaças e explorações de segurança.


VOLTAR

9 - Técnicas

Foi escolhido junto com o professor as seguintes técnicas de segurança do CIS:

5.6 Ensure the Default CGI Content test-cgi Script Is Removed (Automated)
Este item garante que o script de teste CGI padrão 'test-cgi' seja removido do ambiente Apache.
Os scripts de teste CGI, como o test-cgi, são geralmente fornecidos como exemplos para demonstrar a funcionalidade do servidor web, mas podem representar riscos de segurança significativos se não forem removidos ou desabilitados em ambientes de produção.
As principais preocupações são: revelação de informações sensíveis, potencial para exploração, ameaças contra a integridade e confidencialidade...


5.7 Ensure HTTP Request Methods Are Restricted (Automated)
Este tópico visa restringir os métodos de solicitação HTTP desnecessários em um servidor Apache. O objetivo é permitir apenas os métodos GET, HEAD, POST e OPTIONS.
motivação para tal restrição: PUT e DELETE são considerados de alto risco e raramente usados, ou seja, devem ser desativados.


5.8 Ensure the HTTP TRACE Method Is Disabled (Automated) (implementação bônus)
Esse tópico explorado visa desabilitar o método HTTP TRACE no servidor Apache no Red Hat.
O método TRACE, destinado a fins de diagnóstico, não é necessário e é suscetível a abusos, portanto, deve ser desativado por questões de segurança.


Comprovação da pasta onde contém os scripts limpa:
CIS

Comprovação da implementação:
http
https
VOLTAR

Logsss

Tópico "A" 30 Primeiros Logins de Autenticação

30pri-logns

Tópico "B" Logs de Acesso do Servidor WEB

trabalhoredesii's People

Contributors

marcosaru avatar everton-21 avatar vitoria-raupp avatar

Stargazers

iudi avatar Marcos Gonçalves Teixeira(Git-Educacional) avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.