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_DAYS
ePASS_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_HOME
na 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