Mudanças entre as edições de "Boas práticas de defesa (Linux)"

De Área31 Hackerspace
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 23: Linha 23:
 
É obrigatório o uso de criptografia de disco, principalmente do rootfs e da SWAP via LVM + cryptoLUKS.
 
É obrigatório o uso de criptografia de disco, principalmente do rootfs e da SWAP via LVM + cryptoLUKS.
  
  <tt><nowiki>[http://www.funtoo.org/Rootfs_over_encrypted_lvm]</nowiki></tt>
+
  <tt><nowiki>http://www.funtoo.org/Rootfs_over_encrypted_lvm</nowiki></tt>
  
 
'''EX:'''  
 
'''EX:'''  
Linha 36: Linha 36:
 
Em sistemas Funtoo/Gentoo:
 
Em sistemas Funtoo/Gentoo:
  
  <tt><nowiki>>[https://wiki.gentoo.org/wiki/Signed_kernel_module_support]</nowiki></tt>
+
  <tt><nowiki>https://wiki.gentoo.org/wiki/Signed_kernel_module_support</nowiki></tt>
  
  
 
== Assinando módulos manualmente ==
 
== Assinando módulos manualmente ==
  
  <tt><nowiki>>[https://wiki.hackstore.com.br/Assinando_m%C3%B3dulos_do_kernel]</nowiki></tt>
+
  <tt><nowiki>https://wiki.hackstore.com.br/Assinando_m%C3%B3dulos_do_kernel</nowiki></tt>
  
  
Linha 49: Linha 49:
 
Para aumentar sua defesa, adicione patches em seu kernel (hardened) para monitorar mudanças em tempo de compilação, proteção da pilha, alterações de tempo de execução mais invasivos, controle de acesso obrigatório, dentre outras camadas. Hardened em si não é uma correção a qualquer questão específica. Não é uma "'correção de bug'". Hardened basicamente fornece um meio para mitigar uma ameaça de um exploit que utilizou com sucesso determinada vulnerabilidade. Hardened é melhor usado em forma de camadas, sem depender de qualquer técnica, já que podem haver falhas em quaisquer técnicas.
 
Para aumentar sua defesa, adicione patches em seu kernel (hardened) para monitorar mudanças em tempo de compilação, proteção da pilha, alterações de tempo de execução mais invasivos, controle de acesso obrigatório, dentre outras camadas. Hardened em si não é uma correção a qualquer questão específica. Não é uma "'correção de bug'". Hardened basicamente fornece um meio para mitigar uma ameaça de um exploit que utilizou com sucesso determinada vulnerabilidade. Hardened é melhor usado em forma de camadas, sem depender de qualquer técnica, já que podem haver falhas em quaisquer técnicas.
  
<tt><nowiki>> [http://www.funtoo.org/Hardening_Concepts]
+
<tt><nowiki>http://www.funtoo.org/Hardening_Concepts</nowiki></tt>
  
  <tt><nowiki>>[https://wiki.gentoo.org/wiki/Hardened/Grsecurity2_Quickstart]</nowiki></tt>
+
  <tt><nowiki>https://wiki.gentoo.org/wiki/Hardened/Grsecurity2_Quickstart</nowiki></tt>
  
  <tt><nowiki>>[http://grsecurity.net/gracldoc.htm]</nowiki></tt>
+
  <tt><nowiki>http://grsecurity.net/gracldoc.htm</nowiki></tt>
  
  <tt><nowiki>>[https://en.wikibooks.org/wiki/Grsecurity]</nowiki></tt>
+
  <tt><nowiki>https://en.wikibooks.org/wiki/Grsecurity</nowiki></tt>
  
 
{{Note|Em algumas distribuições conhecidas, temos soluções semelhantes como o SELINUX (RHEL/CentOS) ou APPARMOR (SELS/OpenSUSE)}}
 
{{Note|Em algumas distribuições conhecidas, temos soluções semelhantes como o SELINUX (RHEL/CentOS) ou APPARMOR (SELS/OpenSUSE)}}
Linha 71: Linha 71:
 
{{tip|
 
{{tip|
 
Mais infos:
 
Mais infos:
  [https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart]</nowiki></tt>
+
  <tt><nowiki>https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart</nowiki></tt>
  
  [http://grsecurity.net/PaX-presentation_files/frame.htm]</nowiki></tt>
+
  <tt><nowiki>http://grsecurity.net/PaX-presentation_files/frame.htm</nowiki></tt>
 
}}
 
}}
  
Linha 80: Linha 80:
 
Increasing Performance and Granularity in Role-Based Access Control Systems
 
Increasing Performance and Granularity in Role-Based Access Control Systems
  
  <tt><nowiki>>[http://grsecurity.net/researchpaper.pdf]</nowiki></tt>
+
  <tt><nowiki>http://grsecurity.net/researchpaper.pdf</nowiki></tt>
  
  
Linha 89: Linha 89:
 
Já que não temos no Linux um firewall de verdade como o PF (FreeBSD), recomendamos abandonarem o iptables e utilizarem o NFtables:
 
Já que não temos no Linux um firewall de verdade como o PF (FreeBSD), recomendamos abandonarem o iptables e utilizarem o NFtables:
  
  <tt><nowiki>>[http://www.funtoo.org/Package:Nftables]</nowiki></tt>
+
  <tt><nowiki>http://www.funtoo.org/Package:Nftables</nowiki></tt>
  
  

Edição atual tal como às 13h07min de 2 de fevereiro de 2019

Autor: 
* Raphael Bastos

Defesa, do latim defensa, é o ato de proteção do próprio corpo ou grupo, significa auxílio, proteção, resistência; é o emprego dos meios necessários para proteção de alguém ou de algo.

  • Defesa - No caso das guerras a defesa é a ação contrária ao ataque;
  • Defesa - Nos Estados, são as forças armadas;
  • Defesa - Nos esportes coletivos, como na guerra a linha de defesa é na retaguarda;
  • Defesa - Na jurisprudência, defesa é alegar em favor próprio;
  • Defesa - Uma abertura de xadrez jogada pelas pretas;
  • Defesa - Defensivo Agrícola - Uso de produtos e de técnicas na agricultura para proteger de pragas.




Utilize criptografia pra tudo

Rootfs over encrypted lvm

É obrigatório o uso de criptografia de disco, principalmente do rootfs e da SWAP via LVM + cryptoLUKS.

http://www.funtoo.org/Rootfs_over_encrypted_lvm

EX:

$ cryptsetup --cipher twofish-xts-plain64 --hash sha512 --key-size 256 luksFormat /dev/sda3


Utilize módulo do kernel assinado

Ao ativar a funcionalidade "Signed kernel module support" no seu Linux, permitrá que você tenha mais uma camada de proteção em seu sistema (hardening), não permitindo o carregamento de módulos do kernel não assinados (via modprobe), ou módulos do kernel assinados com a chave errada. Módulos do kernel maliciosos são métodos comuns para uso de rootkits em um sistema Linux.

Em sistemas Funtoo/Gentoo:

https://wiki.gentoo.org/wiki/Signed_kernel_module_support


Assinando módulos manualmente

https://wiki.hackstore.com.br/Assinando_m%C3%B3dulos_do_kernel


Utilize profile Hardened/Grsecurity2

Para aumentar sua defesa, adicione patches em seu kernel (hardened) para monitorar mudanças em tempo de compilação, proteção da pilha, alterações de tempo de execução mais invasivos, controle de acesso obrigatório, dentre outras camadas. Hardened em si não é uma correção a qualquer questão específica. Não é uma "'correção de bug'". Hardened basicamente fornece um meio para mitigar uma ameaça de um exploit que utilizou com sucesso determinada vulnerabilidade. Hardened é melhor usado em forma de camadas, sem depender de qualquer técnica, já que podem haver falhas em quaisquer técnicas.

http://www.funtoo.org/Hardening_Concepts
https://wiki.gentoo.org/wiki/Hardened/Grsecurity2_Quickstart
http://grsecurity.net/gracldoc.htm
https://en.wikibooks.org/wiki/Grsecurity
   Nota:

Em algumas distribuições conhecidas, temos soluções semelhantes como o SELINUX (RHEL/CentOS) ou APPARMOR (SELS/OpenSUSE)


Utilize PaX

PaX é um patch para o kernel Linux que fornece hardening de três maneiras:

  • Judicious enforcement of non-executable memory
  • Address Space Layout Randomization (ASLR)
  • Miscellaneous hardening on stack- and memory handling
   Dica:

Mais infos:

https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart
http://grsecurity.net/PaX-presentation_files/frame.htm

Utilize RBAC

Increasing Performance and Granularity in Role-Based Access Control Systems

http://grsecurity.net/researchpaper.pdf


Firewall

NFtables

Já que não temos no Linux um firewall de verdade como o PF (FreeBSD), recomendamos abandonarem o iptables e utilizarem o NFtables:

http://www.funtoo.org/Package:Nftables


Dicas

Retire o SSHD da porta padrão (22)

Altere para porta 666 ou 2424, mas por favor retire o servidor SSH da porta 22. Experimente abrir um TCPDUMP na escuta da porta 22 de qualquer IP no mundo pra ver o motivo.

$ echo -e "Port 666\nPort 2424" >> /etc/ssh/sshd_config


Docs

Hardened Gentoo http://www.gentoo.org/proj/en/hardened/

Security-Enhanced Linux http://en.wikipedia.org/wiki/Security-Enhanced_Linux

RSBAC http://en.wikipedia.org/wiki/RSBAC

Hardened/Toolchain https://wiki.gentoo.org/wiki/Hardened/Toolchain#RELRO

Hardened/PaX Quickstart https://wiki.gentoo.org/wiki/Project:Hardened/PaX_Quickstart

checksec.sh http://www.trapkit.de/tools/checksec.html

Advanced Portage Features http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=3&chap=6

Elfix http://dev.gentoo.org/~blueness/elfix/

Avfs: An On-Access Anti-Virus File System http://www.fsl.cs.sunysb.edu/docs/avfs-security04/

Eicar Download, http://www.eicar.org/85-0-Download.html

Gentoo Security Handbook, https://gentoo-handbook.lugons.org/doc/en/security/