NOTÍCIAS

[ANONYMOUS][grids]

Lynis - Ferramenta de auditoria e pentesting de segurança de código aberto - Uma explicação detalhada



Lynis é uma ferramenta de auditoria de segurança de código aberto. Seu principal objetivo é auditar e fortalecer sistemas baseados em Unix e Linux. Ele examina o sistema executando muitas verificações de controle de segurança. Os exemplos incluem a pesquisa de software instalado e determinam possíveis falhas de configuração.
Muitos testes fazem parte de diretrizes e padrões comuns de segurança, com testes adicionais de segurança adicionais. Após a verificação, um relatório será exibido com todas as descobertas descobertas. Para fornecer orientações iniciais, um link é compartilhado com o controle Lynis relacionado.
O Lynis é uma das ferramentas de auditoria automatizada mais confiáveis ​​para gerenciamento de patches de software, varredura de malware e detecção de vulnerabilidades em sistemas baseados em Unix / Linux. Essa ferramenta é útil para auditores , administradores de rede e sistema , especialistas em segurança e testadores de penetração .

Audiência pretendida:

A Lynis auxilia os auditores na realização de auditorias de conformidade com Basileia II, GLBA, HIPAA, PCI DSS e SOX (Sarbanes-Oxley).
Especialistas em segurança, Testadores de penetração, auditores de sistemas, gerentes de sistemas / redes, engenheiros de segurança.

O Lynis é compatível com muitos sistemas operacionais, como:

  • AIX
  • Arch Linux
  • BackTrack Linux
  • CentOS
  • Debian, DragonFlyBSD
  • Fedora Core, FreeBSD
  • Gentoo
  • HPUX
  • Kali, Knoppix
  • Linux Mint
  • MacOS X, Mageia, Mandriva
  • NetBSD
  • OpenBSD, OpenSolaris, openSUSE, Oracle Linux
  • PcBSD, PCLinuxOS
  • Red Hat Enterprise Linux (RHEL) e derivados
  • Sabayon, Linux científico, Slackware, Solaris 10, SuSE
  • TrueOS
  • Ubuntu e derivados

O Lynis também pode auditar softwares como:

  • Servidores de banco de dados: MySQL, Oracle, PostgreSQL
  • Daemons de tempo: dntpd, ntpd, cronometrado
  • Servidores da Web: Apache, Nginx

Uma vez Lynis começa a digitalizar o seu sistema, ele irá realizar auditoria em várias categorias:

  • Ferramentas do sistema : binários do sistema
  • Inicialização e serviços: carregadores de inicialização, serviços de inicialização
  • Kernel: nível de execução, módulos carregados, configuração do kernel, dumps do núcleo
  • Memória e processos: processos zumbis, processos de espera de E / S
  • Usuários, grupos e autenticação: IDs de grupos, sudoers, configuração do PAM, duração da senha, máscara padrão
  • Cartuchos
  • Sistemas de arquivos: pontos de montagem, arquivos / tmp, sistema de arquivos raiz
  • Armazenamento: usb-storage, firewire ohci
  • NFS
  • Software: serviços de nome: domínio de pesquisa DNS, BIND
  • Portas e pacotes: pacotes vulneráveis ​​/ atualizáveis, repositório de segurança
  • Rede: servidores de nomes, interfaces promíscuas, conexões
  • Impressoras e bobinas: configuração de copos
  • Software: email e mensagens
  • Software: firewalls: iptables, pf
  • Software: servidor web: Apache, nginx
  • Suporte SSH: configuração SSH
  • Suporte SNMP
  • Bancos de dados: senha root do MySQL
  • Serviços LDAP
  • Software: php: opções de php
  • Squid support
  • Log e arquivos: daemon Syslog, diretórios de log
  • Serviços inseguros: inetd
  • Bandeiras e identificação
  • Tarefas agendadas: crontab / cronjob, atd
  • Contabilidade: sysstat data, auditd
  • Hora e sincronização: daemon ntp
  • Criptografia: expiração do certificado SSL
  • Virtualização
  • Estruturas de segurança: AppArmor, SELinux, status de segurança
  • Software: integridade do arquivo
  • Software: scanners de malware
  • Diretórios base: arquivos de histórico do shell

Como o Lynis funciona:

Neste tutorial do Kali Linux, Para executá-lo pela primeira vez, é recomendável usar -c paramater. -c parâmetro significa fazer todos os testes para verificar os sistemas. Se você deseja colocar o nome do Auditor, basta adicionar o parâmetro –auditor lá. Aqui estão alguns
Baixe e instale o Lynis no GitHub 


git clone https://github.com/CISOfy/lynis

$ cd lynis-2.7.3
# ./lynis


saída de amostras:

Depois de instalado, inicie com o nome do Auditor ou Pentester.
# lynis -c –auditor “BALAJI”

Figura 1. Inicializar




Figura 2. Ferramentas do sistema




Figura 3. Inicialização e serviços e kernel



Figura 4. Usuários e grupo


Figura 5. Shell e armazenamento



Figura 6. Software, portas e pacotes




Figura 7. Rede e impressora




Figura 8. Email, firewalls e servidor Web




Figura 9. SSH, SNMP e bancos de dados


Figura 10. PHP, Squid Proxy e log


Figura 11. Inetd, Banner e Cron




Figura 12. Contabilidade, NTP e criptografia



Figura 13. Virtualização, estruturas de segurança e integridade de arquivos




