removido
(usa Nenhuma)
Enviado em 27/02/2017 - 01:23h
1. Usar Grsecurity
https://grsecurity.net/, uma fork do Linux com foco em segurança, recomendo usar RBAC que é seu equivalente ao SELinux, distribuições como Alpine já vem com ela por default.
2. Desativar telnet (wtf quem usa isso ainda não tem consciencia sobre segurança), use ssh
3. Não use Xorg ou se for usar faça jailing de programas graficos com Firejail.
3a === Porque não usar o X ===
no X os recursos são de todos então é trivial aplicação A, olhar o input da aplicação B, por exemplo um programa malicioso que conseguir rodar pode trivialmente virar um keylogger de tudo no mesmo display. Rodar X em uma jaula se resume a abrir um novo servidor dentro do outro, geralmente xpra ou xephyr (servidores X leves) pra rodar apenas a aplicação e o servidor (xpra ou xephyr) é um guardião que filtra o input e output do servidor.
4. Troque componentes Grandes com bastante funções, por outros componentes pequenos e mais seguros
GNU Libc pode ser trocada por Musl Libc
GNU Coreutils por Busybox
OpenSSL por LibreSSL
Comentario antigo meu que compara CVEs para os componentes acima
OpenSSL vs LibreSSL
http://www.cvedetails.com/vulnerability-list/vendor_id-217/product_id-383/Openssl-Openssl.html -- lista de CVE do openssl
http://www.cvedetails.com/vulnerability-list/vendor_id-97/product_id-30688/Openbsd-Libressl.html -- lista de CVE do libressl, lista infelizmente não mostra CVEs que tambem afetam o openSSL, por alguma razão que não conheço.
https://wiki.freebsd.org/LibreSSL/History -- Historia do LibreSSL, que inclue lista de CVE que não afetam,afetam e foram reparados
https://en.wikipedia.org/wiki/LibreSSL#Security_and_vulnerabilities -- lista que compara CVEs entre libressl e openssl, infelizmente não tem fonte para a tabela incial, só para as proximas.
Glibc vs Musl
https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-767/GNU-Glibc.html -- lista de CVE para glibc
http://www.cvedetails.com/vulnerability-list/vendor_id-12197/product_id-23025/Etalabs-Musl.html -- lista de CVE para musl
http://wiki.musl-libc.org/wiki/Bugs_found_by_musl -- bugs que foram encontrados pelo musl
GNU Coreutils vs Busybox
http://www.cvedetails.com/vulnerability-list/vendor_id-4282/product_id-7452/Busybox-Busybox.html -- lista de CVE para busybox, alguns caveats
-- CVE-2011-2716 => se refere ao udhcpc, que não possue equivalente no GNU Coreutils e é preenchido pelo dhcpcd ou dhclient
-- CVE-2013-1813 => se refere ao mdev, que não possue equivalente no GNU Coreutils e é preenchido pelo udev ou eudev
-- CVE-2016-6301 => se refere ao ntpd, que não possue equivalente no GNU Coreutils e é preenchido pelo OpenNTPD, systemd-timesyncd ou chrony
https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-5075/GNU-Coreutils.html -- lista de CVE para GNU Coreutils, alguns caveats
-- CVE-2013-0222 e CVE-2013-0223 são de um patch do SUSE, e só afetam algumas versões do SUSE e 1 do RedHat
5. Compile sua propia kernel tudo que não precisa, só pra demonstrar o que acontece.
5a. recentemente teve um bug na kernel que foi descoberto
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-6074 que permite que usuarios locais obtenham root ou cause Denial of service, caveat que precisa da configuração CONFIG_IP_DCCP=y na sua config, do tempo que foi introduzido na kernel em 2.6.18 (aparentemente) até o fix na 4.9.11 tinha o bug, exceto,que eu não compilei isso na minha kernel então não estava vulneravel.
zcat /proc/config.gz | grep DCCP
# CONFIG_IP_DCCP is not set
6. Adquira conhecimento, a unica forma de realmente ter segurança é ter conhecimento.
7. Não rodar programas não confiaveis como o seu propio usuario, bem vindo ao Unix nós não temos travas de segurança, todo programa que roda como usuario X pode teoreticamente fazer o que quiser com os outros programas do usuario X.