Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blog de Thia...
Tela cheia

Aumentando a segurança com SendEmail

15 de Novembro de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 252 vezes
<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 &#8220;resposta mágica&#8221; 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: &#8220;Controlar e restringir o acesso do usuário administrativo (root)&#8221;.</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 /> &#8211;> instalação manual/compilação &#8211;> 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 &#8220;E&#8221; 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 &#8220;reserva&#8221; 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&gt; /dev/tty7</pre> <p>Explicando os parâmetros:</p> <p>-f &#8211;> endereço daquele que envia o email (exemplo: proxy@minha_empresa.com.br)<br /> -t &#8211;> endereço daquele que receberá o email (exemplo: ziraldocardoso@gmail.com)<br /> -u &#8211;> título da mensagem (aqui existe o comando &#8220;<b>who</b>&#8221; 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 &#8211;> a menssagem em si (exemplo: Acesso por root em proxy IP 192.168.2.101)<br /> -a &#8211;> arquivo para anexar. Especifique um anexo se desejar (usado no logout. As 35 linhas finais do .bash_history são anexadas)<br /> -s &#8211;> 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 &#8211;> seu nome de usuário do webmail que vai receber o email (exemplo: ziraldo@gmail.com ou somente ziraldo)<br /> -xp &#8211;> sua senha de usuário do webmail<br /> 1> /dev/tty7 &#8211;> 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 &#8220;parafernalha&#8221; 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&gt; /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 &#8220;exit&#8221; (comentário feito por Thiago Finardi). Mas eu insisto nisso&#8230; 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 &gt; /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&gt; /dev/tty7</pre> <p>*o comando &#8220;<b>tail</b>&#8221; 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 &#8220;<b>1> /dev/tty7</b>&#8221; 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 &#8220;<b>exit</b>&#8221; 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>
Fonte: http://www.botecodigital.info/linux/aumentando-a-seguranca-com-sendmail/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.