<p>Conheço bem algumas das necesidades básicas de quem gerencia uma rede:</p>
<ul>
<li> Ficar informado sobre dados que entram e saem via internet;</li>
<li> Consultar os logs de forma eficiente e com regularidade; </li>
<li> Aplicar de modo construtivo as informações obtidas pelos logs; e </li>
<li> Controlar e restringir o acesso do usuário administrativo (root).</li>
</ul>
<p>Sei que apresentar soluções para todas as necessidades requer um pouco de estudo e bastante tempo para testes. Isso porque nem sempre uma ferramenta/aplicativo usado por um determinado gerente de redes vai ser igualmente eficiente para todos os outros interessados no assunto. E infelizmente, nesse post, não trarei uma “resposta mágica” para todos os nossos anseios. Mas uma coisa sei: o sendEmail pode fazer mais por você do que pode-se imaginar!</p>
<p>De modo simples quero me concentar em um único ponto: “Controlar e restringir o acesso do usuário administrativo (root)”.</p>
<p>Para isso, vamos usar o sendEmail: que na verdade é simplesmente um cliente de email que usa protocolo SMTP para enviar mensagens via linha de comando. Mas afinal de contas: como aumentar a segurança com esta ferramenta?</p>
<p>Para se obter e usar o sendEmail é só seguir os padrões Unix like (Linux) usados em toda a Galáxia:<br />
–> instalação manual/compilação –> tá aqui o <a href="http://caspian.dotconf.net/menu/Software/SendEmail/" target="_blank">binário do pacote</a> <br />
--> gerenciadores de pacote modernos: apt, yum, etc. Para quem usa distros Debian ou baseadas em Debian (Ubuntu, Knoppix, Xandros, etc) é só manter os repositórios regulares e usar o conhecido comando:</p>
<pre class="brush: plain; title: ; notranslate">apt-get install sendEmail</pre>
<p>* não se esqueça do “E” na palavra sendEmail<br />
O.B.S: após a instalação do sendEmail via apt não há, inicialmente, necessidade da modificação de nenhum arquivo conf.(deixe tudo nativo).</p>
<p>Depois acesse seu sistema como root:</p>
<pre class="brush: plain; title: ; notranslate">su</pre>
<p>Vá até a pasta pessoal do usuário corrente (ou seja, do root):</p>
<pre class="brush: plain; title: ; notranslate">cd ~ </pre>
<p>Agora liste todos os arquivos ocultos:</p>
<pre class="brush: plain; title: ; notranslate">ls -a </pre>
<p>Nossos alvos são os seguintes arquivos:</p>
<p>.bashrc (arquivo que é lido e carregado durante a entrada do usuário no sistema)<br />
.bash_logout (arquivo que é lido e carregado durante saída do usuário do sistema)<br />
.bash_history (arquivo que “reserva” os últimos comandos executados pelo corrente usuário no terminal) </p>
<p>Caso os arquivos citdos não existam é só criá-los que automaticamente de tornam funcionais:</p>
<pre class="brush: plain; title: ; notranslate">touch .bash_history</pre>
<p> ou</p>
<pre class="brush: plain; title: ; notranslate">touch .bash_logout</pre>
<p>Vamos ao comando direcionado para o sendEmail:</p>
<pre class="brush: plain; title: ; notranslate">sendEmail -f nome_do_host_a_ser_monitorado@seu.dominio -t seu_usuario@seu.email -u "Alerta: Entrada de root por `who | cut -d"(" -f2 | cut -d")" -f1`" -m "Acesso por root em host_alvo 192.168.X.X" -a /home/arquivo -s protocolo_envio@seu_email:porta_usada -xu usuário_do_seu_email -xp senha_do_seu_email 1> /dev/tty7</pre>
<p>Explicando os parâmetros:</p>
<p>-f –> endereço daquele que envia o email (exemplo: proxy@minha_empresa.com.br)<br />
-t –> endereço daquele que receberá o email (exemplo: ziraldocardoso@gmail.com)<br />
-u –> título da mensagem (aqui existe o comando “<b>who</b>” adicional que envia o IP da máquina que logou por SSH, por exemplo. Não modifique se deseja manter essa função).<br />
-m –> a menssagem em si (exemplo: Acesso por root em proxy IP 192.168.2.101)<br />
-a –> arquivo para anexar. Especifique um anexo se desejar (usado no logout. As 35 linhas finais do .bash_history são anexadas)<br />
-s –> protocolo para envio de mensagem seguido de : porta. Cada webmail tem as suas próprias especificações. É só olhar nas opções do Yahoo, Gmail ou outro e liberar o recebimento por aplicativo de envio automático (Thunderbird, MS Outlook, etc). (exemplo: smtp.minha_empresa.gov.br:25)<br />
-xu –> seu nome de usuário do webmail que vai receber o email (exemplo: ziraldo@gmail.com ou somente ziraldo)<br />
-xp –> sua senha de usuário do webmail<br />
1> /dev/tty7 –> redirecionamento da saída de tela para outro terminal. Não é algo elegante ter sempre uma descrição de envio de email pelo sendmail toda vez que se entra ou sai do sistema. E outra, um possível invasor não precisa saber que o admin está sendo notificado de sua invasão. (Você pode usar outro recurso se desejar)</p>
<p>Agora é só incluir essa “parafernalha” no final do arquivo .bashrc para notificação de login via email. Use seu editor de texto preferido e retire o parâmetro para anexo (-a). Exemplo:</p>
<pre class="brush: plain; title: ; notranslate">sendEmail -f nome_do_host_a_ser_monitorado@seu.dominio -t seu_usuario@seu.email -u "Alerta: Entrada de root por `who | cut -d"(" -f2 | cut -d")" -f1`" -m "Acesso por root em host_alvo 192.168.X.X" -s protocolo_de _envio@seu_email:porta_usada -xu usuário_do_seu_email -xp senha_do_seu_email 1> /dev/tty7</pre>
<p>Para o logout usa-se um recurso um pouco diferente: vamos anexar o arquivo .bash_history ao email enviado. É muito interessante poder saber quais foram os últimos comandos executados no terminal. Sei que qualquer invasor que se preze apaga o .bash_history e não executa “exit” (comentário feito por Thiago Finardi). Mas eu insisto nisso… Sabe o porquê? Porque na minha sala de TI trabalham várias pessoas que executam diversos comandos em diferentes terminais. Caso haja algum problema e eu não esteja no trabalho, posso dar imediato suporte porque os últimos comandos foram enviados para o meu email. <img class="wp-smiley" src="http://www.botecodigital.info/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" /> (fica frio, chefe!)</p>
<p>Edite o .bash_logout e na última linha inclua:</p>
<pre class="brush: plain; title: ; notranslate">sh /home/saida.bash_history</pre>
<p>*o nome do arquivo e o caminho podem variar de acordo com sua necessidade.</p>
<p>Crie o arquivo referenciado no local especificado acima:</p>
<pre class="brush: plain; title: ; notranslate">touch /home/saida.bash_history</pre>
<p>Crie um arquivo que em breve será usado como anexo:</p>
<pre class="brush: plain; title: ; notranslate">touch /home/resumo.bash_history</pre>
<p>*o nome do arquivo e o caminho podem variar de acordo com sua necessidade.</p>
<p>Agora edite o arquivo saida.bash_history conforme o exemplo:</p>
<pre class="brush: plain; title: ; notranslate">tail -n 35 /root/.bash_history > /home/resumo.bash_history</pre>
<pre class="brush: plain; title: ; notranslate">sendEmail -f nome_do_host_a_ser_monitorado@seu.dominio -t seu_usuario@seu.email -u "Alerta: Entrada de root por `who | cut -d"(" -f2 | cut -d")" -f1`" -m "Acesso por root em host_alvo 192.168.X.X" -a /home/resumo.bash_history -s protocolo_envio@seu_email:porta_usada -xu usuário_do_seu_email -xp senha_do_seu_email 1> /dev/tty7</pre>
<p>*o comando “<b>tail</b>” usado acima serve para exportar as últimas 35 linhas do .bash_history para o resumo.bash_history que servirá de anexo para o logout.</p>
<p>Considerações finais:</p>
<p>Teste quantas vezes for necessário até ter certeza do funcioanamento. Suprima a parte “<b>1> /dev/tty7</b>” durante a fase de implantação para que você possa observar todas as saídas de tela e ter certeza do funcionamento do sendEmail. Use sempre o comando “<b>exit</b>” para o logout e consequente execução do arquivo .bash_logout. Digo ainda que a pior parte é fazer os servidores do Yahoo, bol, Gmail, etc não rejeitarem o email enviado pelo sendEmail. Por causa disso acabei por usar um email organizacional não tão bom, mas que recebe tudo tranquilamente.</p>
<p>fontes:</p>
<p>man sendEmail<br />
<a href="http://caspian.dotconf.net/menu/Software/SendEmail/" target="_blank">http://caspian.dotconf.net/menu/Software/SendEmail/</a><br />
<a href="http://www.vivaolinux.com.br/artigo/Enviando-emails-pelo-terminal/?pagina=1" target="_blank">http://www.vivaolinux.com.br</a><br />
<a href="http://www.centraldolinux.org/notificacao-por-email-de-acesso-do-root/" target="_blank">http://www.centraldolinux.org</a></p>
<div><h4>Posts Relacionados:</h4><ul><li><a href="http://www.botecodigital.info/outros/recuperando-a-senha-de-root-do-mysql/"><img title="Recuperando a senha de root do MySQL" class="crp_thumb wp-post-image" src="http://www.botecodigital.info/wp-content/uploads/2010/09/mysql_logo.png" height="50" alt="Recuperando a senha de root do MySQL" width="50" /></a> <a href="http://www.botecodigital.info/outros/recuperando-a-senha-de-root-do-mysql/" class="crp_title">Recuperando a senha de root do MySQL</a></li><li><a href="http://www.botecodigital.info/linux/fixando-ip-ao-endereco-mac-nos-hosts-de-uma-lan/"><img title="Fixando IP ao endereço MAC nos hosts de uma LAN" class="crp_thumb wp-post-image" src="http://www.botecodigital.info/wp-content/uploads/2011/11/ip_mac.png" height="50" alt="Fixando IP ao endereço MAC nos hosts de uma LAN" width="50" /></a> <a href="http://www.botecodigital.info/linux/fixando-ip-ao-endereco-mac-nos-hosts-de-uma-lan/" class="crp_title">Fixando IP ao endereço MAC nos hosts de uma LAN</a></li><li><a href="http://www.botecodigital.info/php/enviando-email-com-phpmailer/"><img title="Enviando email com PHPmailer" class="crp_thumb wp-post-image" src="http://www.botecodigital.info/wp-content/uploads/2010/04/php.png" height="50" alt="Enviando email com PHPmailer" width="50" /></a> <a href="http://www.botecodigital.info/php/enviando-email-com-phpmailer/" class="crp_title">Enviando email com PHPmailer</a></li><li><a href="http://www.botecodigital.info/linux/instalando-g210m-no-ubuntu-e-debian/"><img title="Instalando G210m no Ubuntu e Debian" class="crp_thumb wp-post-image" src="http://www.botecodigital.info/wp-content/uploads/2010/06/linux2.png" height="50" alt="Instalando G210m no Ubuntu e Debian" width="50" /></a> <a href="http://www.botecodigital.info/linux/instalando-g210m-no-ubuntu-e-debian/" class="crp_title">Instalando G210m no Ubuntu e Debian</a></li></ul></div>
Aumentando a segurança com SendEmail
15 de Novembro de 2011, 0:00 - sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 252 vezes
0sem comentários ainda