Proteção avançada em sistemas Linux Debian/Ubuntu
1. Configuração básica de segurança
1.1. Atualização do sistema
> [!IMPORTANTE]
Antes de começar a proteger seu sistema, é importante certificar-se de que ele esteja atualizado com os patches de segurança mais recentes.
bash
sudo apt update && sudo apt full-upgrade -y
1.2. Configuração de política de firewall
> [!TIP]
A política de firewall é usada para controlar o tráfego de rede de entrada e saída.
bash
sudo ufw ativar
1.3. Configuração de autenticação
> [!AVISO]
A autenticação é crucial para evitar acesso não autorizado ao sistema.
bash
sudo useradd -m -s /bin/false ninguém
sudo usermod -aG ninguém www-data
2. Configurações avançadas de segurança
2.1. Configurando a segurança do kernel
> [!IMPORTANTE]
A segurança do kernel é essencial para evitar ataques de dia 0.
bash
sudo nano /etc/sysctl.conf
bash
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.default.secure_redirects=1
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv6.conf.all.accept_source_route=0
net.ipv6.conf.default.accept_source_route=0
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0
net.ipv6.conf.all.secure_redirects = 1
net.ipv6.conf.default.secure_redirects=1
2.2. Configurações de segurança de memória
> [!TIP]
A segurança da memória é crucial para evitar ataques de dia 0.
bash
sudo nano /etc/sysctl.conf
bash
vm.mmap_min_addr=65536
vm.discard_core = 1
23. Configurações de segurança de rede
> [!AVISO]
A segurança da rede é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/hosts.deny
bash
sshd: TODOS
3. Configurações de segurança do aplicativo
###3.1. Configurando a segurança do Apache
> [!IMPORTANTE]
A segurança do Apache é crucial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/apache2/apache2.conf
bash
<Diretório />
Opções FollowSymLinks
Permitir substituir nenhum
Exigir todos os negados
</Diretório>
<Diretório /var/www/>
Índices de opções FollowSymLinks MultiViews
Permitir substituir tudo
Exigir tudo concedido
</Diretório>
###3.2. Configuração de segurança MySQL
> [!TIP]
A segurança do MySQL é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bash
endereço de ligação = 127.0.0.1
4. Configuração de monitoramento de segurança
###4.1. Configuração de segurança do syslog
> [!AVISO]
A segurança do syslog é crucial para impedir o acesso não autorizado ao sistema.
bash
sudo nano /etc/syslog.conf
bash
auth,authpriv.*;mail.*;\
notícias.err;\
*.=depurar;*.=informações;\
*.=aviso;*.=aviso;\
*.=avisar;*.=errar;*.=crit;*.=alertar;*.=emerg /dev/log
4.2. Configurando a segurança de auditoria
> [!IMPORTANTE]
Auditar a segurança é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/audit/audit.rules
bash
-w /etc/group -p wa -k identidade
-w /etc/passwd -p wa -k identidade
-w /etc/gshadow -p wa -k identidade
-w /etc/sudoers -p wa -k identidade
5. Configuração de segurança de backup
5.1. Configurando a segurança de backup do MySQL
> [!TIP]
A segurança do MySQL Backup é crucial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/mysql/debian-start
bash
mysqldump -u root -p[senha] [banco de dados] > /var/backups/mysql/$(data +\%Y\%m\%d).sql
5.2. Configurando a segurança de backup do Apache
> [!AVISO]
A segurança do Apache Backup é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/apache2/conf.d/backup.conf
bash
Alias /backup/ /var/backups/apache/
6. Configuração de segurança de monitoramento de rede
6.1. Configurando a segurança NTP
> [!IMPORTANTE]
A segurança NTP é crucial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/ntp.conf
bash
restringir padrão nomodify notrap nopeer noquery
6.2. Configurando a segurança SSH
> [!TIP]
A segurança SSH é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/ssh/sshd_config
bash
PermitRootLogin não
7. Configurações de segurança de monitoramento de aplicativos
7.1. Configurando a segurança do Apache
> [!AVISO]
A segurança do Apache é crucial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/apache2/apache2.conf
bash
<Diretório />
Opções FollowSymLinks
Permitir substituir nenhum
Exigir todos os negados
</Diretório>
<Diretório /var/www/>
Índices de opções FollowSymLinks MultiViews
Permitir substituir tudo
Exigir tudo concedido
</Diretório>
7.2. Configuração de segurança MySQL
> [!IMPORTANTE]
A segurança do MySQL é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bash
endereço de ligação = 127.0.0.1
8. Configuração de segurança de monitoramento do sistema
###8.1. Configuração de segurança do syslog
> [!TIP]
A segurança do syslog é crucial para impedir o acesso não autorizado ao sistema.
bash
sudo nano /etc/syslog.conf
bash
auth,authpriv.*;mail.*;\
notícias.err;\
*.=depurar;*.=informações;\
*.=aviso;*.=aviso;\
*.=avisar;*.=errar;*.=crit;*.=alertar;*.=emerg /dev/log
###8.2. Configurando a segurança de auditoria
> [!AVISO]
Auditar a segurança é essencial para evitar acesso não autorizado ao sistema.
bash
sudo nano /etc/audit/audit.rules
bash
-w /etc/group -p wa -k identidade
-w /etc/passwd -p wa -k identidade
-w /etc/gshadow -p wa -k identidade
-w /etc/sudoers -p wa -k identidade
Configurar segurança avançada em sistemas Debian/Ubuntu Linux requer muitas configurações e definições. É importante lembrar que a segurança é um processo contínuo e que são necessárias revisões regulares para garantir que o sistema esteja protegido contra ameaças atuais e futuras.