Pular para o conteúdo

Guia de Endurecimento de Segurança ​

Este guia fornece etapas práticas para aumentar a segurança do seu sistema MiniOS. Como o MiniOS é um sistema live, as principais preocupações de segurança são proteger os dados do usuário no armazenamento persistente e controlar o acesso ao sistema em execução. As configurações padrão garantem conveniência para uso portátil, mas podem não ser ideais para todos os cenários de uso. As recomendações a seguir vão ajudar você a configurar o sistema para maior segurança.

Segurança das Contas de Usuário e Root ​

Por padrão, o MiniOS faz login automático sem senha. Isso oferece praticidade para uso portátil, mas pode representar um risco de segurança em alguns cenários.

Credenciais padrão das contas:

  • Usuário: live / evil
  • Root: root / toor

⚠️ Essas credenciais são de conhecimento público e devem ser alteradas imediatamente para qualquer uso em rede ou em produção.

Criando uma Senha Criptografada ​

Antes de configurar as senhas, recomenda-se criar um hash de senha criptografada:

bash
# The command will prompt you to enter a password and output the hash
mkpasswd -m yescrypt
# Example output: $y$j9T$...(long hash)...$Spig/F.uP

Definindo Senhas ​

Você pode definir senhas de duas formas: é altamente recomendado utilizar senhas criptografadas.

Importante: A definição de senhas e parâmetros de conta de usuário via parâmetros de boot e arquivos de configuração só tem efeito no primeiro boot do sistema. Depois disso, as senhas só podem ser alteradas usando os métodos padrão do Linux (passwd, sudo passwd).

Via Parâmetros de Boot ​

Adicione os parâmetros na linha de comando do kernel no menu de boot (GRUB para UEFI ou SYSLINUX para BIOS):

Para senhas criptografadas (recomendado):

user-password-crypted='$y$j9T$...(hash).../'
root-password-crypted='$y$j9T$...(hash).../'

Para senhas em texto simples (não recomendado):

user-password='your_password'
root-password='root_password'

Importante: Senhas em texto simples ficam visíveis na linha de comando do kernel e podem ser lidas por outros usuários do sistema.

Via Arquivo de Configuração ​

Edite o arquivo minios/config.conf no diretório raiz do pendrive:

Para senhas criptografadas:

LIVE_USER_PASSWORD_CRYPTED="$y$j9T$...(hash).../"
LIVE_ROOT_PASSWORD_CRYPTED="$y$j9T$...(hash).../"

Para senhas em texto simples:

LIVE_USER_PASSWORD="your_password"
LIVE_ROOT_PASSWORD="root_password"

Alterando Senhas Após o Boot ​

Após o primeiro boot do sistema, as senhas podem ser alteradas usando os comandos padrão do Linux:

bash
# Change current user password
passwd

# Change root user password (requires sudo)
sudo passwd root

# Change specific user password (requires sudo)
sudo passwd username

Desativando o Login Automático ​

Após definir as senhas, desative o login automático para exigir autenticação:

Via Parâmetros de Boot ​

noautologin

Via Arquivo de Configuração ​

LIVE_CONFIG_CMDLINE="components noautologin"

Desativação parcial do autologin:

  • nox11autologin - desativa apenas o login automático gráfico (o gerenciador de login exigirá autenticação)
  • nottyautologin - desativa apenas o login automático no console (já desativado por padrão)

Gerenciando Privilégios de Usuário ​

Por padrão, o usuário live possui privilégios administrativos totais sem solicitar senha, tanto no console (sudo) quanto em aplicativos gráficos (via polkit). Isso oferece praticidade no uso do sistema live, mas pode exigir ajustes para maior segurança.

Ativando Solicitação de Senha para sudo ​

Para exigir a digitação da senha ao usar o sudo, execute após o boot do sistema:

bash
# Change rule to require password
echo "live ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/live

Após isso, comandos sudo vão solicitar a senha do usuário.

Ativando Solicitação de Senha para Aplicativos Gráficos ​

Para que programas administrativos gráficos peçam senha, remova a regra do polkit:

bash
sudo rm /usr/share/polkit-1/rules.d/sudo_on_live.rules

Após isso, instaladores de software, configurações do sistema e outros aplicativos administrativos em modo gráfico vão solicitar senha.

Desativação Completa dos Direitos Administrativos (noroot) ​

Para máxima segurança, você pode desativar completamente o sudo e o acesso root:

Via parâmetros de boot:

noroot

Via arquivo de configuração:

LIVE_CONFIG_NOROOT=true

Efeito: O comando sudo não funcionará, o login como root será desativado e nenhuma ação administrativa estará disponível.

Segurança de Rede ​

Configurações Padrão do SSH ​

Por que o SSH vem ativado por padrão: O MiniOS foi projetado como um sistema de recuperação e diagnóstico para manutenção de hardware com defeito. O SSH é ativado com configurações permissivas para permitir acesso remoto quando o vídeo local não está disponível, está danificado ou ao trabalhar com sistemas sem monitor.

Configurações atuais do SSH:

  • O serviço SSH está ativado e inicia automaticamente
  • O login como root via SSH é permitido
  • Autenticação por senha está ativada

Implicações de segurança: Essa configuração traz riscos em redes não confiáveis, mas é necessária em cenários de recuperação.

Desativando o SSH ​

Se o acesso remoto não for necessário, desative o SSH completamente:

Via parâmetros de boot:

disable-services=ssh,avahi-daemon

Via arquivo de configuração:

DISABLE_SERVICES=ssh,avahi-daemon

Configurando Acesso SSH Seguro ​

Se o SSH for necessário, proteja-o utilizando os métodos a seguir:

1. Definindo Senhas Fortes ​

Use os métodos de definição de senha descritos acima.

2. Autenticação por Chave SSH ​

Coloque os arquivos authorized_keys no diretório raiz do pendrive:

  • authorized_keys.root - para o usuário root
  • authorized_keys.live - para o usuário live
  • authorized_keys.username - para outros usuários

Um componente do sistema fará a cópia automática para as pastas home na inicialização.

3. Endurecimento da Segurança do SSH ​

Após o boot do sistema, edite a configuração do SSH:

bash
sudo nano /etc/ssh/sshd_config.d/minios.conf

Altere as configurações para opções mais seguras:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Reinicie o serviço SSH:

bash
sudo systemctl restart ssh

Importante: Sempre teste o acesso por chave SSH antes de desativar a autenticação por senha.

Segurança de Boot ​

Secure Boot UEFI ​

O MiniOS é totalmente compatível com o Secure Boot, pois utiliza o kernel padrão do Debian com bootloaders assinados. O Secure Boot oferece proteção contra malwares de pré-boot (bootkits) e é recomendado para maior segurança.

Senha no BIOS/UEFI ​

Para segurança física, defina uma senha no BIOS/UEFI do seu computador para impedir que usuários não autorizados inicializem a partir de outros dispositivos ou alterem as configurações de boot.