Laboratório/Hardening no CentOS

Tags: , , , , , ,

Estou montando um laboratório de hardening para testar alguns conceitos e ferramentas (eu já havia comentado sobre isso há alguns posts). Tive alguns problemas com os repositórios existentes para o CentOS 6.2, distribuição e versão GNU/Linux que venho utilizando para isso.

Há dezenas ou centenas de pacotes que não estão disponíveis nos principais repositórios do CentOS. Mas, como para todo problema há uma equação que apresentará como resultado uma solução, eis que encontrei os seguintes repositórios:

 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

ftp://rpmfind.net/linux/epel/6/x86_64/epel-release-6-7.noarch.rpm

Sendo este último de fud….

http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/atomic-release-1.0-14.el6.art.noarch.rpm

(Vale lembrar que estou trabalhando com uma distribuição 64bits, por isso do /6/x86_64)

A instalação destes caras é bem simples, rpm -Uhv e o path apresentado acima, mas não se esqueçam que o seu servidor Linux precisa ter acesso à internet.

E por que eu falei que o repositório do Atomic é fod..? Simples, ele tem uma série de pacotes de segurança/hardening para CentOS e todos as dependências necessárias. Exemplo disso foi a hora em que eu tive que instalar o php-suhosin com o seguinte comando: “yum install -y php-suhosin”.

Graças ao repositório do Atomic, o yum foi capaz de buscar a imensa lista de dependências. Vejam só:

Resolving Dependencies
–> Running transaction check
—> Package php-suhosin.x86_64 0:0.9.32.1-2.el6.art will be installed
–> Processing Dependency: php >= 5.3.6 for package: php-suhosin-0.9.32.1-2.el6.art.x86_64
–> Running transaction check
—> Package php.x86_64 0:5.3.3-3.el6_1.3 will be updated
–> Processing Dependency: php = 5.3.3-3.el6_1.3 for package: php-devel-5.3.3-3.el6_1.3.x86_64
—> Package php.x86_64 0:5.3.8-2.el6.art will be an update
–> Processing Dependency: php-common(x86-64) = 5.3.8-2.el6.art for package: php-5.3.8-2.el6.art.x86_64
–> Processing Dependency: php-cli(x86-64) = 5.3.8-2.el6.art for package: php-5.3.8-2.el6.art.x86_64
–> Running transaction check
—> Package php-cli.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-cli.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-common.x86_64 0:5.3.3-3.el6_1.3 will be updated
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-ldap-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-imap-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-pdo-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-snmp-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-xml-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-gd-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-mbstring-5.3.3-3.el6_1.3.x86_64
–> Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-mysql-5.3.3-3.el6_1.3.x86_64
—> Package php-common.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-devel.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-devel.x86_64 0:5.3.8-2.el6.art will be an update
–> Running transaction check
—> Package php-gd.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-gd.x86_64 0:5.3.8-2.el6.art will be an update
–> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.3.8-2.el6.art.x86_64
—> Package php-imap.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-imap.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-ldap.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-ldap.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-mbstring.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-mbstring.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-mysql.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-mysql.x86_64 0:5.3.8-2.el6.art will be an update
–> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: php-mysql-5.3.8-2.el6.art.x86_64
–> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16)(64bit) for package: php-mysql-5.3.8-2.el6.art.x86_64
–> Processing Dependency: libmysqlclient.so.18()(64bit) for package: php-mysql-5.3.8-2.el6.art.x86_64
—> Package php-pdo.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-pdo.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-snmp.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-snmp.x86_64 0:5.3.8-2.el6.art will be an update
—> Package php-xml.x86_64 0:5.3.3-3.el6_1.3 will be updated
—> Package php-xml.x86_64 0:5.3.8-2.el6.art will be an update
–> Running transaction check
—> Package mysql-libs.x86_64 0:5.1.52-1.el6_0.1 will be updated
–> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
–> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
—> Package mysql-libs.x86_64 0:5.5.19-1.el6.art will be an update
—> Package t1lib.x86_64 0:5.1.2-6.el6 will be installed
–> Running transaction check
—> Package mysqlclient16.x86_64 0:5.1.59-1.el6.art will be installed
–> Finished Dependency Resolution

Dica importante: Caso você esteja trabalhando com outra distribuição ou versão Linux, você poderá rodar o seguinte comando: wget -q -O – http://www.atomicorp.com/installers/atomic | sh  para que o script automic possa instalar o repositório correto no seu server. 🙂

O que eu achei fod… no repositório do Atomic foi o fato de eu ter encontrado simplesmente todos os produtos de segurança que precisava para fazer um hardening legalzinho no CentOS; mas a explicação para isso é bem simples: o Atomic está se tornando uma distribuição especializada em hardening de servidores Linux.

Atualização: Fiz alguns testes com o ASL, que adquiri há 4 dias, e posso dizer que ele é um conjunto de produtos e configurações focados em segurança. Só tive problema na hora de utilizar o kernel com hardening que ele disponibiliza. A VM simplesmente não sobe com este kernel 🙁 – Estou analisando o problema e até abri um chamado junto à Atomic.

Além das regras da TrusteWave para o Mod_security,  eu utilizo as da Atomic, que são atualizadas quase que diariamente. Um ponto importante: este repositório da Atomic já possui a última versão do mod_security. 🙂

Aviso para galera que irá ao HackingDay: você subir uma VM com o Atomic Secured Linux para o pessoal ficar brincando. Não fique de fora dessa. 🙂

 

VEJA TAMBÉM

Curso LPIC-1 – Linux – Formando uma turma Estou pensando em montar turmas para os cursos de formação LPIC-1 - 101 & 102. Ambos os cursos serão ministrados por um profissional certificado, onde utilizaríamos livros preparatórios e focados ...
Link de 200mb/s — DoS e DDoS fácil a partir de SP Acho melhor as novas leis quanto aos crimes praticados por meios digitais serem sancionadas logo pela nossa querida presidente. Mais informações a respeito de ambas as leis poderão ser esclarecidas no...
Piada do mês: Brasil tem pouco mais de cem mil incidentes de segurança por trimestre Há alguns meses, eu estive em um debate sobre segurança da informação e falei um pouco sobre o mercado brasileiro e as maiores ameaças que as grandes empresas sofrem por aqui, e disse uma frase: "Ataq...
COMPARTILHE ESTE ARTIGO

COMENTÁRIOS

16 comentários em “Laboratório/Hardening no CentOS

  1. Emerson Santos

    Gustavo, vc poderia fazer um post com exemplos de LABs que podem ser montados utilizando somente VMs. Assim, poderíamos montar em casa alguns LABs pra poder “brincar” com mais eficiência.

    Por exemplo, tenho interesse em Hardening de Servers Window$ … como eu poderia montar um LAB para isso ?

    Vlws os posts … espero novidades quanto ao cursos presenciais.

    Abs

  2. Hijak Skank

    Maravilha….baita idéia…Já ripei o CentOs no vmware…ficamos no QAP.
    Mas se fizer uma aula de hardening também, já tô nessa.

  3. Gustavo Lima

    também, mas não diferi e muito do redhat ou do ubuntu, somente a localização de alguns arquivos e/ou poucas parametrizações.

  4. danillo

    desculpe pergunta errada, quero saber se para usar o repositorio deles tenho que pagar?

DEIXAR UM COMENTÁRIO

MENU