<?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>Another Geek Blog &#187; tutoriais</title>
	<atom:link href="http://geek.linuxman.pro.br/category/tutoriais/feed" rel="self" type="application/rss+xml" />
	<link>http://geek.linuxman.pro.br</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 16 Dec 2011 01:55:44 +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>Restringindo acesso via SFTP</title>
		<link>http://geek.linuxman.pro.br/geek/restringindo-acesso-via-sftp</link>
		<comments>http://geek.linuxman.pro.br/geek/restringindo-acesso-via-sftp#comments</comments>
		<pubDate>Thu, 05 Mar 2009 15:23:28 +0000</pubDate>
		<dc:creator>Eri</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[tutoriais]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://geek.linuxman.pro.br/?p=834</guid>
		<description><![CDATA[Restringir acesso de um usuário a seu diretório home usando o ProFTP já virou carne-de-vaca, então vou colocar um dica diferente aqui: Como manter seus usuários restritos usando SFTP. Atenção: Não estou falando de FTPS (FTP over SSL). O primeiro requisito é ter um servidor OpenSSH pelo menos na versão 4.9p1. Tanto meu Ubuntu 8.10 [...]]]></description>
			<content:encoded><![CDATA[<p>Restringir acesso de um usuário a seu diretório home usando o ProFTP já virou carne-de-vaca, então vou colocar um dica diferente aqui: Como manter seus usuários restritos usando <a href="http://en.wikipedia.org/wiki/SSH_file_transfer_protocol">SFTP</a>. Atenção: Não estou falando de FTPS (FTP over SSL).</p>
<p>O primeiro requisito é ter um servidor OpenSSH pelo menos na versão 4.9p1. Tanto meu Ubuntu 8.10 quanto meu OpenSuSE 11.1 vieram com pacotes superiores a essa versão, mas infelizmente o Red Hat Enterprise 5.3 não.</p>
<p>No seu arquivo de configuração do ssh (normalmente /etc/ssh/sshd_config) edite a seguinte linha:</p>
<pre>Subsystem       sftp    /usr/libexec/openssh/sftp-server</pre>
<p>E substitua por:</p>
<pre>Subsystem     sftp   internal-sftp</pre>
<p>E também adicione as seguintes linhas no final do arquivo:</p>
<pre>Match Group restrito
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no</pre>
<p>A primeira linha indica que se o usuário pertencer ao grupo &#8220;restrito&#8221; ele está sujeito às regras que vem a seguir e é logo na próxima linha que determinamos a restrição do usuário ao seu home directory indicado pelo &#8220;%h&#8221;</p>
<p>Agora basta configurar o usuário adequadamente. Reparem que esta parte é mandatória. Tentei configurar o servidor sem configurar o usuário sem sucesso:</p>
<pre>Mar  5 09:08:10 server sshd[12760]: fatal: bad ownership or modes for chroot directory "/home/linuxman"</pre>
<p>Então configure o usuário e seu diretório de acordo:</p>
<pre># usermod -G restrito linuxman
# usermod -s /bin/false linuxman
# chown root:root /home/linuxman
# chmod 0755 /home/linuxman</pre>
<p>Pronto. Agora seus usuários estão restritos <strong>e</strong> seguros.</p>

	Tags: <a href="http://geek.linuxman.pro.br/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://geek.linuxman.pro.br/tag/ssh" title="ssh" rel="tag">ssh</a>, <a href="http://geek.linuxman.pro.br/tag/sysadmin" title="sysadmin" rel="tag">sysadmin</a>, <a href="http://geek.linuxman.pro.br/tag/unix" title="unix" rel="tag">unix</a><br />
]]></content:encoded>
			<wfw:commentRss>http://geek.linuxman.pro.br/geek/restringindo-acesso-via-sftp/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ZFS &#8211; Alguns exemplos</title>
		<link>http://geek.linuxman.pro.br/tutoriais/zfs-alguns-exemplos</link>
		<comments>http://geek.linuxman.pro.br/tutoriais/zfs-alguns-exemplos#comments</comments>
		<pubDate>Thu, 02 Oct 2008 19:11:03 +0000</pubDate>
		<dc:creator>Eri</dc:creator>
				<category><![CDATA[tutoriais]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nexenta]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://geek.linuxman.pro.br/?p=456</guid>
		<description><![CDATA[Cenário Fixo: Tenho na minha caixa Solaris o HD do sistema operacional &#8211; IDE 8GB -, dois HDs IDE de 2GB e dois HDs SCSI também de 2GB, identificados através do comando format: root@nexenta:/# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 &#60;DEFAULT cyl 4092 alt 2 hd 128 sec 32&#62; /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 [...]]]></description>
			<content:encoded><![CDATA[<h2>Cenário Fixo:</h2>
<p>Tenho na minha caixa Solaris o HD do sistema operacional &#8211; IDE 8GB -, dois HDs IDE de 2GB e dois HDs SCSI também de 2GB, identificados através do comando format:</p>
<pre>root@nexenta:/# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c0d0 &lt;DEFAULT cyl 4092 alt 2 hd 128 sec 32&gt;
/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
1. c0d1 &lt;VMware V-0000000000000000-0001-2.00GB&gt;
/pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0
2. c1d1 &lt;VMware V-0000000000000000-0001-2.00GB&gt;
/pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0
3. c2t0d0 &lt;VMware,-VMware Virtual S-1.0-2.00GB&gt;
/pci@0,0/pci1000,30@10/sd@0,0
4. c2t1d0 &lt;VMware,-VMware Virtual S-1.0-2.00GB&gt;
/pci@0,0/pci1000,30@10/sd@1,0
Specify disk (enter its number): ^C</pre>
<p>Vou ignorar o primeiro disco, pois o mesmo já está alocado para o pool padrão do sistema operacional, chamado syspool.</p>
<p>Aqui entra o primeiro conceito sobre ZFS: O sistema de arquivos não vai ser escrito diretamente no disco (block device). Ao invés disso ele será escrito em &#8220;pools&#8221;, que nada mais são do que devices virtuais que contém discos. Algo parecido com utilizar ext3 em cima de LVM ao invés do disco.</p>
<p>Para listar os pools existentes:</p>
<pre>root@nexenta:/# zpool list
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
syspool  7.44G  1.81G  5.63G    24%  ONLINE  -</pre>
<p>Vamos agora brincar um pouco com as possibilidades que ZFS nos dá.</p>
<h2>Cenário 1 &#8211; Todos os discos como um único filesystem.</h2>
<pre>root@nexenta:/# zpool create linuxman c0d1 c1d1 c2t0d0 c2t1d0
root@nexenta:/# zpool list
NAME       SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
linuxman  7.94G    97K  7.94G     0%  ONLINE  -
syspool   7.44G  1.81G  5.63G    24%  ONLINE  -
root@nexenta:/# zfs list
NAME                             USED  AVAIL  REFER  MOUNTPOINT
linuxman                         110K  7.81G    18K  /linuxman
syspool                         1.81G  5.51G    23K  legacy
syspool/rootfs-nmu-000          1.81G  5.51G  1.55G  legacy
syspool/rootfs-nmu-000@initial   271M      -   780M  -
root@nexenta:/linuxman# df -h linuxman
Filesystem             size   used  avail capacity  Mounted on
linuxman               7.8G    18K   7.8G     1%    /linuxman</pre>
<p>Perceba que não precisei montar o filesystem, nem editar fstab. Apenas o comando &#8220;zpool create&#8221; foi o suficiente para criar o pool, formatar os discos, criar uma entrada no zfs e montar o filesystem.<br />
Mas vamos apagar isso e continuar brincando:</p>
<pre>root@nexenta:/# zpool destroy linuxman
root@nexenta:/# zpool list
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
syspool  7.44G  1.81G  5.63G    24%  ONLINE  -</pre>
<p> <img src='http://geek.linuxman.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Cenário 2 &#8211; Espelhos</h2>
<p>Vou criar agora um novo pool, mas desta vez espelhando os dois discos SCSI:</p>
<pre>root@nexenta:/# zpool create linuxman mirror  c2t0d0 c2t1d0
root@nexenta:/# zpool list
NAME       SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
linuxman  1.98G    94K  1.98G     0%  ONLINE  -
syspool   7.44G  1.81G  5.63G    24%  ONLINE  -
root@nexenta:/# df -h linuxman
Filesystem             size   used  avail capacity  Mounted on
linuxman               2.0G     1K   2.0G     1%    /linuxman</pre>
<h2>Cenário 3 &#8211; Adicionando discos ao pool</h2>
<p>Esse pool de 2GB não dá para nada? Precisa adicionar mais discos para criar espaço no seu filesystem? No hay problema:</p>
<pre>root@nexenta:/# zpool add linuxman mirror  c0d1 c1d1
root@nexenta:/# zpool list
NAME       SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
linuxman  3.97G   114K  3.97G     0%  ONLINE  -
syspool   7.44G  1.81G  5.63G    24%  ONLINE  -
root@nexenta:/# df -h linuxman
Filesystem             size   used  avail capacity  Mounted on
linuxman               3.9G    18K   3.9G     1%    /linuxman</pre>
<p>Perceba o detalhe importante: Se você criou o pool como mirror, não dá pra acrescentar somente um disco a mais. Pelo menos dois são necessários.</p>
<p>Mas vamos limpar isso.</p>
<pre>root@nexenta:/# zpool destroy linuxman
root@nexenta:/# zpool list
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
syspool  7.44G  1.81G  5.63G    24%  ONLINE  -</pre>
<h2>Cenário 3 &#8211; Exportando ZFS via iSCSI</h2>
<p>Foi aqui que eu comecei, na verdade. Estou trabalhando num projeto piloto que, quando em produção, vai utilizar SAN. Infelizmente não tenho uma SAN para laboratório, então decidi usar iSCSI para simular o comportamento da SAN.</p>
<p>Começamos criando o pool:</p>
<pre>root@nexenta:/# zpool create linuxman c2t0d0 c2t1d0</pre>
<p>Mas para podermos exportar é necessário também criar um volume. Um volume é uma fatia do pool, falando simplificadamente.</p>
<pre>root@nexenta:/# zfs create  -V 1G linuxman/iscsi
root@nexenta:/# zfs list linuxman/iscsi
NAME             USED  AVAIL  REFER  MOUNTPOINT
linuxman/iscsi     1G  3.91G    16K  -</pre>
<p>Este volume pode ser exportado via iSCSI e a própria hierarquia do ZFS vai se encarregar de criar as LUNs:</p>
<pre>root@nexenta:/# zfs set shareiscsi=on linuxman/iscsi</pre>
<p>É bem provável que o iscsi não esteja rodando no seu Solaris por padrão, então habilite-o:</p>
<pre>root@nexenta:/# svcadm enable iscsitgt</pre>
<p>E agora seu volume já deve estar disponível:</p>
<pre>root@nexenta:/# iscsitadm list target
Target: linuxman/iscsi
iSCSI Name: iqn.1986-03.com.sun:02:1a01588d-af11-4163-a4c7-bdf19d1550a2
Connections: 0</pre>
<p>Vamos até o Linux ali do lado para ver se conseguimos utilizar este volume:</p>
<pre>[root@cluster1 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.66.128
172.16.66.128:3260,1 iqn.1986-03.com.sun:02:1a01588d-af11-4163-a4c7-bdf19d1550a2</pre>
<p>UIA! Vamos usar então:</p>
<pre>[root@cluster1 ~]# /etc/init.d/iscsi restart
Stopping iSCSI daemon: /etc/init.d/iscsi: line 33:  5656 Killed                  /etc/init.d/iscsid stop
iscsid dead but pid file exists                            [  OK  ]
Turning off network shutdown. Starting iSCSI daemon:       [  OK  ]
[  OK  ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.1986-03.com.sun:02:1a01588d-af11-4163-a4c7-bdf19d1550a2, portal: 172.16.66.128,3260]
Login to [iface: default, target: iqn.1986-03.com.sun:02:1a01588d-af11-4163-a4c7-bdf19d1550a2, portal: 172.16.66.128,3260]: successful
[  OK  ]
[root@cluster1 ~]# fdisk -l|grep part
Disk /dev/sdc doesn't contain a valid partition table
[root@cluster1 ~]# echo -e "n\n p\n 1\n \n \n w\n"|fdisk /dev/sdc
[root@cluster1 ~]# mkfs.ext3 -q /dev/sdc1 -L /linuxman
[root@cluster1 ~]# mkdir /linuxman
[root@cluster1 ~]# mount LABEL=/linuxman /linuxman
[root@cluster1 ~]# df -h /linuxman
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdc1            1008M   18M  940M   2% /linuxman</pre>
<p>Divertido, né? Temos agora ext3 encapsulado em ZFS exportado via iSCSI. Isso pode ser útil em cenários como o abaixo.</p>
<h2>Cenário 4 &#8211; Fazendo backup.</h2>
<p>Então esse meu diretório /linuxman contém dados do meu projeto. Mas como ainda é laboratório, vira e mexe eu estrago alguma coisa.<br />
Vou facilitar minha vida com o ZFS então.</p>
<p>No Linux:</p>
<pre>[root@cluster1 linuxman]# cd /linuxman
[root@cluster1 linuxman]# for i in $(seq 1 10); do dd if=/dev/zero of=file$i.dat count=1 bs=100M; done 2&gt;/dev/null
[root@cluster1 linuxman]# ls
file10.dat  file1.dat  file2.dat  file3.dat  file4.dat  file5.dat  file6.dat  file7.dat  file8.dat  file9.dat  lost+found</pre>
<p>No Solaris:</p>
<pre>root@nexenta:/# zfs snapshot linuxman/iscsi@antes-do-teste-1
root@nexenta:/# zfs list
NAME                              USED  AVAIL  REFER  MOUNTPOINT
linuxman                         2.00G  1.91G    18K  /linuxman
linuxman/iscsi                   2.00G  2.91G  1.00G  -
linuxman/iscsi@antes-do-teste-1      0      -  1.00G  -</pre>
<p>Volto no Linux e estrago meu árduou trabalho:</p>
<pre>[root@cluster1 linuxman]# rm -rf file1*
[root@cluster1 linuxman]# ls
file2.dat  file3.dat  file4.dat  file5.dat  file6.dat  file7.dat  file8.dat  file9.dat  lost+found</pre>
<p><img class="aligncenter" src="http://geek.linuxman.pro.br/images/doh.jpg" alt="" width="202" height="252" /></p>
<p>Mas para recuperar é fácil:</p>
<p>No Linux:</p>
<pre>[root@cluster1 linuxman]# cd /
[root@cluster1 /]# umount /linuxman/</pre>
<p>No Solaris:</p>
<pre>root@nexenta:/# zfs set shareiscsi=off linuxman/iscsi
root@nexenta:/# zfs rollback linuxman/iscsi@antes-do-teste-1
root@nexenta:/# zfs set shareiscsi=on linuxman/iscsi</pre>
<p>E finalmente, no Linux:</p>
<pre>[root@cluster1 /]# mount LABEL=/linuxman /linuxman
[root@cluster1 /]# cd /linuxman/
[root@cluster1 linuxman]# ls
file10.dat  file1.dat  file2.dat  file3.dat  file4.dat  file5.dat  file6.dat  file7.dat  file8.dat  file9.dat  lost+found</pre>
<p>E ai estão todos os arquivos de volta.</p>
<p><strong>OBSERVAÇÃO:</strong> Aparentemente a formatação no blog perdeu algumas partes dos textos pré-formatados, mas nada significativo. <span style="text-decoration: line-through;">Viva com isso.</span> Olhe pelo <a href="http://geek.linuxman.pro.br/feed/">feed</a> que está legal.</p>

	Tags: <a href="http://geek.linuxman.pro.br/tag/iscsi" title="iscsi" rel="tag">iscsi</a>, <a href="http://geek.linuxman.pro.br/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://geek.linuxman.pro.br/tag/nexenta" title="nexenta" rel="tag">nexenta</a>, <a href="http://geek.linuxman.pro.br/tag/solaris" title="solaris" rel="tag">solaris</a>, <a href="http://geek.linuxman.pro.br/tag/zfs" title="zfs" rel="tag">zfs</a><br />
]]></content:encoded>
			<wfw:commentRss>http://geek.linuxman.pro.br/tutoriais/zfs-alguns-exemplos/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ubuntu pronto para guerra</title>
		<link>http://geek.linuxman.pro.br/geek/ubuntu-pronto-para-guerra</link>
		<comments>http://geek.linuxman.pro.br/geek/ubuntu-pronto-para-guerra#comments</comments>
		<pubDate>Thu, 28 Aug 2008 22:59:00 +0000</pubDate>
		<dc:creator>Eri</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apparmor]]></category>
		<category><![CDATA[crackers]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[harden]]></category>
		<category><![CDATA[hardening]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://geek.linuxman.pro.br/?p=419</guid>
		<description><![CDATA[Prefácio A rede mundial de computadores tem mais de 10 botnets. Todas dominadas por crackers armados até os dentes. É só nego de nmap, nessus, tcpdump e por ai vai. No resto do mundo são softwares de auditoria. Na internet, são as armas do crime. Um 0-day attack atravessa um firewall como se fosse papel. [...]]]></description>
			<content:encoded><![CDATA[<h2>Prefácio</h2>
<p>A rede mundial de computadores tem mais de 10 <a href="http://en.wikipedia.org/wiki/Botnet">botnets</a>. Todas dominadas por crackers armados até os dentes. É só nego de nmap, nessus, tcpdump e por ai vai.<br />
No resto do mundo são softwares de auditoria. Na internet, são as armas do crime.</p>
<p>Um <a href="http://en.wikipedia.org/wiki/Zero_day_attack">0-day attack</a> atravessa um firewall como se fosse papel. É burrice pensar que numa rede assim os daemons, mesmo atualizados, não vão ser crackeados apenas para fazer valer a lei.<br />
E Linux também tem bug amigo, Linux também tem falha de segurança.</p>
<p>É por isso que nessa rede todo administrador tem que escolher: Ou se corrompe, ou se omite, ou vai pra guerra.</p>
<h2>Aviso</h2>
<p>Se você é um profissional decente, não tenho dúvidas que vai decidir partir para guerra e nesse tutorial vamos ver os passos básicos para tornar seu servidor mais resistente a invasões.</p>
<p>Mas não se iluda. Nada é 100% seguro e seguir as boas práticas de segurança uma vez na vida não vai te ajudar muito. Mantenha-se atualizado, mantenha sua infra-estrutura atualizada (não apenas seus servidores) e seja humilde. Aprenda com seus erros e com os erros dos outros.</p>
<p>Outro ponto que vale ressaltar aqui: Esse tutorial é dirigido ao Ubuntu Server 8.04 (Hardy). Muita coisa pode ser aplicada para desktop e para outras distribuições, mas não é sobre isso que vou falar aqui.</p>
<h2>Fique com o básico</h2>
<p>Quanto menos pacotes instalados no seu Ubuntu, melhor. Mais pacotes significam mais potenciais pontos de falha, mais opções para um invasor tentar escalar privilégios e mais recursos para ele utilizar sua máquina como ponte para outros ataques em caso de uma invasão bem sucedida.</p>
<p>Durante a instalação do seu Ubuntu Server, quando apresentado às opções, não escolha nenhum pacote. Você pode manualmente instalar openssh, LAMP, DNS e etc mais tarde, num momento mais conveniente.</p>
<p>Num primeiro momento fique apenas com o sistema mais enxuto possível para facilitar as implementações de segurança antes de começar a abrir as portas.</p>
<h2>Application Specific</h2>
<p>Ter um servidor para cada serviço que você precisa não é mais exclusividade de grandes empresas, com um gordo orçamento. Utilize máquinas virtuais baseadas no seu <a href="http://en.wikipedia.org/wiki/Hypervisor">hypervisor</a> preferido e crie uma máquina virtual para cada tipo de serviço que for utilizar.</p>
<p>Utilize de bom-senso. Não coloque banco de dados da intranet na mesma partição virtual que está seu banco de dados da DMZ.</p>
<p>Algo como um servidor de banco de dados para todos os serviços da DMZ e um servidor HTTP para todos os bancos de dados da DMZ parece mais coerente.</p>
<p>Servidores em redes muito hostis (como um servidor do lado de fora dos firewalls da DMZ) ficam melhor se forem self-contained, ou seja, com todos os serviços rodando numa mesma partição virtual.</p>
<p>Tenha certeza de que tem uma placa de rede exclusiva para administração do seu hypervisor e proteja-a muito bem.</p>
<p>No Ubuntu o <a href="http://www.xen.org">Xen</a> é uma excelente opção.</p>
<h2>Guardando seus logs</h2>
<p>Numa situação ideal sua rede vai dispor de um servidor de syslog onde todos os hosts enviam seus eventos, mas se não for o caso, durante a instalação crie uma partição <em>/var/log</em> com filesystem ext3.</p>
<p>Isso vai permitir que você utilize o <a href="http://www.linuxdevcenter.com/linux/cmd/cmd.csp?path=c/chattr">chattr</a> para restrigir seus arquivo ao modo <em>append only</em>.</p>
<pre># cd /var/log
# chattr +a messages syslog auth.log daemon.log</pre>
<p>Caso esteja utilizando rotacionamento de log, lembre-se de editar as políticas para evitar erros.</p>
<p>Ter logs é essencial para previnir invasões, mas pode ser seu passe livre de problemas em caso de invasão concretizada ou investigação judicial.</p>
<p>Se possível utilize sempre um servidor de syslog numa máquina física à parte. Seja bem paranóico na configuração da segurança dessa máquina.</p>
<h2>Utilize firewall local</h2>
<p>Mesmo que sua rede disponha de firewall de borda, existe sempre a possibilidade de alguém conseguir acesso à sua rede local. Um visitante numa sala de reunião, um esperto num wireless rogue, etc.</p>
<p>No Hardy nem mesmo com sintaxe do iptables você precisa se preocupar. Basta utilizar o <a href="https://wiki.ubuntu.com/UbuntuFirewall">ufw</a>.</p>
<p>Ele já vem com uma lista de regras pré-configuradas com um nível de segurança bem aceitável. Falando em bom <em>iptablês</em>, as policies são DROP e você aplica suas excessões.</p>
<p>Exemplificando um servidor LAMP na sua DMZ:</p>
<pre># ufw allow proto tcp from 192.168.5.0/24 to 192.168.100.2 port 22
# ufw allow proto tcp from any to any port 80
# ufw enable</pre>
<p>Onde:</p>
<p><strong>192.168.5.0/24</strong> é sua rede interna.</p>
<p><strong>192.168.100.2</strong> é o IP interno do seu LAMP server</p>
<p>Ou um servidor de DNS apenas com ip válido:</p>
<pre># ufw allow proto tcp from 200.200.200.201 to 200.200.200.10 port 22
# ufw allow proto udp from any to 200.200.200.10 port 53
# ufw allow proto tcp from 200.1.1.200 to 200.200.200.10 port 53
# ufw enable</pre>
<p>Onde:</p>
<p><strong>200.200.200.201</strong> é o IP nateado da sua rede</p>
<p><strong>200.200.200.10</strong> é o IP do seu servidor de DNS</p>
<p><strong>200.1.1.200</strong> é o seu DNS Slave</p>
<h2>Colocando uma armadura</h2>
<p><img class="aligncenter" src="http://geek.linuxman.pro.br/images/apparmor.jpg" alt="" /></p>
<p>A Novell desenvolveu um excelente framework de segurança chamado <a href="http://www.novell.com/linux/security/apparmor/">AppArmor</a> e disponibilizou como open source.</p>
<p>Consiste basicamente em um patch no kernel e uma série de ferramentas de gerenciamento.</p>
<p>O conceito é: Uma determinada aplicação, independentemente de estar sendo executada pelo zezinho ou pelo root deve conseguir acessar somente determinados diretórios e arquivos, executar somente determinados comandos e utilizar somente determinadas bibliotecas.</p>
<p>O grande trunfo do AppArmor é que ele proteje seus servidor mesmo contra 0-day attacks. Se você preparar o perfil da sua aplicação muito bem são grandes as chances de seu servidor sair ileso mesmo num ataque a um daemon bugado.</p>
<p>Para isso você gera um arquivo com o &#8220;perfil&#8221; da aplicação e fala pro AppArmor: Amigão, esse binário só pode fazer isso aqui ó&#8230;</p>
<p>O Hardy já vem com o kernel <em>patcheado </em>e com as ferramentas de gerenciamento instaladas. Basta baixar os profiles e sair usando.</p>
<pre># apt-get install apparmor-profiles</pre>
<p>Mas lembre-se do seguinte: Os profiles que você instalou levam em conta que você está utilizando os serviços conforme a configuração padrão do Ubuntu. Eu inclusive recomendo que você realmente faça isso sempre que possível, mas caso esteja utilizando alguma coisa diferente do padrão, um pouco de tweak pode ser necessário.</p>
<p>Pessoalmente senti falta de um profile para o Apache, mas depois de criar o meu eu entendi o motivo: Depende muito do que você vai rodar no seu webserver.</p>
<p>Talvez mais para frente eu escreva um artigo sobre o AppArmor, mas por enquanto, fique com <a href="https://help.ubuntu.com/community/AppArmor">este link</a> da Wiki do Ubuntu.</p>
<p><strong>UPDATE</strong> <strong>(29/08/2008 08:27):</strong> Meu amigo <a href="http://mmezzanotti.blogspot.com/">Mezzanotti</a>, que é especialista em IT Security, mandou um link bem interessante que eu não conhecia: <a href="http://www.cisecurity.org/">Center for Internet Security</a>. Muitos tutoriais de hardening lá. Vale uma passada.</p>

	Tags: <a href="http://geek.linuxman.pro.br/tag/apache" title="apache" rel="tag">apache</a>, <a href="http://geek.linuxman.pro.br/tag/apparmor" title="apparmor" rel="tag">apparmor</a>, <a href="http://geek.linuxman.pro.br/tag/crackers" title="crackers" rel="tag">crackers</a>, <a href="http://geek.linuxman.pro.br/tag/firewall" title="firewall" rel="tag">firewall</a>, <a href="http://geek.linuxman.pro.br/tag/hackers" title="hackers" rel="tag">hackers</a>, <a href="http://geek.linuxman.pro.br/tag/harden" title="harden" rel="tag">harden</a>, <a href="http://geek.linuxman.pro.br/tag/hardening" title="hardening" rel="tag">hardening</a>, <a href="http://geek.linuxman.pro.br/tag/internet" title="internet" rel="tag">internet</a>, <a href="http://geek.linuxman.pro.br/tag/seguranca" title="segurança" rel="tag">segurança</a>, <a href="http://geek.linuxman.pro.br/tag/syslog" title="syslog" rel="tag">syslog</a>, <a href="http://geek.linuxman.pro.br/tag/ubuntu" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://geek.linuxman.pro.br/tag/xen" title="xen" rel="tag">xen</a><br />
]]></content:encoded>
			<wfw:commentRss>http://geek.linuxman.pro.br/geek/ubuntu-pronto-para-guerra/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Como autenticar no AD com Ubuntu com três comandos</title>
		<link>http://geek.linuxman.pro.br/geek/como-autenticar-no-ad-com-ubuntu</link>
		<comments>http://geek.linuxman.pro.br/geek/como-autenticar-no-ad-com-ubuntu#comments</comments>
		<pubDate>Wed, 20 Aug 2008 02:13:01 +0000</pubDate>
		<dc:creator>Eri</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[tutoriais]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[autenticação]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[likewise]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://geek.linuxman.pro.br/?p=412</guid>
		<description><![CDATA[Encaremos a realidade: A maior parte das empresas utiliza Active Directory da Microsoft. E não sem motivo, já que é um produto excelente e integra facilmente com diversas aplicações e produtos de terceiros. Mas se você já precisou autenticar com Linux contra um AD sabe que isso é um parto. É preciso instalar suporte a [...]]]></description>
			<content:encoded><![CDATA[<p>Encaremos a realidade: A maior parte das empresas utiliza Active Directory da Microsoft.</p>
<p>E não sem motivo, já que é um produto excelente e integra facilmente com diversas aplicações e produtos de terceiros.</p>
<p>Mas se você já precisou autenticar com Linux contra um AD sabe que isso é um parto. É preciso instalar suporte a kerberos, samba, winbind e configurar um bocado de arquivos manualmente. Não é missão impossível, mas é fonte de dor de cabeça, frustração e até motivo para empresas desistirem de investir mais a fundo no Linux.</p>
<p>Felizmente uma empresa chamada <a href="http://www.likewisesoftware.com/">Likewise Software</a> parece estar resolvendo este problema. Seu produto principal &#8211; o <a href="http://www.likewisesoftware.com/products/index.php">LikeWise</a> &#8211; tem duas versões: <a href="http://www.likewisesoftware.com/products/likewise_open/index.php">Open</a> e <a href="http://www.likewisesoftware.com/products/likewise_enterprise/index.php">Enterprise</a>.</p>
<p>Melhor ainda, o Ubuntu Hardy Heron (8.04) já vem com o pacote open no seu repositório e a instalação e configuração não poderiam ser mais simples:</p>
<h2>Instalando:</h2>
<p>Nosso velho e conhecido apt:</p>
<pre><code>sudo apt-get update</code></pre>
<pre><code>sudo apt-get install likewise-open
</code></pre>
<p><em>-&gt;</em> Neste ponto você pode ter que responder algumas perguntas sobre seus domain controlers.</p>
<p>Depois basta dar join no domínio:</p>
<pre>sudo domainjoin-cli join dominio.com.br Administrator</pre>
<p><strong>Onde:</strong></p>
<p>- <em>dominio.com.br</em> é o <a href="http://pt.wikipedia.org/wiki/Fqdn">FQDN</a> do seu domínio<a href="http://pt.wikipedia.org/wiki/Fqdn">.<br />
</a></p>
<p>- <em>Administrator</em> é um usuário com poderes de dar join de máquinas no domínio</p>
<h2>Problemas conhecidos:</h2>
<p>Eu me deparei com problemas de autenticação devido à sincronia dos relógios do Linux e dos domain controlers. O kerberos é muito sensível quanto ao sincronismo dos tickets, por isso eu acrescentei uma tarefa na crontab para manter os relógios sincronizados:</p>
<pre>$ sudo crontab -l</pre>
<pre>*/5 * * * * ntpdate domain-controler.dominio.com.br &gt; /dev/null</pre>
<p><strong>Onde:</strong></p>
<p><em>domain-controler.dominio.com.br</em> pode ser o controlador do domínio ou o time server da sua rede ou de sua preferência.</p>
<h2>Utilizando</h2>
<p>Depois de tudo instalado e configurado, dê logout e dê login com seu usuário no formato DOMINIO\usuario .</p>
<h2>Referências</h2>
<p><a href="http://anothersysadmin.wordpress.com/2008/04/06/howto-active-directory-authentication-in-ubuntu-804/">HOWTO: Active Directory authentication in Ubuntu 8.04</a></p>
<p><a href="http://www.likewisesoftware.com/">Likewise Software</a></p>

	Tags: <a href="http://geek.linuxman.pro.br/tag/active-directory" title="active directory" rel="tag">active directory</a>, <a href="http://geek.linuxman.pro.br/tag/ad" title="ad" rel="tag">ad</a>, <a href="http://geek.linuxman.pro.br/tag/autenticacao" title="autenticação" rel="tag">autenticação</a>, <a href="http://geek.linuxman.pro.br/tag/auth" title="auth" rel="tag">auth</a>, <a href="http://geek.linuxman.pro.br/tag/kerberos" title="kerberos" rel="tag">kerberos</a>, <a href="http://geek.linuxman.pro.br/tag/ldap" title="ldap" rel="tag">ldap</a>, <a href="http://geek.linuxman.pro.br/tag/likewise" title="likewise" rel="tag">likewise</a>, <a href="http://geek.linuxman.pro.br/tag/linux" title="linux" rel="tag">linux</a>, <a href="http://geek.linuxman.pro.br/tag/microsoft" title="microsoft" rel="tag">microsoft</a>, <a href="http://geek.linuxman.pro.br/tag/samba" title="samba" rel="tag">samba</a>, <a href="http://geek.linuxman.pro.br/tag/ubuntu" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://geek.linuxman.pro.br/tag/windows" title="windows" rel="tag">windows</a><br />
]]></content:encoded>
			<wfw:commentRss>http://geek.linuxman.pro.br/geek/como-autenticar-no-ad-com-ubuntu/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