Figura 14. Scanners de malware, ferramenta de sistema e diretório inicial




Figura 15. Endurecimento do Kernel





Figura 16. Proteção, testes personalizados e resultado


Figura 17. Índice de proteção




Execute o Lynis com testes personalizados

Seu sistema pode não precisar executar todos os testes. Se o seu servidor não estiver executando um servidor Web, você não precisará testá-lo. Para esse fim, podemos usar o parâmetro –tests . A sintaxe é:
# lynis –tests “Test-IDs”
existem mais de 100 testes que podemos fazer. Aqui está uma lista de Lynis Tests-ID.

  • FILE-7502 (verifique todos os binários do sistema)
  • BOOT-5121 (verifique a presença do carregador de inicialização GRUB).
  • BOOT-5139 (Verifique a presença do carregador de inicialização LILO)
  • BOOT-5142 (Verifique o carregador de inicialização SPARC aprimorado (SILO))
  • BOOT-5155 (verifique o arquivo de configuração do carregador de inicialização YABOOT)
  • BOOT-5159 (Verifique a presença do carregador de inicialização OpenBSD i386)
  • BOOT-5165 (Verifique os serviços de inicialização do FreeBSD)
  • BOOT-5177 (Verifique os serviços de inicialização e execução do Linux)
  • BOOT-5180 (Verifique os serviços de inicialização do Linux (estilo Debian))
  • BOOT-5184 (verifique as permissões para arquivos / scripts de inicialização)
  • BOOT-5202 (verificar o tempo de atividade do sistema)
  • KRNL-5677 (verifique as opções e suporte da CPU)
  • KRNL-5695 (Determinar a versão do kernel do Linux e o número da versão)
  • KRNL-5723 (Determinando se o kernel do Linux é monolítico)
  • KRNL-5726 (Verificando os módulos do kernel carregados no Linux)
  • KRNL-5728 (Verificando a configuração do kernel do Linux)
  • KRNL-5745 (Verificando os módulos do kernel carregados no FreeBSD)
  • [04:57:04] Motivo para pular: teste que não está na lista de testes a serem executados
  • KRNL-5770 (Verificando os módulos ativos do kernel)
  • KRNL-5788 (Verificando a disponibilidade do novo kernel)
  • KRNL-5820 (Verificando a configuração dos core dumps)
Abaixo está um exemplo de comando para executar Verificar o tempo de atividade do sistema e Verificar os testes de configuração dos dumps do núcleo . Se você deseja adicionar mais testes, basta adicionar mais ID de teste separados por espaço.

# ./lynis –tests “BOOT-5202 KRNL-5820”

 


Para obter mais IDs de teste, você pode encontrá-lo em /var/log/lynis.log . Aqui está um truque de como fazê-lo.
1. Primeiro, precisamos executar o lynis com o parâmetro -c (check-all).
# ./lynis -c -Q
2. Em seguida, consulte o arquivo /var/log/lynis.log . Use o comando cat e combine-o com o grep. Digamos que você queira pesquisar o ID do teste relacionado ao Kernel. Use a palavra-chave KRNL para encontrá-lo.

# cat /var/log/lynis.log | grep KRNL




Abaixo está uma palavra-chave completa dos IDs de teste disponíveis no Lynis.
BOTA
KRNL (kernel)
PROC (processador)
auth (autenticação)
SHLL (escudo)
ARQUIVO
STRG (armazenamento)
NOME (DNS)
PKGS (embalagem)
NETW (rede)
PRNT (impressora)
CORREIO
FOGO (firewall)
HTTP (servidor)
SSH
SNMP
DBS (banco de dados)
PHP
LDAP
SQD (squid proxy)
LOGG (registro)
INSE (serviços inseguros - inetd)
SCHD (programação - tarefa cron)
ACCT(contabilidade)
TIME (protocolo de tempo - NTP)
CRYP (criptografia)
VIRT (virtualização)
MACF (AppArmor - SELINUX)
MALW (malware) HRDN DA
CASA (proteção)

Execute o lynis com categorias

Se você acha que colocar muitas IDs de teste é doloroso, use o parâmetro –test-category . Com essa opção, o Lynis executará IDs de teste incluídos em uma categoria específica. Por exemplo, você deseja executar testes de firewall e kernel . Então você pode fazer isso:

# ./lynis –tests-category “kernel de firewalls”




Execute Lynis como Cronjob

Como a segurança precisa ser consistente, você pode automatizar o Lynis para executar periodicamente. Digamos que você queira executá-lo todos os meses para ver se há alguma melhoria desde a última execução do Lynis.
Para fazer isso, podemos executar o Lynis como cronjob. Aqui está um exemplo de cronjob para executá-lo todos os meses.

#! / bin / sh

AUDITOR = "automatizado"
DATA = $ (data +% Y% m% d)
HOST = $ (nome do host)
LOG_DIR = "/ var / log / lynis"
RELATÓRIO = "$ LOG_DIR / relatório - $ {HOST}. $ {DATE } ”
DATA =” $ LOG_DIR / dados do relatório - $ {HOST}. $ {DATE} .txt ”

cd / usr / local / lynis
./lynis -c –auditor “$ {AUDITOR}” –cronjob> $ {REPORT}

mv /var/log/lynis-report.dat $ {DATA}

# Fim

Salve o script em /etc/cron.monthly/lynis . Não se esqueça de adicionar caminhos relacionados (/ usr / local / lynis e / var / log / lynis), caso contrário , o script não funcionará corretamente.