|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] DEBIAN SARGE -> SNORT + MYSQL + APACHE2 + ACIDLABVamos começar peguem um café e mãos a obra... Configurando a rede conforme meu exemplo.
Servidores preferencialmente devem possuir IP estático então mãos a obra. Edite /etc/network/interfaces e ajuste para sua rede. Estou usando 192.168.3.150 no servidor. Configurando a rede # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback # Primeira placa auto eth0 iface eth0 inet static address 192.168.3.150 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1 Como estaremos usando o SNORT é lógico que deveremos utilizar duas placas, minha outra rede é 192.168.10.0/24: # /etc/network/interfaces – configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback #Primeira placa auto eth0 iface eth0 inet static address 192.168.3.150 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1 auto eth1 iface eth1 inet static address 192.168.10.150 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 Reinicie sua rede: # /etc/init.d/networking restart Edite /etc/resolv.conf e adicione seus DNS´s: search instrutor.com.br nameserver 192.168.3.1 nameserver 200.199.252.68 Edite /etc/hosts e adicione seus hosts: 127.0.0.1 localhost.localdomain localhost benone 192.168.3.150 benone.instrutor.com.br benone 192.168.10.150 interna. instrutor.com.br interna # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
#echo benone.instrutor.com.br > /etc/hostname #hostname -F /etc/hostname Restaurando as placas #ifdown eth0 eth1 && ifup eth0 eth1 Removendo e instalando algumas coisinhas Antes de qualquer operação de pacotes vamos conferir nosso repositório e atualizar: Obtive bons resultados com o FTP da Debian no Brasil: #apt-setup e escolha o FTP --> BRASIL --> ftp.br.debian.org ou ftp.us.debian.org pode comentar os demais mirrors em /etc/apt/sources.list e manter apens os novos da ftp.br.debian.org ou ftp.us.debian.org e da security.debian após atualize: #apt-get update A intenção aqui é fornecer um exemplo de remoção de softwares desnecessários e instalação de alguns necessários bem como edição do inet, tapando buracos... apt-get install wget bzip2 unzip zip ncftp nmap openssl lynx fileutils apt-get remove lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig update-rc.d -f exim remove update-inetd --remove daytime update-inetd --remove telnet update-inetd --remove time update-inetd --remove finger update-inetd --remove talk update-inetd --remove ntalk update-inetd --remove ftp update-inetd --remove discard [editar] Instalando o Apache2 com suporte a PHP4 e mais uns “trequinhos”apt-get install apache2 apache2-doc apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick Para o apache aceitar quase vários tipos de páginas Index na raíz dos sites Edite /etc/apache2/apache2.conf e modifique: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml para DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml Desabilitando a leitura do PHP por default em qualquer site do APACHE2 Edite /etc/mime.types e comente as linhas abaixo: #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 Edite /etc/apache2/mods-enabled/php4.conf e comente as linhas abaixo: # AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps Agora os módulos somente serão carregados quando inseridos na declaração do site. Edite /etc/apache2/ports.conf e adicione Listen 443 “Já fica pronto para https” & ^ ) Listen 80 Listen 443 Agora vamos habilitar alguns módulos no Apache modules (SSL, rewrite and suexec), se existir os simbolical links “atalhos” não é necessário fazer. cd /etc/apache2/mods-enabled ln -s /etc/apache2/mods-available/ssl.conf ssl.conf ln -s /etc/apache2/mods-available/ssl.load ssl.load ln -s /etc/apache2/mods-available/rewrite.load rewrite.load ln -s /etc/apache2/mods-available/suexec.load suexec.load Restarte o Apache: /etc/init.d/apache2 restart [editar] Instalando o MySqlapt-get install mysql-server mysql-client libmysqlclient12-dev Configurando a senha do root do mysql mysqladmin -u root password senhaparaorootdomysql Quando você rodar #netstat -tap deverá aparecer uma linha parecida com esta: tcp 0 0 localhost.localdo:mysql *:* LISTEN 2449/mysqld Isto significa que o MySQL está acessível na porta 3306. Se você não visualizar esta linha, edite /etc/mysql/my.cnf comente skip-networking: # skip-networking Se você tiver que editar /etc/mysql/my.cnf restarte o MySQL: /etc/init.d/mysql restart [editar] Criando a base de dados do SNORT no MySqlExecutados os passos acima, agora vamos passar para a preparação do mesmo para trabalhar com o snort. # mysql –u root -p já no shell do mysql. > create database snort; > grant insert, select on snort.* to snort@localhost identified by 'senha_do_snort'; > grant insert, select, delete, update, create on snort.* to acid@localhost identified by 'senha_do_acid'; > quit [editar] Agora vamos instalar o SNORT e criar as estruturas da database do snort:#apt-get install snort-mysql snort-rules-default #cd /usr/share/doc/snort-mysql #gzip –d create_mysql.gz #mysql –u root –p snort < create_mysql Ambos os processos irão criar a base de dados dentro do MySQL. Preparado o MySQL, agora vamos passar para o snort. Porque compilamos primeiro o mysql? Bom, porque o snort vai precisar de alguns cabeçalhos do mysql que estarão presentes no sistema somente após o mesmo estar instalado e o SNORT utiliza a estrutura de banco de dados do MYSQL. A libcap tem que estar instalada. Agora vamos configurar o SNORT Pausa para o cafézinho... ; ^ ) Vamos editar o arquivo /etc/snort/snort.conf Primeiro configure a rede interna no parâmetro já existente: var HOME_NET [127.0.0.0/16,192.168.100.0/24] Observe que indiquei a rede do localhost, reduz bastante os falsos positivos após a vírgula está minha rede interna e minha rede externa que sai para Internet é 192.168.200.0/24, mas por padrão declaramos que se não é da rede interna é considerada externa, como abaixo: var EXTERNAL_NET !$HOME_NET Um dado importante é declarar corretamente o banco de dados de saída como abaixo, normalmente já existente precisa completar os parâmetros: output database: log, mysql, user=snort password=123 dbname=snort host=localhost Note que utilizei conforme criei no mysql, já que esta é a saída para o snort inserir os dados no mysql. As regras de análise válidas estão no final do arquivo, como esta abaixo: include $RULE_PATH/local.rules A variável $RULE_PATH é /etc/snort/rules/ e local.rules é um arquivo de regra para identificar ataques. Você pode inserir novas regras apenas descomentando as já existentes que se encontram no diretório em questão, as comentadas normalmente necessitam de configuração para não gerar falsos positivos e você também pode baixar novas regras colocar em /etc/snort/rules e inserir uma linha include como no exemplo acima para a regra ficar valendo. OK! Com isto seu SNORT já está configurado. O SNORT é tido como o melhor IDS (Sistema de Detecção de Intrusão) para servidores Linux, ele não cria regras de bloqueio, você terá que criar suas regras no IPTABLES, ou utilizar o SNORT em conjunto com o GUARDIAN, este automatiza regras no IPTABLES de acordo com ocorrências no SNORT, porém pode bloquear serviços importantes da sua rede por causa dos falsos positivos, ataques que não são ataques, primeiro configure e utilize o SNORT durante um longo tempo até remover todos falsos positivos e acertar bem seu IDS, para depois pensar em utilizar o GUARDIAN. [editar] Instalando e configurando o ACIDLAB#apt-get install acidlab acidlab-doc acidlab-mysql libphp-adodb libphp-phplot wwwconfig-common Instalando o acilab-mysql e o acidlab-doc o apt instala os demais como dependências. Agora vamos configurar o ACIDLAB
# cd /etc/apache2/sites-avaliable # touch acidlab Agora vamos aproveitar a declaração pronta do acidalab para publicar o site no Apache2 # vi acidlab No vi em modo comando (sem dar insert) digite :r /etc/acidlab/apache.conf Veja que ele carrega os módulos de php3 e php4 sendo que temos que carregar individualmente pois retiramos anteriormente da configuração geral. Digite fora do insert :x ou :wq que o vi grava e sai Publicamos o novo site # a2ensite acidlab Restartamos o apache # /etc/init.d/./apache2 restart Agora vamos configurar o ACIDLAB # vi /etc/acidlab/acid_conf.php No vi digite :32 vc vai direto para a linha 32 onde começamos a alterar o seguinte trecho: $alert_dbname = "snort_log"; $alert_host = "localhost"; $alert_port = ""; $alert_user = "root"; $alert_password = "mypassword"; /* Archive DB connection parameters */ $archive_dbname = "snort_archive"; $archive_host = "localhost"; $archive_port = ""; $archive_user = "root"; $archive_password = "mypassword"; Para: $alert_dbname = "snort "; $alert_host = "localhost"; $alert_port = ""; $alert_user = "acid"; $alert_password = "senha_do_acid"; /* Archive DB connection parameters */ $archive_dbname = "snort "; $archive_host = "localhost"; $archive_port = ""; $archive_user = "snort"; $archive_password = "senha_do_snort"; Pronto acesse http://localhost/acidlab utilizando algum browser (navegador) Vai parecer um erro, mas é normal na primeira vez a página que aparece, clique no link setup page que se encontra no texto da página. Depois no botão Create_ACID_AG E finalmente em home agora basta aguardar que começa a logar com o tempo e aparecer aí pode demorar algum tempo se sua rede tem pouco tráfego, o que vc pode fazer é descomentar as rules que comentei anteirormente que causam fake positive para ver atividade no acidlab atualizando a página após reiniciar o snort: # /etc/init.d/./snort restart Depois comente as regras novamente e restart o snort novamente, pois não queremos falsos positivos. Bom era isso, estava devendo isso para vários alunos e se alguém aproveitar melhor ainda. Open source na veia! E espero que tenham gostado escrevi no correrio. Qualquer coisa postem aí... B3n0n3 "E1 To5c0" Bitencourt |