<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fogo na Caixa dAgua &#187; Seguranca</title>
	<atom:link href="http://www.fogonacaixadagua.com.br/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fogonacaixadagua.com.br</link>
	<description>http://www.fogonacaixadagua.com.br</description>
	<lastBuildDate>Tue, 20 Sep 2011 21:39:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>rootsh: Keylogger para CLI do Linux</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:11:43 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Keylogger]]></category>
		<category><![CDATA[Log]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1452</guid>
		<description><![CDATA[rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz. Fazer o download do rootsh-1.5.3.tar.gz. wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz Descompactar, configurar, compilar e instalar: tar zxvf rootsh-1.5.3.tar.gz -C /usr/src cd [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz.</p>
<p>Fazer o download do <a href=http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz>rootsh-1.5.3.tar.gz</a>.</p>
<pre class="brush: plain">
wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz
</pre>
<p>Descompactar, configurar, compilar e instalar:</p>
<pre class="brush: shell">
tar zxvf rootsh-1.5.3.tar.gz -C /usr/src
cd /usr/src/rootsh-1.5.3
./configure --disable-syslog --disable-linenumbering
make
make install
</pre>
<p>Depois de instalado os binários, o sistema está quase pronto. A única necessidade que falta é criar o diretório do rootsh em <tt>/var/log</tt> onde serão gravados os logs. Esse procedimento não está documentado, mas é necessário.</p>
<pre class="brush:plain">
mkdir /var/log/rootsh
</pre>
<h2>Garantindo que o usuário root usará o rootsh como shell padrão</h2>
<p>Para garantir que o usuário <tt>root</tt> usará o <tt>rootsh</tt> como shell padrão, adicione o <tt>rootsh</tt> ao arquivo <tt>/etc/shells</tt>:</p>
<pre class="brush:plain">
echo /usr/local/bin/rootsh >> /etc/shells
</pre>
<p>Após esse passo, definir o shell para o usuário <tt>root</tt></p>
<pre class="brush: plain">
usermod -s /usr/local/bin/rootsh root
</pre>
<p>Então, toda vez que o usuário <tt>root</tt> fizer login, seja direto por <tt>ssh</tt> ou por <tt>su</tt> será criado um arquivo de log em <tt>/var/log/rootsh</tt> com a seguinte estrutura:</p>
<pre class="brush: plain">
< user >.< date >< time >.< process id ></pre>
<p>A formatação de cada arquivo de log é exatamente a mesma que o usuário vê no terminal.</p>
<pre class="brush: shell">
cd /var/log/rootsh
ls
root.20100420105208.00a0a.closed
#
</pre>
<h2>Conclusão</h2>
<p>Se você não confia em seus sysadmins, ou se você quer ter um controle a mais do que está sendo feito no seu sistema, não tem erro com <tt>rootsh</tt></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Samba com Antivírus ClamAV no Red Hat 5.x / CentOS 5.x</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 21:51:48 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1317</guid>
		<description><![CDATA[Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvidos que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba. Essa versão do artigo irá cobrir Red Hat / CentOS versão 5.x. Pré-requisitos Instalação mínima do CentOS e RedHat 5.3 Utilizando o repositório Yum [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvidos que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba.</p>
<p>Essa versão do artigo irá cobrir Red Hat / CentOS versão 5.x.</p>
<h2>Pré-requisitos</h2>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/instalacao-minima-do-centos-e-redhat-5-3/">Instalação mínima do CentOS e RedHat 5.3</a></li>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/utilizando-o-repositorio-yum-rpmforge/">Utilizando o repositório Yum RPMforge</a></li>
</ul>
<h2>1.0 Instalando o ClamAV</h2>
<p>É necessário o repositório Yum RPMforge estar instalado e configurado. Veja &#8220;Pré-requisitos&#8221;.</p>
<pre class="brush: shell">yum install clamav clamav-db clamd
</pre>
<h3>1.1 Configurando o clamd</h3>
<p>Após a instalação do clamav, edite o arquivo <tt>/etc/clamd.conf</tt> e adeque as suas necessidades.</p>
<p>Para uma utilização geral, a seguinte configuração é suficiente:</p>
<p><strong>Arquivo: </strong><tt>/etc/clamd.conf</tt></p>
<pre class="brush: plain">LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxConnectionQueueLength 30
MaxThreads 50
ReadTimeout 300
User root
AllowSupplementaryGroups yes
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanMail yes
ScanArchive yes
ArchiveBlockEncrypted no
</pre>
<p>Por que o usuário &#8216;root&#8217;? Porque por padrão o Clamd roda como usuário &#8216;clamav&#8217; e quando o Samba chamar o clamav e for necessário apagar algum arquivo com vírus ele não vai ter permissão.</p>
<p>Inicar e garantir que iniciará no boot:</p>
<pre class="brush: plain">
chkconfig --levels 35 clamd on
service clamd start
</pre>
<pre class="brush: plain">Starting Clam AntiVirus Daemon:                            [  OK  ]
</pre>
<h3>1.2 Configurando freshclam para atualizações</h3>
<p>Editar o arquivo de configuração do freshclam que ficará parecido com o seguinte:</p>
<p><strong>Arquivo:</strong> <tt>/etc/freshclam.conf</tt></p>
<pre class="brush: plain; gutter: true">DatabaseDirectory /var/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogTime yes
DatabaseMirror db.br.clamav.net
DatabaseMirror database.clamav.net
DatabaseOwner root
NotifyClamd /etc/clamd.conf
SubmitDetectionStats /etc/clamd.conf
</pre>
<p>Criar o arquivo de log pro Freshclam</p>
<pre class="brush:plain">
touch /var/log/clamav/freshclam.log
chown clamav:clamav /var/log/clamav/freshclam.log
</pre>
<p>Caso seu servidor não tenha acesso diretamente à internet mas você possui um proxy na rede, coloque os seguintes parâmetros no arquivo <tt>/etc/freshclam.conf</tt> com as informações do proxy.</p>
<p><strong>Arquivo:</strong> <tt>/etc/freshclam.conf</tt></p>
<pre class="brush: plain">HTTPProxyServer 192.168.1.1
HTTPProxyPort 3128
HTTPProxyUsername user
HTTPProxyPassword s3nh4
</pre>
<p>Após isso, a permissão do arquivo <tt>/etc/freshclam.conf</tt> deverá ser <tt>0600</tt>.</p>
<pre class="brush: shell">chmod 0600 /etc/freshclam.conf
</pre>
<p>Pode-se executar o comando <tt>freshclam</tt> para atualizar a assinatura de vírus.</p>
<pre class="brush: shell">freshclam
</pre>
<h2>2.0 Instalando o Samba</h2>
<p>A versão que vem por padrão com o Red Hat / CentOS não é possível utilizar em conjunto com o vscan, por isso será necessário compilar o Samba para que tenha suporte ao samba-vscan.</p>
<h4>2.0.1 RPMs 64 bits gerados</h4>
<p>Se o seu SO é 64 bits, então os pacotes do Samba eu compilei e estou disponbilizando aqui, pra facilitar o trabalho e não ser necessário instalar o ambiente de desenvolvimento no servidor.</p>
<ul>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-3.0.33-3.14.x86_64.rpm">samba-3.0.33-3.14.x86_64.rpm</a></li>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-client-3.0.33-3.14.x86_64.rpm">samba-client-3.0.33-3.14.x86_64.rpm</a></li>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-common-3.0.33-3.14.x86_64.rpm">samba-common-3.0.33-3.14.x86_64.rpm</a></li>
</ul>
<p>Caso queira compilar, prossiga para o próximo passo</p>
<h4>2.0.2 Preparando o Samba para gerar o pacote .rpm</h4>
<p>Faça o download do RPM source do samba:</p>
<pre class="brush: plain">cd ~
wget http://netops.nexicom.net/centos/5.4/updates/SRPMS/samba-3.0.33-3.14.el5.src.rpm</pre>
<p>Instalar os arquivos:</p>
<pre class="brush: plain">rpm -ivh samba-3.0.33-3.14.el5.src.rpm
</pre>
<p>É necessário descompacatar o .tar.gz do código fonte e depois compactá-lo.</p>
<pre class="brush:shell">cd /usr/src/redhat/SOURCES
tar zxvf samba-3.0.33.tar.gz
cd samba-3.0.33/source
./autogen.sh &amp;&amp; ./configure
make proto
</pre>
<p>Se ao tentar compilar o Samba, ao executar os comandos acima você tiver a seguinte mensagem:</p>
<pre class="brush: plain">
./autogen.sh &#038;&#038; ./configure
./autogen.sh: running script/mkversion.sh
./script/mkversion.sh: 'include/version.h' created for Samba("3.0.33")
./autogen.sh: running autoheader -I. -Ilib/replace
./autogen.sh: running autoconf -I. -Ilib/replace
Now run ./configure and then make.
SAMBA VERSION: 3.0.33
LIBREPLACE_LOCATION_CHECKS: START
...
LIBREPLACE_LOCATION_CHECKS: END
LIBREPLACE_CC_CHECKS: START
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
</pre>
<p>É por que não tem os pacotes de desenvolvimento instalado, para resolver isso, instale-os:</p>
<pre class="brush: plain">
yum install rpm-build gcc gcc-c++ make autoconf automake libtool</pre>
<h3>2.1 Fazer o download do vscan</h3>
<h4>2.1.1 Binário 64bits do vscan</h4>
<p>Caso seu SO seja 64 bits, estou dispobilizando a biblioteca do vscan-clamav já compilada.</p>
<ul>
<li><a href="http://www.virtualxp.org/downloads/samba-vscan-0.3.6c-beta5/x86_64/vscan-clamav.so">vscan-clamav.so</a></li>
</ul>
<p>Caso seja 32 bits ou queira compilar o código fonte, prossiga para o próximo tópico.</p>
<h4>2.1.2 Compilando pelo código fonte</h4>
<pre class="brush: shell">cd ~
wget http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta5.tar.gz
</pre>
<p>Descompactar:</p>
<pre class="brush: shell">tar zxvf ~/samba-vscan-0.3.6c-beta5.tar.gz -C /usr/src
</pre>
<p>Compilar o samba-vscan:</p>
<pre class="brush: shell">cd /usr/src/samba-vscan-0.3.6c-beta5/
./configure --with-libclamav --with-samba-source=/usr/src/redhat/SOURCES/samba-3.0.33/source/
</pre>
<p>Ao final, você terá algo como:</p>
<pre class="brush: plain">** Configuration summary for samba-vscan 0.3.6c beta5 :

 Compile samba-vscan for Samba      : "3.0.33"
 Compile samba-vscan with sources in: /usr/src/redhat/SOURCES/samba-3.0.33/source/
 Compile samba-vscan backends       : oav sophos fprotd fsav trend icap mksd kavp clamav nai antivir
 Use GLOBAL_LIBS                    : -lmagic
 Use libmksd as                     : builtin
 Use libkavdc as                    : builtin
</pre>
<p>Hora de começar a compilar o samba-vscan:</p>
<pre class="brush: shell">cd /usr/src/samba-vscan-0.3.6c-beta5
make
</pre>
<p>Por enquanto é isso. Não execute <tt>make install</tt>.</p>
<h3>2.1 Gerando o .rpm para o samba com vscan</h3>
<h4>2.1.1 Gerar o .rpm do samba</h4>
<p>Agora é necessário compactar o diretório <tt>samba-3.0.33</tt> novamente pra gerar o .rpm com tudo certo dentro.</p>
<p>Instalar dependências:</p>
<pre class="brush: shell">yum install cups-devel gnutls-devel pam-devel readline-devel ncurses-devel libacl-devel openldap-devel openssl-devel
</pre>
<pre class="brush: shell">cd /usr/src/redhat/SOURCES/
mv samba-3.0.33.tar.gz samba-3.0.33.tar.gz.orig
tar zcvf samba-3.0.33.tar.gz samba-3.0.33
</pre>
<p>Gerar o .rpm do samba-3.0.33:</p>
<pre class="brush: shell">cd /usr/src/redhat/SPECS/
rpmbuild -bb samba.spec
</pre>
<p>Ao final do processo, você terá algo como:</p>
<pre class="brush: plain">Wrote: /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-swat-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-debuginfo-3.0.33-3.14.x86_64.rpm
...
</pre>
<p>Para instalar, utilizaremos o próprio <tt>rpm</tt>.</p>
<pre class="brush: plain">rpm -iUvh /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
</pre>
<p>Eu já tinha o samba instalado e nesse caso não me deixou instalar por cima e finalizou com as seguintes mensagens:</p>
<pre class="brush: plain">Preparing...                ########################################### [100%]
	package samba-common-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-common-3.0.33-3.14.x86_64) is already installed
	package samba-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-3.0.33-3.14.x86_64) is already installed
	package samba-client-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-client-3.0.33-3.14.x86_64) is already installed
</pre>
<p>Nesse caso é seguro executar o <tt>rpm</tt> com o parâmetro <tt>--force</tt></p>
<pre class="brush: plain">rpm -iUvh --force /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
</pre>
<pre class="brush: plain">Preparing...                ########################################### [100%]
   1:samba-common           ########################################### [ 33%]
   2:samba                  ########################################### [ 67%]
   3:samba-client           ########################################### [100%]
</pre>
<h2>3.0 Configuração do vscan</h2>
<p>No diretório <tt>/etc/samba</tt> crie o arquivo de configuração para o samba-vscan (um exemplo desse arquivo está em: <tt>/usr/src/samba-vscan-0.3.6c-beta5/clamav/vscan-clamav.conf)</tt></p>
<p><strong>Arquivo: </strong><tt>/etc/samba/vscan-clamav.conf</tt></p>
<pre class="brush:plain">max file size = 0
verbose file logging = no
scan on open = yes
scan on close = yes
deny access on error = yes
deny access on minor error = yes
send warning message = yes
infected file action = delete
quarantine directory  = /tmp
quarantine prefix = vir-
max lru files entries = 100
lru file entry lifetime = 5
exclude file types =
exclude file regexp =
clamd socket name = /var/run/clamav/clamd.sock
scan archives = yes
libclamav max files in archive = 1000
libclamav max archived file size = 10485760
libclamav max recursion level = 5
</pre>
<h3>64 bits</h3>
<p>Copie a lib gerada do vscan para o ClamAV que está em <tt>/usr/src/samba-vscan-0.3.6c-beta5/</tt></p>
<pre class="brush: plain">cd /usr/src/samba-vscan-0.3.6c-beta5/
cp vscan-clamav.so /usr/lib64/samba/vfs
</pre>
<h3>32 bits</h3>
<p>Copie a lib gerada do vscan para o ClamAV que está em <tt>/usr/src/samba-vscan-0.3.6c-beta5/</tt></p>
<pre class="brush: plain">cd /usr/src/samba-vscan-0.3.6c-beta5/
cp vscan-clamav.so /usr/lib/samba/vfs</pre>
<h2>4.0 Configuração do Samba para utilizar o vscan</h2>
<p>Edite o arquivo <tt>/etc/samba/smb.conf</tt> e adicione as entradas em <tt>[global]</tt></p>
<p><strong>Arquivo: </strong><tt>/etc/samba/smb.conf</tt></p>
<pre class="brush: plain">        vfs object = vscan-clamav
        vscan-clamav: config-file = /etc/samba/vscan-clamav.conf
</pre>
<p>Pronto.</p>
<p>Só falta iniciar ou reiniciar o Samba:</p>
<pre class="brush: shell">service smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
</pre>
<p>Os logs dos arquivos scanneados são mostrados em <tt>/var/log/messages</tt>.</p>
<h2>5.0 Não permitir que o yum atualize o Samba</h2>
<p>É interessante não permitir que o yum atualize o Samba, se isso acontecer, as alterações feitas pelo samba-vscan quando compilamos ele serão perdidas e você perderá as funcionalidade de antivírus do Samba.</p>
<p>Para fazer isso, é bem simples, adicione a seguinte linha no arquivo <tt>/etc/yum.conf</tt> na sessão <tt>[main]</tt></p>
<pre class="brush: plain">
exclude=samba*
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>FreeBSD: forçar uso de login e senha ao iniciar em single mode</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 16:10:19 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Seguranca]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1172</guid>
		<description><![CDATA[Sintoma Ao iniciar o FreeBSD em single mode, o Sistema entra direto como root, sem pedir senha. Causa Para evitar esse tipo de situação e obrigando quem quer que seja a saber a senha para poder mexer no sistema, proceda da seguinte maneira: Edite o arquivo /etc/ttys e procure pela linha console none unknown off [...]]]></description>
			<content:encoded><![CDATA[<h2>Sintoma</h2>
<p>Ao iniciar o FreeBSD em single mode, o Sistema entra direto como root, sem pedir senha.</p>
<h2>Causa</h2>
<p>Para evitar esse tipo de situação e obrigando quem quer que seja a saber a senha para poder mexer no sistema, proceda da seguinte maneira:</p>
<p>Edite o arquivo <tt>/etc/ttys</tt> e procure pela linha </p>
<pre class="brush: shell; gutter: false">
console none                            unknown off secure
</pre>
<h2>Solução</h2>
<p>E altere o parâmetro onde lê-se <tt>secure</tt> para <tt>insecure</tt>, ficando assim:</p>
<pre class="brush: shell; gutter: false">
console none                            unknown off insecure
</pre>
<p>Após isso, quando for iniciado no single mode, o acesso somente será permito à console mediante confirmação da senha.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SELinux: Política que permite o Postfix &#8216;conversar&#8217; com o gnarwl</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 05:59:24 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1127</guid>
		<description><![CDATA[O gnarwl é de longe o melhor auto-reply disponível, bastante customizável e o melhor é que usa LDAP e é facilmente integrado com o Postifx. Lembrando que se você tem o plugin &#8216;vacation&#8217; no squirrelmail ele não vai ter incompatilidade, uma vez que setando a auto-resposta no squirrelmail vai sobrescrever os dados colocados originalmente no [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>O gnarwl é de longe o melhor auto-reply disponível, bastante customizável e o melhor é que usa LDAP e é facilmente integrado com o Postifx.</p>
<p>Lembrando que se você tem o plugin &#8216;vacation&#8217; no squirrelmail ele não vai ter incompatilidade, uma vez que setando a auto-resposta no squirrelmail vai sobrescrever os dados colocados originalmente no LDAP manualmente ou pelo phamm ou pelo GOsa2, ou seja, tranquilo :)</p>
<p>Não vou discutir aqui como instalar o gnarwl, pois para isso vou fazer outro post.</p>
<p>Esse post é específico em criar uma política que permita o Postfix &#8220;conversar&#8221; com o gnarwl, ou seja, vai permitir que o Postfix envie a mensagem, via BCC ao gnarwl e este verificará se o campo vacationActive está como TRUE.</p>
<h2>Criando o arquivo com as regras</h2>
<p>Primero, crie o arquivo que contém as regras para o gnarwl, chamando-o de <tt>gnarwl.te</tt> e com o seguinte conteúdo:</p>
<p><tt>Arquivo gnarwl.te</tt></p>
<pre class="brush: plain; gutter: true">module gnarwl 1.0;

require {
	type var_lib_t;
	type postfix_postdrop_t;
	type postfix_local_t;
	type sendmail_exec_t;
	class unix_stream_socket { read write getattr };
	class file { execute read lock create execute_no_trans write getattr };
	class dir { write search add_name };
}

#============= postfix_local_t ==============
allow postfix_local_t sendmail_exec_t:file { read execute execute_no_trans };
allow postfix_local_t var_lib_t:dir { write add_name };
allow postfix_local_t var_lib_t:file { read lock getattr write create };

#============= postfix_postdrop_t ==============
allow postfix_postdrop_t postfix_local_t:unix_stream_socket { read write getattr };
</pre>
<p>Vou explicar algumas linhas.</p>
<p>Linha 7 e 14: o postfix tem que ter permissão para executar o sendmail, pois quando o email é encaminhado para o usuário gnarwl (é um usuário local do Linux) ele auto-responde a mensagem para quem enviou, por isso essa regra é necessária.</p>
<p>Linhas 8 e 19: ao acessar o arquivo <tt>.forward</tt> do home do gnarwl, tem o comando que faz um pipe para o executável do gnarwl, essa linha é <tt>|/usr/bin/gnarwl</tt>, por isso o postfix precisa dessa permissão.</p>
<h2>Compilando as regras</h2>
<p>Com o arquivo criado, é necessário compilar as régras e instalar a nova política.</p>
<pre class="brush: shell">checkmodule -M -m -o gnarwl.mod gnarwl.te</pre>
<p>O resultado do comando será algo parecido com:</p>
<pre class="brush:shell; gutter: false">checkmodule:  loading policy configuration from gnarwl.te
checkmodule:  policy configuration loaded
checkmodule:  writing binary representation (version 6) to gnarwl.mod
</pre>
<pre class="brush: shell">semodule_package -o gnarwl.pp -m gnarwl.mod</pre>
<p>Se tudo for Ok, não haverá resultado de saída.</p>
<pre class="brush: shell">semodule -i gnarwl.pp</pre>
<p>Se tudo for Ok, não haverá resultado de saída.</p>
<h2>Verificando a instalação</h2>
<p>O comando <tt>semodule -l</tt> lista todos os módulos instalados, veja que o novo módulo gnarwl 1.0 está instalado.</p>
<pre class="brush: shell; gutter: false">semodule -l |grep gnarwl
gnarwl	1.0
</pre>
<p>Se algum problema ocorreu no processo, comente sua dúvida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comportamento de um servidor comprometido</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 12:26:16 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Pânico]]></category>
		<category><![CDATA[Seguranca]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=997</guid>
		<description><![CDATA[As características apresentadas são um escopo geral de como você pode identificar ou partir para uma análise caso seu servidor comece a se comportar de forma estranha, como segue: As aplicações instaladas no servidor de repente começam a não responder de forma esperada, ou seja, problemas incomuns e um ambiente considerado estável Contas de usuários [...]]]></description>
			<content:encoded><![CDATA[<p>As características apresentadas são um escopo geral de como você pode identificar ou partir para uma análise caso seu servidor comece a se comportar de forma estranha, como segue:</p>
<ul>
<li>As aplicações instaladas no servidor de repente começam a não responder de forma esperada, ou seja, problemas incomuns e um ambiente considerado estável</li>
<li>Contas de usuários adicionais que você não consegue visualizar (elas podem ter sido feitas para parecer com contas do sistema)</li>
<li>Novos arquivos ou diretórios com nomes incomuns, por exemplo &#8216;&#8230;&#8217;, &#8216;.qualquercoisa&#8217; etc</li>
<li>Tráfego de rede acima do comum e que não podem ser atribuidas a um processo em particular</li>
<li>Você recebe um email de um departamento de segurança dizendo que seu servidor foi detectado em estar fazendo port scan ou enviando tráfego de rede malicioso para determinado site</li>
<li>O servidor está rodando significativamente lento e alto consumo de processamento.</li>
</ul>
<p>Esses são os pontos principais, onde, pode haver um ou até mesmo todos os sintomas listados acima, mas não limitado a esses.</p>
<h3>Link relacionado</h3>
<p>Nesse Blog, do meu amigo Luciano, tem uma análise completa de um host comprometido e detalhamento do que foi feito para identificar e combater. Obrigado pela contribuição Luciano!</p>
<ul>
<li><a title='Original Link: http://lucianoborguetti.blogspot.com/2009/06/possible-t0rn-v8-or-variation-rootkit.html'  href="http://www.fogonacaixadagua.com.br/?MFGvs4Hr">http://lucianoborguetti.blogspot.com/2009/06/possible-t0rn-v8-or-variation-rootkit.html</a></li>
</ul>
<p>Comente caso você tenha uma outra característica!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Centralized LOG with rSyslog recording in MySQL DB and Web UI for queries</title>
		<link>http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 13:35:54 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/</guid>
		<description><![CDATA[Having a centralized logging is a prerequisite if you want to have your logs intacts. But having the events recorded in plain files is virtually impossible for queries. Because of this, I will show you how to configure rsyslog to write events in MySQL DB and a web interface for queries with filters to facilitate [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Having a centralized logging is a prerequisite if you want to have your logs intacts. But having the events recorded in plain files is virtually impossible for queries.</p>
<p>Because of this, I will show you how to configure rsyslog to write events in MySQL DB and a web interface for queries with filters to facilitate viewing of the logs without have to access the console for such task.</p>
<p>The focus of this post is on CentOS / Red Hat, but it can be used in other distributions with a few modifications in the process.</p>

<a href="http://www.fogonacaixadagua.com.br/wp-content/gallery/instalacao-rsyslog/screenshot_phplogcon01.png" title="" class="shutterset_singlepic39" >
	<img class="ngg-singlepic" src="http://www.fogonacaixadagua.com.br/wp-content/gallery/cache/39__320xfloat=_screenshot_phplogcon01.png" alt="screenshot_phplogcon01" title="screenshot_phplogcon01" />
</a>


<a href="http://www.fogonacaixadagua.com.br/wp-content/gallery/instalacao-rsyslog/screenshot-7.png" title="" class="shutterset_singlepic40" >
	<img class="ngg-singlepic" src="http://www.fogonacaixadagua.com.br/wp-content/gallery/cache/40__320xfloat=_screenshot-7.png" alt="screenshot-7" title="screenshot-7" />
</a>

<p><span id="more-830"></span></p>
<h3>Prerequisites</h3>
<ul>
<li><a title="Permanent Link to Instalação mínima do CentOS e RedHat 5.3" title='Original Link: ../2009/08/instalacao-minima-do-centos-e-redhat-5-3/'  href="http://www.fogonacaixadagua.com.br/?skrMlJVS"> Instalação mínima do CentOS e RedHat 5.3 </a></li>
</ul>
<p>It may be interesting for you to use a web-based repository for Yum for this follow the instructions in this post</p>
<ul>
<li><a title="Permanent Link to CentOS 5: Utilizando repositório Yum da internet" title='Original Link: ../2009/09/centos-5-utilizando-repositorio-yum-da-internet/'  href="http://www.fogonacaixadagua.com.br/?rWy0zLsK">CentOS 5: Utilizando repositório Yum da internet </a></li>
</ul>
<h3>Installing the necessary packages</h3>
<pre class="brush: shell">yum install rsyslog.i386 rsyslog-mysql.i386 mysql-server php php-mysql php-gd httpd mod_ssl</pre>
<p>Making sure that the services will start at boot</p>
<pre class="brush: shell">chkconfig --levels 35 rsyslog on
chkconfig --levels 35 httpd on
chkconfig --levels 35 mysqld on</pre>
<h3>Setting rSyslog</h3>
<p>As <tt>syslog</tt> comes by default with CentOS 5 / Red Hat 5, it is necessary to disable it because both of them uses the same port to listen for write request (UDP 514). rSyslog won&#8217;t start if <tt>syslog</tt> is active.</p>
<pre class="brush: shell">service syslog stop
chkconfig --del syslog</pre>
<div style="border-style: none; margin: 1em 5em; padding: 0.2em; background-color: #bbffbb;">
<div style="float: left;"><img style="border-width: 0px; color: #003399;" src="http://www.fogonacaixadagua.com.br/images/Info.png" alt="" width="32" height="32" /></div>
<div style="margin-left: 36px;"><strong>Note</strong></p>
<p><br class="spacer_" /></p>
<p>rSyslog uses the same syntax as <tt>syslog.conf</tt>. So, if you have a customized configuration you can copy <tt>syslog.conf</tt> over <tt>rsyslog.conf</tt>, just remember to rename the original <tt>rsyslog.conf</tt> to <tt>rsyslog.conf.orig</tt> just in case something goes wrong then you can rollback to the original one.</p>
</div>
</div>
<p>To rSyslog have access to MySQL it&#8217;s necessary to load the <tt>ommysql</tt> plugin, add this line at the begin of the <tt>/etc/rsyslog.conf</tt> file.</p>
<pre class="brush: plain">$ModLoad ommysql.so</pre>
<h4>Creating a MySQL database for rSyslog</h4>
<p>Before everything, it&#8217;s needed to start MySQL service</p>
<pre class="brush: shell">service mysqld start</pre>
<p>As <tt>root</tt>, lets create the access for the user from rSyslog to connect do database</p>
<pre class="brush: shell">mysql</pre>
<pre class="brush: sql">mysql> CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'P45sword';
mysql> GRANT ALL PRIVILEGES ON Syslog.* TO 'rsyslog'@'localhost' WITH GRANT OPTION;</pre>
<p>Now, create the database that will be used by rSyslog</p>
<p>As root, run</p>
<pre class="brush: shell">mysql < /usr/share/doc/rsyslog-mysql-2.0.6/createDB.sql</pre>
<p>Back to the file, <tt>/etc/rsyslog.conf</tt> add this line before the rsyslog directives</p>
</pre>
<pre class="brush: plain">*.*    :ommysql:localhost,Syslog,rsyslog,P45sword</pre>
<p>This is the syntax:</p>
<pre class="brush: plain">   :ommysql:database-server,database-name,database-userid,database-password</pre>
<p>Where</p>
<ul>
<li> <strong>ommysql: </strong>is the plugin name</li>
<li> <strong>database-server: </strong>MySQL db server address (tipicaly localhost)</li>
<li> <strong>database-name: </strong>database</li>
<li> <strong>database-userid: </strong>the user allowed to connect to MySQL</li>
<li> <strong>database-password: </strong>user password</li>
</ul>
<p>At the end of this process, the file <tt>/etc/rsyslog.conf</tt> will look like</p>
<pre class="brush: plain">$ModLoad ommysql.so

*.*                      :ommysql:localhost,Syslog,rsyslog,P45sword

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log</pre>
<h4>Allowing remote connections to rSyslog</h4>
<p>Edit the <tt>/etc/sysconfig/rsyslog</tt> file and add the parameter <tt>-r</tt> at line 6</p>
<pre class="brush: plain; gutter: false">SYSLOGD_OPTIONS="-r -m 0"</pre>
<p>It&#8217;s possible to start rsyslog right now, so you can see if everything gonna ok</p>
<pre class="brush: shell; gutter: false">service rsyslog start</pre>
<p>Watch the log <tt>/var/log/messages</tt>, if everything is ok, a message from rsyslog starting may look like this one, without error</p>
<pre class="brush: plain; gutter: true">Sep 22 18:42:23 master rsyslogd: [origin software="rsyslogd" swVersion="2.0.6" x -pid="2779" x-info="http://www.rsyslog.com"][x-configInfo udpReception="Yes" udp Port="514" tcpReception="No" tcpPort="0"] restart
Sep 22 18:42:23 master kernel: rklogd 2.0.6, log source = /proc/kmsg started.</pre>
<h3>Installing the Web UI client for rSyslog</h3>
<p>With the rsyslog service ok, comes the part where we configure the web interface to make de filters, queries etc.</p>
<p>Download the frontend phpLogCon to your server</p>
<pre class="brush: shell">wget http://www.virtualxp.org/downloads/phplogcon-2.6.4.tar.gz</pre>
<p>Extract to <tt>/usr/src</tt></p>
<pre class="brush: shell">tar zxvf phplogcon-2.6.4.tar.gz -C /usr/src</pre>
<p>Go to directory where you extracted it, in this case <tt>/usr/src/phplogcon-2.6.4</tt> and copy the directory <tt>src</tt> to <tt>/var/www/html</tt></p>
<pre class="brush: shell">cp -R src /var/www/html/syslog
cd /var/www/html/syslog
touch config.php
chown apache config.php</pre>
<p>If you haven&#8217;t started apache yet, you can do it now</p>
<pre class="brush: shell">service httpd start</pre>
<pre class="brush: shell">Starting httpd:                                            [  OK  ]</pre>
<p>Access your web browser pointing to server address <tt>http://172.20.32.205/syslog</tt>, replace the address with your server.</p>
<p><img class="aligncenter size-full wp-image-799" title="Screenshot" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot.png" alt="Screenshot" width="670" height="573" /></p>
<p>Note the error, it&#8217;s normal and awaited. Click in &#8220;here&#8221; to start  configuring phpLogCon.</p>
<p><img class="aligncenter size-full wp-image-800" title="Screenshot-1" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-1.png" alt="Screenshot-1" width="667" height="573" /></p>
<p>The installer will check the OS for the prerequisites to start the program. Click &#8220;Next&#8221;.</p>
<p><img class="aligncenter size-full wp-image-801" title="Screenshot-2" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-2.png" alt="Screenshot-2" width="666" height="575" /></p>
<p>The test was done on the phpLogCon has write access to config.php file that we created and defined the permission. Click &#8220;Next&#8221; to continue.</p>
<p><img class="aligncenter size-full wp-image-802" title="Screenshot-3" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-31.png" alt="Screenshot-3" width="668" height="692" /></p>
<p>On Basic Configuration, let the default options selected. Click &#8220;Next&#8221;.</p>
<p><img class="aligncenter size-full wp-image-803" title="Screenshot-4" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-4.png" alt="Screenshot-4" width="668" height="692" /></p>
<p>This is the most important part, it&#8217;s here that will be configured the data sources from Syslog.</p>
<p>Change the field &#8220;<strong>Source Type</strong>&#8221; to &#8220;MySQL&#8221; and fill the fields on block  &#8220;Database Type Options&#8221;, like the figure above.</p>
<p>Click Next.</p>
<p><img class="aligncenter size-full wp-image-806" title="Screenshot-5" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-5.png" alt="Screenshot-5" width="670" height="523" /></p>
<p>Ready! All okie dokie now!</p>
<p>Click &#8220;Finish!&#8221; and you will be redirected to the main screen for the phpLogCon.</p>

<a href="http://www.fogonacaixadagua.com.br/wp-content/gallery/instalacao-rsyslog/screenshot-6.png" title="" class="shutterset_singlepic38" >
	<img class="ngg-singlepic" src="http://www.fogonacaixadagua.com.br/wp-content/gallery/cache/38__640x_screenshot-6.png" alt="screenshot-6" title="screenshot-6" />
</a>

<h3>Setting clients to log on Syslog server</h3>
<p>On Linux clientes that you wanna log on a Syslog server, you must configure <tt>/etc/syslog.conf</tt> and add the following line:</p>
<pre class="brush: plain; gutter: false">*.*                   @syslog_server</pre>
<p>Where, &#8220;syslog_server&#8221; is the hostname or IP Address from syslog server.</p>
<p>With this done, you need to restart Syslog service on host client</p>
<pre class="brush: shell">service syslog restart</pre>
<p>Those procedures are for Red Hat / CentOS servers clients. You should adapt to you distribution.</p>
<p>Please, leave a comment showing the procedure for your client! It will be very helpful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>LOG centralizado com rSyslog gravando em MySQL e interface web para consultas</title>
		<link>http://www.fogonacaixadagua.com.br/2009/09/rsyslog-gravando-no-mysql-e-com-interface-web-para-consultas/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/09/rsyslog-gravando-no-mysql-e-com-interface-web-para-consultas/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 23:39:25 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=781</guid>
		<description><![CDATA[Ter um log centralizado é um pré-requisito se você quer ter seus logs íntegros. Mas ter os eventos registrados apenas em arquivos é praticamente inviável para consultas. Por conta disso, mostrarei aqui como configurar o rSyslog para gravar os eventos no MySQL e uma interface web para consultas, com filtros e tudo o mais para [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/09/rsyslog-gravando-no-mysql-e-com-interface-web-para-consultas/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Ter um log centralizado é um pré-requisito se você quer ter seus logs íntegros. Mas ter os eventos registrados apenas em arquivos é praticamente inviável para consultas.</p>
<p>Por conta disso, mostrarei aqui como configurar o rSyslog para gravar os eventos no MySQL e uma interface web para consultas, com filtros e tudo o mais para facilitar a visualização dos logs sem ser precisso acessar a console para tal atividade.</p>
<p><span id="more-781"></span></p>
<h3>Pré-requisitos</h3>
<ul>
<li><a title="Permanent Link to Instalação mínima do CentOS e RedHat 5.3" title='Original Link: ../2009/08/instalacao-minima-do-centos-e-redhat-5-3/'  href="http://www.fogonacaixadagua.com.br/?skrMlJVS"> Instalação mínima do CentOS e RedHat 5.3 </a></li>
</ul>
<p>Talvez seja interessante pra você utilizar um repositório Web para o Yum, para isso siga as instruções desse post</p>
<ul>
<li><a title="Permanent Link to CentOS 5: Utilizando repositório Yum da internet" title='Original Link: ../2009/09/centos-5-utilizando-repositorio-yum-da-internet/'  href="http://www.fogonacaixadagua.com.br/?rWy0zLsK">CentOS 5: Utilizando repositório Yum da internet </a></li>
</ul>
<h3>Instalando os pacotes necessários</h3>
<pre class="brush: shell">yum install rsyslog.i386 rsyslog-mysql.i386 mysql-server php php-mysql php-gd httpd mod_ssl</pre>
<p>Certificando que os serviços inicializarão no boot</p>
<pre class="brush: shell">chkconfig --levels 35 rsyslog on
chkconfig --levels 35 httpd on
chkconfig --levels 35 mysqld on</pre>
<h3>Configurando o rSyslog</h3>
<p>Como o <tt>syslog</tt> vem por padrão instalado no CentOS 5 / Red Hat 5, é necessário desabilitá-lo porque ambos utilizam a mesma porta para ouvir requisições de gravação remotas (UDP 514) e o rSyslog não vai iniciar se o <tt>syslog</tt> estiver ativo.</p>
<pre class="brush: shell">service syslog stop
chkconfig --del syslog</pre>
<div style="border-style: none; margin: 1em 5em; padding: 0.2em; background-color: #bbffbb;">
<div style="float: left;"><img style="border-width: 0px; color: #003399;" src="http://www.fogonacaixadagua.com.br/images/Info.png" alt="" width="32" height="32" /></div>
<div style="margin-left: 36px;"><strong>Nota</strong></p>
<p><br class="spacer_" /></p>
<p>O rSyslog entende a mesma sintaxe do <tt>syslog.conf</tt>. Então, se você tiver uma configuração específica para o syslog hoje pode copiar o arquivo <tt>syslog.conf</tt> para <tt>rsyslog.conf</tt>, lembrando de renomear o <tt>rsyslog.conf</tt> para <tt>rsyslog.conf.orig</tt>, assim caso alguma coisa aconteça de errado poderá voltar o arquivo original.</p>
</div>
</div>
<p>Para o rSyslog ter acesso ao MySQL é preciso carregar o plugin <tt>ommysql</tt>, acrescente essa linha no início do arquivo <tt>/etc/rsyslog.conf</tt></p>
<pre class="brush: plain">$ModLoad ommysql.so</pre>
<h4>Criando a base MySQL para o rSyslog</h4>
<p>Antes de tudo é preciso iniciar o serviço do MySQL</p>
<pre class="brush: shell">service mysqld start</pre>
<p>Como <tt>root</tt>, vamos criar o acesso para o usuário do banco que o rSyslog irá utilizar para conectar-se</p>
<pre class="brush: shell">mysql</pre>
<pre class="brush: sql">mysql> CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'P45sword';
mysql> GRANT ALL PRIVILEGES ON Syslog.* TO 'rsyslog'@'localhost' WITH GRANT OPTION;</pre>
<p>E agora, criar o banco de dados que será utilizado pelo rSyslog.</p>
<p>Como root, execute o comando</p>
<pre class="brush: shell">mysql < /usr/share/doc/rsyslog-mysql-2.0.6/createDB.sql</pre>
<p>De volta ao arquivo <tt>/etc/rsyslog.conf</tt> acrescente essa linha, antes das diretivas do rSyslog</p>
</pre>
<pre class="brush: plain">*.*    :ommysql:localhost,Syslog,rsyslog,P45sword</pre>
<p>A sintaxe é essa:</p>
<pre class="brush: plain; gutter: true">:ommysql:database-server,database-name,database-userid,database-password</pre>
<p>Onde</p>
<ul>
<li> <strong>ommysql: </strong>é o nome do plugin</li>
<li> <strong>database-server: </strong>endereço do servidor do MySQL</li>
<li> <strong>database-name: </strong>nome da base</li>
<li> <strong>database-userid: </strong>usuário que conectar-se-á e tem permissão no MySQL</li>
<li> <strong>database-password: </strong>senha do usuário</li>
</ul>
<p>Ao final do processo o arquivo <tt>/etc/rsyslog.conf</tt> parecerá com o seguinte</p>
<pre class="brush: plain">$ModLoad ommysql.so

*.*                      :ommysql:localhost,Syslog,rsyslog,P45sword

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log</pre>
<h4>Permitindo conexões remotas ao rSyslog</h4>
<p>Edite o arquivo <tt>/etc/sysconfig/rsyslog</tt> e acresente o parâmetro <tt>-r</tt> na linha 6</p>
<pre class="brush: plain; gutter: false">SYSLOGD_OPTIONS="-r -m 0"</pre>
<p>Já é possível iniciar o <tt>rsyslog</tt> para ver se tudo ocorreu bem.</p>
<pre class="brush: shell; gutter: false">service rsyslog start</pre>
<p>Verifique o log <tt>/var/log/messages</tt> e se tudo foi certo, a mensagem referente ao rsyslog iniciando deve ser como essa, sem erros</p>
<pre class="brush: plain; gutter: true">Sep 22 18:42:23 master rsyslogd: [origin software="rsyslogd" swVersion="2.0.6" x -pid="2779" x-info="http://www.rsyslog.com"][x-configInfo udpReception="Yes" udp Port="514" tcpReception="No" tcpPort="0"] restart
Sep 22 18:42:23 master kernel: rklogd 2.0.6, log source = /proc/kmsg started.</pre>
<h3>Instalando e configurando a interface Web para o rSyslog</h3>
<p>Com o serviço rsyslog configurado vem a parte necessária da interface Web para consultas e etc.</p>
<p>Baixe o frontend phpLogCon para o computador</p>
<pre class="brush: shell">wget http://www.virtualxp.org/downloads/phplogcon-2.6.4.tar.gz</pre>
<p>Descompacte o arquivo para <tt>/usr/src</tt></p>
<pre class="brush: shell">tar zxvf phplogcon-2.6.4.tar.gz -C /usr/src</pre>
<p>Vá ao diretório onde descompactou, no caso o <tt>/usr/src/phplogcon-2.6.4</tt> e copie o diretório <tt>src</tt> para <tt>/var/www/html</tt></p>
<pre class="brush: shell">cp -R src /var/www/html/syslog
cd /var/www/html/syslog
touch config.php
chown apache config.php</pre>
<p>Se você não iniciou o apache ainda, pode iniciar agora</p>
<pre class="brush: shell">service httpd start</pre>
<pre class="brush: shell">Starting httpd:                                            [  OK  ]</pre>
<p>Acesse agora, do navegador do seu computador o host <tt>http://172.20.32.205/syslog</tt>, substitua o endereço para o do seu servidor.</p>
<p><img class="aligncenter size-full wp-image-799" title="Screenshot" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot.png" alt="Screenshot" width="670" height="573" /></p>
<p>Note o erro, é normal e esperado. Clique em &#8220;here&#8221; para configurar o phpLogCon</p>
<p><img class="aligncenter size-full wp-image-800" title="Screenshot-1" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-1.png" alt="Screenshot-1" width="667" height="573" /></p>
<p>Agora o instalador verificará se o SO tem os pré-requisitos necessários para rodar o programa. Clique em &#8220;Next&#8221;.</p>
<p><img class="aligncenter size-full wp-image-801" title="Screenshot-2" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-2.png" alt="Screenshot-2" width="666" height="575" /></p>
<p>O teste feito foi referente se o phpLogCon tem acesso à escrita no arquivo config.php que criamos e definimos a permissão. Clique em &#8220;Next&#8221; para prosseguir.</p>
<p><img class="aligncenter size-full wp-image-802" title="Screenshot-3" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-31.png" alt="Screenshot-3" width="668" height="692" /></p>
<p>Nas configurações básicas, deixe as oções padrão marcadas e clique em &#8220;Next&#8221;.</p>
<p><img class="aligncenter size-full wp-image-803" title="Screenshot-4" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-4.png" alt="Screenshot-4" width="668" height="692" /></p>
<p>Essa é a tela de configuração mais importante. É nela que será configurado a origem dos dados dos eventos do Syslog.</p>
<p>Mude o campo &#8220;<strong>Source Type</strong>&#8221; para &#8220;MySQL&#8221; e preencha os campos da sessão &#8220;Database Type Options&#8221; como na figura acima.</p>
<p>Clique em Next.</p>
<p><img class="aligncenter size-full wp-image-806" title="Screenshot-5" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/Screenshot-5.png" alt="Screenshot-5" width="670" height="523" /></p>
<p>Pronto! Tudo okie dokie agora!</p>
<p>Clique em &#8220;Finish!&#8221; e você será direcionado para a tela principal do phpLogCon.</p>

<a href="http://www.fogonacaixadagua.com.br/wp-content/gallery/instalacao-rsyslog/screenshot-6.png" title="" class="shutterset_singlepic38" >
	<img class="ngg-singlepic" src="http://www.fogonacaixadagua.com.br/wp-content/gallery/cache/38__640x_screenshot-6.png" alt="screenshot-6" title="screenshot-6" />
</a>

<h3>Configurando clientes para logar no servidor rSyslog</h3>
<p>Nos clientes Linux / FreeBSD etc, que você quer que os logs sejam enviados ao servidor do rSyslog, você deve configurar o <tt>/etc/syslog.conf</tt> para essa finalidade. Adicione a seguinte linha:</p>
<pre class="brush: plain; gutter: false">*.*                   @syslog_server</pre>
<p>Onde, &#8220;syslog_server&#8221; é o hostname ou IP do servidor syslog.</p>
<p>Quando terminar, é necessário reiniciar o serviço do syslog no lado do cliente.</p>
<pre class="brush: shell">service syslog restart</pre>
<p>Esses procedimentos são para Red Hat / CentOS e clientes Linux em geral. Para outros sistemas, deve-se adaptar de acordo.</p>
<p>Deixe um comentário mostrando como foi feito para o seu cliente utilizar essa solução de log centralizado! Será de bastante valor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/09/rsyslog-gravando-no-mysql-e-com-interface-web-para-consultas/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bloquear lista de IPs com iptables</title>
		<link>http://www.fogonacaixadagua.com.br/2009/09/bloquear-listas-de-ips-com-iptables/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/09/bloquear-listas-de-ips-com-iptables/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 17:45:51 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[RedHat]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=765</guid>
		<description><![CDATA[Crie o arquivo /etc/iptables/blocked.ips com a lista de IPs ou redes a serem bloqueados. Como exemplo 192.168.0.0/24 200.122.53.11 74.67.1.213 E o script que será o responsável por carregar as regras. #!/bin/bash IPT=`which iptables` SPAMLIST="spamlist" SPAMDROPMSG="SPAM LIST DROP" BADIPS=$(egrep -v -E "^#&#124;^$" /etc/iptables/blocked.ips) # create a new iptables list $IPT -N $SPAMLIST for ipblock in $BADIPS [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/09/bloquear-listas-de-ips-com-iptables/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Crie o arquivo <tt>/etc/iptables/blocked.ips</tt> com a lista de IPs ou redes a serem bloqueados.</p>
<p>Como exemplo</p>
<pre class="brush: plain">192.168.0.0/24
200.122.53.11
74.67.1.213
</pre>
<p>E o script que será o responsável por carregar as regras.</p>
<pre class="brush: shell">#!/bin/bash

IPT=`which iptables`
SPAMLIST="spamlist"
SPAMDROPMSG="SPAM LIST DROP"
BADIPS=$(egrep -v -E "^#|^$" /etc/iptables/blocked.ips)

# create a new iptables list
$IPT -N $SPAMLIST

for ipblock in $BADIPS
do
   $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
   $IPT -A $SPAMLIST -s $ipblock -j DROP
done

$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/09/bloquear-listas-de-ips-com-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando o Yum para fazer apenas atualizações de segurança</title>
		<link>http://www.fogonacaixadagua.com.br/2009/09/usando-o-yum-para-fazer-apenas-atualizacoes-de-seguranca/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/09/usando-o-yum-para-fazer-apenas-atualizacoes-de-seguranca/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 02:24:18 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[Yum]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=564</guid>
		<description><![CDATA[Com um sistema estável e rodando por um longo período você apenas deseja fazer a atualização de programas que são conhecidamente vulneráveis, ou seja, quer saber como fazer apenas atualizações de segurança sem atualizar todo o sistema operacional. Irei mostrar aqui como proceder para apenas atualizar os pacotes vulneráveis, sem tocar em outros que são [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/09/usando-o-yum-para-fazer-apenas-atualizacoes-de-seguranca/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Com um sistema estável e rodando por um longo período você apenas deseja fazer a atualização de programas que são conhecidamente vulneráveis, ou seja, quer saber como fazer apenas atualizações de segurança sem atualizar todo o sistema operacional.</p>
<p>Irei mostrar aqui como proceder para apenas atualizar os pacotes vulneráveis, sem tocar em outros que são conhecidamente estáveis.</p>
<p>É possível instalar para o Yum um plugin que cuida disso, lista e atualiza pacotes que contenham BUGs, CVE (Common Vulnerabilities Exposure) ou problemas de funcionamento.</p>
<p><span id="more-564"></span></p>
<h3>Pré-requisitos</h3>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/instalacao-minima-do-centos-e-redhat-5-3/">Instalação mínima do CentOS e RedHat 5.3</a></li>
</ul>
<h3>Instalando o Plugin</h3>
<p>Execute o seguinte comando</p>
<pre class="brush: plain; gutter: true">yum install yum-security</pre>
<h4>Listando as atualizações de segurança disponíveis</h4>
<p>Com o comando <tt>yum list-security</tt> o Yum mostrará uma lista com os programas que possuem atualizações disponíveis</p>
<pre class="brush: plain; gutter: true">yum list-security</pre>
<p>Note que ao executar o Yum, logo abaixo ele mostra quais plugins estão sendo carregados em tempo de execução:</p>
<pre class="brush: plain; gutter: false; highlight: [1]">Loaded plugins: fastestmirror, security</pre>
<p>Para listar todas as atualizações de segurança relevantes e ter um retorno sobre onde há atualizações, use o comando</p>
<pre class="brush: plain; gutter: true">yum --security check-update</pre>
<p>Se tudo estiver OK, o retorno será parecido com esse</p>
<pre class="brush: plain; gutter: true; highlight: [2]">Limiting package lists to security relevant ones
No packages needed, for security, 40 available</pre>
<p>Pra ter uma lista de todos os pacotes com BUGs corrigidos e que você tem instalado no seu sistema, execute o comando</p>
<pre class="brush: plain; gutter: true">yum list-security bugzillas</pre>
<h3>Atualizando todos os pacotes vulneráveis/com BUGs</h3>
<p>Já que o objetivo é realmente ter o SO livre de BUGs e CVEs, nada mais justo que atualizar todos os pacotes vulneráveis.</p>
<pre class="brush: plain; gutter: true">yum update --security</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/09/usando-o-yum-para-fazer-apenas-atualizacoes-de-seguranca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Segurança Linux Layer 8 &#8211; Usuário</title>
		<link>http://www.fogonacaixadagua.com.br/2009/09/seguranca-linux-layer-8-usuario/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/09/seguranca-linux-layer-8-usuario/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 19:24:05 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Keylogger]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=314</guid>
		<description><![CDATA[Usuários Linux e administradores de sistema frequentemente não possuem um foco geral em alterações do SO, logs e rastreamento do que foi feito em uma invasão. Não tem como começar a falar sobre segurança a nível de &#8220;Layers&#8221; (camada OSI) sem entrar no assunto IDS, no caso a ferramenta mais conhecida: Snort. http://www.fogonacaixadagua.com.br/2y7 [Configurando e [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/09/seguranca-linux-layer-8-usuario/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "normal";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button socialize-in-button-vertical"><iframe src="http://www.facebook.com/plugins/like.php?href=http://www.fogonacaixadagua.com.br/2009/09/seguranca-linux-layer-8-usuario/&amp;layout=box_count&amp;show_faces=true&amp;width=&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:px !important; height:65px;" allowTransparency="true"></iframe></div></div><p>Usuários Linux e administradores de sistema frequentemente não possuem um foco geral em alterações do SO, logs e rastreamento do que foi feito em uma invasão.</p>
<p><img class="aligncenter size-medium wp-image-372" title="osi_8" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/osi_8-300x234.jpg" alt="osi_8" width="300" height="234" /></p>
<p><span id="more-314"></span></p>
<p>Não tem como começar a falar sobre segurança a nível de &#8220;Layers&#8221; (camada OSI) sem entrar no assunto IDS, no caso a ferramenta mais conhecida: Snort.</p>
<blockquote><p><a href="http://www.fogonacaixadagua.com.br/2y7" target="_blank">http://www.fogonacaixadagua.com.br/2y7</a> [Configurando e instalando Snort, em inglês]</p></blockquote>
<p>Nem sempre o Snort vê todos os possíveis exploits de segurança. Enquanto ele testa tráfego de pacotes em camadas superiores da OSI, ele não detectará Backdoors e rootkits. Também não detectará acesso shell ou SSH de usuários descontentes, usuários não autorizados nem outros administradores ou usuários comuns.</p>
<h3>Keyloggers</h3>
<p><strong>A recomendação do CERT é que qualquer servidor suspeito seja refeito</strong>, mas geralmente os administratores não conseguem obter provas de tal fato.</p>
<blockquote><p><a title='Original Link: http://www.cert.org/tech_tips/win-UNIX-system_compromise.html'  href="http://www.fogonacaixadagua.com.br/?BXuc2rcO">http://www.cert.org/tech_tips/win-UNIX-system_compromise.html</a></p></blockquote>
<p>Os keyloggers mais utilizados no Linux incluem:</p>
<h4>a) nível do PAM</h4>
<p>Enquanto modificações no PAM é um assunto muito abrangente e merece um tópico só sobre ele, vários keyloggers podem ser utilizados usando o PAM. O utilitário &#8220;rootsh&#8221; é uma solução  bastante interessante.</p>
<p>rootsh [<a title='Original Link: http://freshmeat.net/projects/rootsh/'  href="http://www.fogonacaixadagua.com.br/?BoZ6pwmQ" target="_blank">http://freshmeat.net/projects/rootsh/</a>]</p>
<blockquote><p>Rootsh is a wrapper for shells that logs all echoed  keystrokes and terminal output to a file and/or to syslog. Its main purpose is the auditing of users who need a shell with root privileges. They start rootsh through the sudo mechanism.</p></blockquote>
<h4>Quais os benefícios de se usar o rootsh ao invés de script(1)?</h4>
<p>Porque script(1):</p>
<ul>
<li>não envia entrada/saída para um servidor syslog</li>
<li>não pode ser usado como login shell</li>
<li>não detecta interferências no arquivo de log</li>
<li>não pode ser restrito a apenas alguns comandos</li>
</ul>
<p>Permite que você habilite um logger a nível de sistema que mostrará tudo o que for digitado no terminal independente se o usuário use o comando `sudo` ou logue-se normalmente.</p>
<p>&#8220;rootsh&#8221; é extremamente útil, especialmente se você possui mais de um sysadmin ou usuário root  (<em>a recomendação é que você sempre desabilite completamente o acesso do usuário root e utilizar o &#8216;sudo&#8217;</em>)</p>
<p>Por padrão, o programa &#8220;rootsh&#8221; grava os logs em /var/log/rootsh (pode ser alterado durante a configuração). Claro que os logs podem ser editados, como qualquer arquivo log, ao menos que você utilize uma opção de logs centralizado com syslogd ou syslog-ng.</p>
<h4>b) Keylogger a nível do kernel</h4>
<blockquote><p>Sebek is kernel module installed on high-interaction honeypots for the purpose of extensive data collection. It allows administrators to collect activities such as keystrokes on the system, even in encrypted environments. Designed primarily for Win32 and Linux systems.</p></blockquote>
<p><a title='Original Link: https://projects.honeynet.org/sebek/'  href="http://www.fogonacaixadagua.com.br/?s0QUHhQM">https://projects.honeynet.org/sebek/</a></p>
<p>Sebek é um módulo para o kernel que tembém está disponível para Windows.</p>
<p><a title='Original Link: http://www.honeynet.org.pt/index.php/HoneyMole'  href="http://www.fogonacaixadagua.com.br/?a8YXOE4D" target="_blank">http://www.honeynet.org.pt/index.php/HoneyMole</a></p>
<h4>c) Hardware keyloggers</h4>
<p><img class="alignleft size-full wp-image-412" title="Keylogger USB" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/kusb_mini1.jpg" alt="Keylogger USB" width="71" height="50" /><img class="alignleft size-full wp-image-413" title="Keylogger PS2" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/09/kps201_m3.jpg" alt="Keylogger PS2" width="73" height="50" /> Estes mascaram USB-to-PCI e são geralmente colocados juntos a KVMs.</p>
<p><a title='Original Link: http://www.keelog.com/download.html'  href="http://www.fogonacaixadagua.com.br/?mWCp1Pgb">http://www.keelog.com/download.html</a></p>
<p>Ficam entre o teclado e a interface onde o teclado está conectado, sendo praticamente impossível detectar via software. Armazenam os dados digitados pelo teclado que podem ser baixados outra hora para verificação.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/09/seguranca-linux-layer-8-usuario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: Configurando Samba com antivírus realtime (Samba, vscan e clamav)</title>
		<link>http://www.fogonacaixadagua.com.br/2009/03/freebsd-configurando-samba-com-antivirus-realtime-samba-vscan-e-clamav/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/03/freebsd-configurando-samba-com-antivirus-realtime-samba-vscan-e-clamav/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 21:04:15 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[antivírus]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://virtualxp.org/portal/?p=71</guid>
		<description><![CDATA[Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvido que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba. Essa versão do artigo irá cobrir FreeBSD versões 6.x e 7.x, uma outra será feita para Red Hat e CentOS com geração dos RPMs [...]]]></description>
			<content:encoded><![CDATA[<p>Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvido que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba.</p>
<p>Essa versão do artigo irá cobrir FreeBSD versões 6.x e 7.x, uma outra será feita para Red Hat e CentOS com geração dos RPMs para as plataformas.</p>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/">Samba com Antivírus ClamAV no Red Hat / CentOS</a></li>
</ul>
<h3>Instalando o Clamav</h3>
<p>No FreeBSD, instalar o Clamav é recomendável fazer pelo ports mesmo, forma mais tranquila de instalar.</p>
<pre class="brush: bash">cd /usr/ports/security/clamav
make config</pre>
<p style="text-align: center;"><img class="alignnone size-full wp-image-73" title="picture-3" src="http://virtualxp.org/portal/wp-content/uploads/2009/03/picture-3.png" alt="picture-3" width="421" height="289" /></p>
<p>Deixar as opções selecionadas como na imagem.</p>
<h4>Instalar o clamav:</h4>
<pre class="brush: bash">make install</pre>
<p>Após a instalação, editar o arquivo /usr/local/etc/freshclam.conf e comentar a linha onde lê-se: Example</p>
<p>O arquivo /usr/local/etc/freshclam.conf terá como conteúdo algo parecido com o seguinte, caso seu ambiente seja diferente, adapte-o de acordo com as suas necessidades.</p>
<h4>Arquivo /usr/local/etc/freshclam.conf</h4>
<pre class="brush: plain">DatabaseDirectory /var/db/clamav
UpdateLogFile /var/log/freshclam.log
LogTime yes
LogSyslog yes
PidFile /var/run/clamd/freshclam.pid
DatabaseOwner clamav
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror db.br.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd /usr/local/etc/clamd.conf
SubmitDetectionStats /usr/local/etc/clamd.conf
DetectionStatsCountry BR</pre>
<p>O mesmo aplica-se ao arquivo /usr/local/etc/clamd.conf</p>
<h4>Arquivo /usr/local/etc/clamd.conf</h4>
<pre class="brush: bash">LogFileMaxSize 2M
LogTime yes
LogSyslog yes
LogFile /var/log/clamd.log
PidFile /var/run/clamd/clamd.pid
LocalSocket /tmp/clamd.socket
TCPSocket 3310
TCPAddr 127.0.0.1
User clamav
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanPDF yes
ScanMail yes
MailFollowURLs no
ScanPartialMessages yes
PhishingSignatures yes
PhishingScanURLs yes
PhishingAlwaysBlockSSLMismatch no
PhishingAlwaysBlockCloak no
HeuristicScanPrecedence yes
ScanHTML yes
ScanArchive yes</pre>
<p>Acrescentar as seguintes linhas ao arquivo /etc/rc.conf:</p>
<pre class="brush: bash">clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"</pre>
<p>Criar os arquivos de log e definir permissões corretas</p>
<pre class="brush: shell">
touch /var/log/clamd.log /var/log/freshclam.log
chown clamav:clamav /var/log/clamd.log /var/log/freshclam.log
mkdir -p /var/run/clamd
chown clamav:clamav /var/run/clamd
</pre>
<p>Após a configuração, iniciar o clamd e fazer a atualização da base de vírus.</p>
<pre class="brush: bash">/usr/local/etc/rc.d/clamav-clamd start
freshclam</pre>
<h3>Instalando o Samba 3</h3>
<h4>Baixando o código fonte</h4>
<p>É realmente necessário recompilar o samba para ter a funcionalidade do vscan, pois somente com os binários ele não irá compilar.</p>
<p>Não testei com outra versão, portanto não sei da estabilidade/funcionalidade, aqui utilizarei a versão 3.0.34 do samba.</p>
<pre class="brush: bash">cd ~
fetch http://download.samba.org/samba/ftp/stable/samba-3.0.34.tar.gz
tar zxvf samba-3.0.34.tar.gz -C /usr/src
cd /usr/src/samba-3.0.34/source
./configure
gmake proto
gmake
gmake install</pre>
<p>O samba será instalado por padrão no diretório /usr/local/samba.</p>
<h4>Desabilitando o samba atual (instalado pelo ports [se houver])</h4>
<p>Se você possui o samba instalado hoje pelo ports deverá desativá-lo e desabilitá-lo da inicialização automática, defina o parâmetro de inicialização de cada daemon como &#8220;NO&#8221;:</p>
<pre class="brush: bash">samba_enable="NO"</pre>
<p>ou as linhas</p>
<pre class="brush: bash">nmbd_enable="NO"
smbd_enable="NO"
winbindd_enable="NO"</pre>
<p>do arquivo /etc/rc.conf</p>
<p>Se desejar desinstalar definitivamente o samba do servidor, basta entrar no ports <code>/usr/ports/net/samba3</code> e executar o comando</p>
<pre class="brush: bash">make deinstall</pre>
<h3>Fazer o download do vscan</h3>
<pre class="brush: bash">cd ~
fetch http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta5.tar.gz
tar zxvf samba-vscan-0.3.6c-beta5.tar.gz -C /usr/src/samba-3.0.34/examples/VFS
cd /usr/src/samba-3.0.34/examples/VFS/samba-vscan-0.3.6c-beta5</pre>
<h4>Compilar e instalar</h4>
<pre class="brush: bash">./configure
gmake clamav
cp vscan-clamav.so /usr/local/samba/lib/vfs
cp clamav/vscan-clamav.conf /usr/local/etc</pre>
<p>O conteúdo do arquivo /usr/local/etc/vscan-clamav.conf deverá parecer com o seguinte:</p>
<h4>Arquivo /usr/local/etc/vscan-clamav.conf</h4>
<pre class="brush: bash">[samba-vscan]
max file size = 0
verbose file logging = no
scan on open = yes
scan on close = yes
deny access on error = yes
deny access on minor error = yes
send warning message = yes
infected file action = delete
quarantine directory = /tmp
quarantine prefix = vir-
max lru files entries = 100
lru file entry lifetime = 5
exclude file types =
exclude file regexp =
clamd socket name = /tmp/clamd.socket
libclamav max files in archive = 1000
libclamav max archived file size = 10485760</pre>
<p>A linha</p>
<pre class="brush: bash">infected file action = delete</pre>
<p>refere-se a ação a ser tomada caso um vírus seja encontrado, a ação padrão é não fazer nada, o recomendável é colocar em &#8220;quarantine&#8221; ou &#8220;delete&#8221;.</p>
<h3>Configurar o Samba para utilizar o vscan</h3>
<p>É possível utilizar o vscan a nível de compartilhamento e global, para tanto, basta colocar as seguintes linhas onde quer utilizar o vscan, se for global não há necessidade de colocar nos compartilhamentos.</p>
<h4>Arquivo /usr/local/etc/smb.conf</h4>
<pre class="brush: bash">vfs object = vscan-clamav
vscan-clamav: config-file = /usr/local/etc/vscan-clamav.conf</pre>
<h3>Iniciando o samba</h3>
<p>O samba deverá ser iniciado agora na linha de comando e na inicialização pode ser no arquivo /etc/rc.local</p>
<pre class="brush: bash">/usr/local/samba/sbin/smbd -D -s /usr/local/etc/smb.conf
/usr/local/samba/sbin/nmbd -D -s /usr/local/etc/smb.conf</pre>
<p>Através do log /var/log/messages é possível acompanhar o funcionamento do vscan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/03/freebsd-configurando-samba-com-antivirus-realtime-samba-vscan-e-clamav/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

