Memória compartilhada segura
/ dev / shm pode ser usado em um ataque contra um serviço em execução , como o httpd. Modifique o / etc / fstab para torná-lo mais seguro.
Abra uma janela de terminal e digite o seguinte:
sudo vi /etc/fstab
Adicione a seguinte linha e salve. Você precisará reinicializar para que essa configuração entre em vigor:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
Protege a rede com configurações de sysctl
O arquivo /etc/sysctl.conf contém todas as configurações do sysctl. Impedir o roteamento de origem de pacotes de entrada e logar IP's malformados digite o seguinte em uma janela de terminal
sudo vi /etc/sysctl.conf
Edite o arquivo /etc/sysctl.conf e descomente ou adicione as seguintes linhas:
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
Para recarregar o sysctl com as alterações mais recentes, digite:
sudo sysctl -p
Evitar falsificação de IP
Abra um terminal e digite o seguinte:
sudo vi /etc/host.conf
Adicione ou edite as seguintes linhas:
order bind,hosts
nospoof on
Harden PHP para segurança
Edite o arquivo php.ini:
sudo vi /etc/php5/apache2/php.ini
Adicione ou edite as seguintes linhas:
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
Firewall de Aplicativos da Web - ModSecurity
Protege contra ataques DDOS (Negação de Serviço) - ModEvasive
Verifica logs e bane hosts suspeitos - DenyHosts e Fail2Ban
@DenyHosts
DenyHosts é um programa python que bloqueia automaticamente ataques SSH adicionando entradas ao /etc/hosts.deny. O DenyHosts também informará aos administradores do Linux sobre hosts ofensivos, usuários atacados e logins suspeitos.
Abra um terminal e digite o seguinte:
sudo apt-get install denyhosts
Após a instalação, edite o arquivo de configuração /etc/denyhosts.conf e altere o e-mail e outras configurações conforme necessário.
Para editar as configurações de e-mail do administrador, abra uma janela de terminal e digite:
sudo vi /etc/denyhosts.conf
Altere os seguintes valores conforme necessário no seu servidor:
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
@ Fail2Ban
O Fail2ban é mais avançado que o DenyHosts, pois estende o monitoramento de logs para outros serviços, incluindo SSH, Apache, Courier, FTP e muito mais.
O Fail2ban verifica os arquivos de log e proíbe os IPs que exibem os sinais maliciosos - muitas falhas de senha, buscando explorações, etc.
Geralmente, o Fail2Ban costumava atualizar regras de firewall para rejeitar os endereços IP por um período de tempo especificado, embora qualquer outra ação arbitrária também pudesse ser configurada. Fora da caixa, o Fail2Ban vem com filtros para vários serviços (apache, courier, ftp, ssh, etc).Abra um terminal e digite o seguinte:
sudo apt-get install fail2ban
Após a instalação, edite o arquivo de configuração /etc/fail2ban/jail.local e crie as regras de filtragem conforme necessário.
Para editar as configurações, abra uma janela de terminal e digite:
sudo vi /etc/fail2ban/jail.conf
Ative todos os serviços que você gostaria que o fail2ban monitorasse, alterando enabled = false para * enabled = true *
Por exemplo, se você quiser ativar o monitoramento SSH e proibir a prisão, localize a linha abaixo e altere a ativação de false para true . É isso.
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Se você gostaria de receber e-mails do Fail2Ban se os hosts forem banidos, altere a seguinte linha para o seu endereço de e-mail.
destemail = root@localhost
e altere a seguinte linha de:
action = %(action_)s
para:
action = %(action_mwl)s
Você também pode criar filtros de regras para os vários serviços que gostaria que o fail2ban monitorasse e que não é fornecido por padrão.
sudo vi /etc/fail2ban/jail.local
Boas instruções sobre como configurar o fail2ban e criar os vários filtros podem ser encontradas em HowtoForge - clique aqui para um exemplo
Quando terminar a configuração do Fail2Ban, reinicie o serviço com:
sudo /etc/init.d/fail2ban restart
Você também pode verificar o status com
sudo fail2ban-client status
Verifique os rootkits - RKHunter e CHKRootKit.
Ambos RKHunter e CHKRootkit basicamente faça a mesma coisa - verifique seu sistema em busca de rootkits. Não há mal em usar os dois.
Abra um terminal e digite o seguinte:
sudo apt-get install rkhunter chkrootkit
Para executar o chkrootkit, abra uma janela de terminal e digite:
sudo chkrootkit
Para atualizar e executar o RKHunter.Abra um terminal e digite o seguinte
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
Verificar portas abertas - Nmap
O Nmap ("Network Mapper") é um utilitário gratuito e de código aberto para descoberta de rede e auditoria de segurança.
Abra um terminal e digite o seguinte:
sudo apt-get install nmap
Analise seu sistema em busca de portas abertas com:
nmap -v -sT localhost
SYN digitalização com o seguinte:
sudo nmap -v -sS localhost
Analise os arquivos LOG do sistema - LogWatch
Logwatch é um sistema de análise de log personalizável. O Logwatch analisa os logs do seu sistema e cria um relatório analisando as áreas que você especifica. O Logwatch é fácil de usar e funcionará diretamente do pacote na maioria dos sistemas.
Abra um terminal e digite o seguinte:
sudo apt-get install logwatch libdate-manip-perl
Para exibir a saída do logwatch, use menos:
sudo logwatch | less
Para enviar por e-mail um relatório de logwatch dos últimos sete dias para um endereço de e-mail, digite o seguinte e substitua [email protected] pelo e-mail obrigatório. :
sudo logwatch --mailto [email protected] --output mail --format html --range 'between -7 days and today'
Audite a segurança do seu sistema - Tiger.
O Tiger é uma ferramenta de segurança que pode ser usada como um sistema de auditoria de segurança e detecção de invasões.
Abra um terminal e digite o seguinte:
sudo apt-get install tiger
Para executar o tigre, digite:
sudo tiger
Toda a saída do Tiger pode ser encontrada em / var / log / tiger
Para visualizar os relatórios de segurança do tigre, abra um Terminal e digite o seguinte:
sudo less /var/log/tiger/security.report.*