GITHUB BLOG
Ecole42 Born2beroot
Born2BeRoot
Este projeto faz parte do currículo da 42 São Paulo e tem como objetivo principal configurar um sistema Linux de forma segura e restrita, aplicando boas práticas de administração de sistemas. A proposta é que o estudante configure o ambiente apenas com privilégios de root quando necessário, garantindo segurança, controle de acessos e conformidade com requisitos definidos.
📚 Objetivo
O Born2BeRoot ensina na prática conceitos fundamentais de administração de sistemas Linux, incluindo:
- Gerenciamento de usuários e grupos
- Configuração de segurança de senha e login
- Controle de permissões
- Ajustes em arquivos críticos do sistema
- Aplicação de políticas de segurança
- Restrições de acesso físico e remoto
Ao final, o sistema estará configurado para seguir padrões rigorosos de segurança.
⚙️ Estrutura do Projeto
Abaixo estão descritas as principais configurações abordadas no projeto.
1️⃣ sudo e sudoers
O sudo permite que usuários executem comandos com privilégios de superusuário, mas apenas conforme regras predefinidas no arquivo /etc/sudoers.d/sudo_config.
No Born2BeRoot, a configuração do sudo inclui:
- Criação e atribuição de usuários/grupos específicos com permissões controladas
- Configuração do sudoers para:
- Restringir comandos que podem ser executados
- Ativar logs detalhados de uso do
sudo - Definir tempo de expiração da sessão de privilégios
📄 Arquivo relevante: /etc/sudoers.d/sudo_config:
2️⃣ login.defs
O arquivo /etc/login.defs define padrões e restrições para criação e gerenciamento de usuários no Linux.
Configurações aplicadas:
-
POLÍTICAS DE SENHA
- Tamanho mínimo da senha (
PASS_MIN_LEN) - Tempo mínimo e máximo de validade da senha (
PASS_MIN_DAYSePASS_MAX_DAYS) - Aviso prévio de expiração (
PASS_WARN_AGE)
- Tamanho mínimo da senha (
-
UID e GID mínimos
- Definição de IDs mínimos para usuários e grupos (
UID_MIN,UID_MAX,GID_MIN,GID_MAX)
- Definição de IDs mínimos para usuários e grupos (
-
Criação automática de diretório home
- Controle do
CREATE_HOMEna criação de usuários
- Controle do
📄 Arquivo relevante: /etc/login.defs
3️⃣ libpam-pwquality
O PAM (Pluggable Authentication Modules) permite configurar módulos de autenticação no Linux.
O módulo libpam-pwquality define critérios de complexidade de senha, evitando combinações fracas.
Configurações típicas no Born2BeRoot:
- Tamanho mínimo da senha (
minlen) - Obrigatoriedade de caracteres variados:
- Letras maiúsculas (
ucredit) - Letras minúsculas (
lcredit) - Dígitos (
dcredit) - Caracteres especiais (
ocredit)
- Letras maiúsculas (
- Histórico de senhas para evitar repetição (
remember) - Verificação de similaridade com o nome do usuário (
difok)
📄 Arquivo relevante: /etc/security/pwquality.conf
📄 Arquivo PAM que integra a regra: /etc/pam.d/common-password
4️⃣ Outras Configurações
Esta seção é reservada para outras customizações exigidas pelo projeto. Você pode descrever aqui configurações extras que tenha feito.
🔹 Configuração de SSH
- (Descreva aqui) *
🔹 Políticas de firewall
- (Descreva aqui) *
🔹 Configuração de logs
- (Descreva aqui) *
🛠️ Comandos Úteis
- Verificar políticas de senha