Pages

terça-feira, 25 de setembro de 2012

Owncloud 4 - Tenha sua própria nuvem.

Já falei anteriormente aqui neste blog sobre owncloud 3, agora temos owncloud 4 com melhorias no dsigner e algumas funções extras. Vamos a Instalação.


Introdução

Este é um artigo e guia sobre o Owncloud, um produto que pretende dar às pessoas a possibilidade de criarem, de forma privada, uma cloud pessoal, dando assim total liberdade e privacidade ao utilizador final.
De referir que a palavra cloud sofre constantes abusos e nunca se sabe o que quer dizer realmente.
Neste caso, o produto tem como principal funcionalidade a criação de um repositório central de ficheiros que sejam de fácil acesso a partir de vários dispositivos.
Na prática é um competidor com o famoso serviço “Dropbox”, mas em que a parte servidor é controlada pelo próprio utilizador, tendo ele total controlo sobre limites e formas de uso.
Esta é só a principal funcionalidade, porque com um sistema de plugins, é possível ter mais funcionalidades, como vão poder ver neste artigo.
Ficam aqui as principais características deste produto:
- Solução integrada de storage.
- Fácil acesso aos ficheiros, através de uma página Web, um Cliente que pode ser instalado nos principais sistema operativos ou por WebDav.
- Página Web de fácil acesso, usando html5. É possível fazer drag and drop de ficheiros na página Web.
- Possibilidade de criação de utilizadores e com isso, partilha de ficheiros.
- Versões de ficheiros, que permitem recuperar versões antigas.
- Encriptação.
- Temas.
- Editores e visualizadores de vários ficheiros, como ficheiros de imagens, som ou texto.
- Uma api para uso com outras aplicações ou plugins.
- Migração dos dados ou utilizadores.
- Integração de calendário e tasks que podem ser acedidos por outros dispositivos.
- Uma store onde é possível instalar aplicações dentro do Owncloud.
Por fim, referir que este artigo está dividido em duas partes principais. Primeiro a instalação e segundo a utilização do Owncloud.

Instalação

Para este artigo, decidi criar duas máquinas virtuais. Uma é o servidor onde vou instalar o Owncloud 4 e o segundo é uma máquina cliente onde vou aceder e utilizar o Owncloud de várias formas.
Devido à sua popularidade, vou utilizar o Windows 7 como máquina cliente, utilizando o Firefox 12 como browser.
Também devido à sua popularidade no mundo linux, no servidor vou utilizar Ubuntu Server, na sua versão mais recente a 12.04.

Para criação das máquinas virtuais, usei Virtualbox, onde coloquei as duas máquinas num ambiente de testes.

No servidor com Ubuntu, fiz a instalação base, adicionando só a funcionalidade do serviço de openssh, para poder aceder remotamente.

O Windows 7 é uma instalação base, sem adicionar nada. Apenas confirmei que estavam as duas máquinas na mesma rede.

Para efeitos de teste e para não estar sempre a passar o comando “sudo”, coloquei uma password no utilizador “root” e acedo ao servidor com este utilizador.
Para colocar uma password neste utilizador, corri o comando:
sudo passwd

A primeira coisa que se deve fazer, no servidor, é ter a máquina actualizada, com o comando:
apt-get update && apt-get dist-upgrade
Em seguida é preciso instalar os requisitos para instalar o Owncloud. Para tal, devemos correr o comando:
apt-get install apache2 php5 php5-gd php5-sqlite curl libcurl3
libcurl4-openssl-dev php5-curl php5-common php-xml-parser sqlite openssl

Por sua vez, este software tem outras dependências, que são listadas. Basta apenas aceitar carregando no “y”.

Na máquina Windows, como é um teste e estou a aceder por rede local, no ficheiro “hosts” que se encontra em “C:\windows\system32\drivers\etc” coloco a seguinte entrada:
192.168.1.112       cloud.own
Este ip é o ip do servidor e esta entrada serve para poder aceder ao Owncloud com aquele nome.

Acedendo por browser a “cloud.own” podemos ver que o Webserver está a funcionar.

Devido a várias funcionalidades no Owncloud, é necessário activar vários módulos de Apache. Para isso, é necessário correr os seguintes comandos
a2enmod rewrite
a2enmod headers
service apache2 restart
O último comando serve para reiniciar o serviço do apache e assim os módulos sejam activados de forma efectiva.
É dado uma mensagem que o apache não sabe o nome do servidor. Isto acontece porque não tenho esse parâmetro definido no ficheiro de configuração.
Num teste, isto não é problemático.

Em seguida devemos efectuar o download do Owncloud 4 com o comando:
wget -O owncloud4.tar.bz2 http://owncloud.org/owncloud-download-4-0-0

Devemos depois descomprimir o ficheiro que efectuamos o download, com o comando:
 tar -jxvf owncloud4.tar.bz2

Se listarmos os ficheiros, com o comando:
ls
Podemos ver que temos uma pasta com o Owncloud. Devemos por isso copiar a pasta para o local onde se encontram os ficheiros do Webserver, com o comando:
cp -r owncloud /var/www/owncloud

Podemos então aceder à pasta onde se encontram agora os ficheiros, com o comando:
cd /var/www/owncloud
Correndo o comando para listar, visualizamos o seu conteúdo.

Para o Owncloud poder manipular os ficheiros é preciso que o dono dos ficheiros seja o utilizador com que é executado o apache.
Para tal, devemos correr o comando:
chown -R www-data:www-data /var/www/owncloud

Podemos aceder ao Owncloud de duas formas. De uma forma pouco segura, por http, em que tudo o que é transmitido vai em clear text ou por https em que a ligação é encriptada.
Penso que a melhor forma é por https e para tal vão ser necessárias várias alterações na configuração.
A primeira coisa é activar o módulo ssl no apache. Para tal, devemos correr o comando:
a2enmod ssl
service apache2 restart

Para usarmos https, é preciso tratar de gerar certificados. Começamos por correr.
openssl genrsa -des3 -out servidor.key 1024

Em seguida:
mv servidor.key servidor.old.key
Seguido por:
openssl rsa -in servidor.old.key -out servidor.key

Devemos correr em seguida:
openssl req -new -key servidor.key -out cert.csr
Durante a execução deste comando é necessário preencher os nossos dados.

Quase a finalizar, correr o comando:
openssl x509 -req -days 9000 -in cert.csr -signkey servidor.key -out cert.crt

Temosn que mover os ficheiros para a sua localização correcta, com os comandos:
mv cert.csr /etc/ssl/certs/
mv servidor.key /etc/ssl/private

Para configurar o apache, podemos criar um novo virtual host, ou podemos editar o ficheiro de configuração do site de default. Para este teste, escolhi a segunda hipótese, com o comando:
nano /etc/apache2/sites-availabe/default-ssl

Devemos alterar as seguintes linhas:
DocumentRoot /var/www/owncloud

< Directory /var/www/owncloud >
Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
Allow from all
< /Directory >

Também devemos alterar as seguintes linhas:
SSLEngine on

SSLCertificateFile /etc/ssl/certs/cert.csr
SSLCertificateKeyFile /etc/ssl/private/servidor.key

Finalmente, devemos activar o site, com o comando:
a2ensite
E efectuar um restart ao servidor apache, para tornarmos todas as alterações efectivas, com o comando:
service apache2 restart

Para verificarmos que temos acesso ao Owncloud e para acabar a instalação, devemos aceder ao site por:
https://cloud.own
Vamos verificar que em qualquer browser, temos um alerta de certificado, que é assinado por ele próprio e não tem ninguém que possa validar a sua autenticidade.
Isto é normal, pois é verdade que temos um certificado que passamos a nós mesmos.

Temos portanto que adicionar uma excepção para não nos dar novamente este alerta. Para tal, basta carregar no botão:
Add Exception

Se virmos as propriedades do certificado, podemos então confirmar que foi o que criamos.

Podemos então passar a excepção, carregando no botão:
Confirm Security Exception

Podemos ver finalmente o site que criamos do Owncloud.
Temos que colocar um utilizador e password que vai ser o administrador do Owncloud.

Se carregarmos nas opções avançadas, podemos definir onde vão-se encontrar os dados e onde se encontra a base de dados sqlite. Neste caso é em “localhost”.
Estando todos os dados introduzidos, podemos carregar no botão:
Finish Setup
 
Fonte: http://portal.zwame.pt/30218/guia/owncloud-4-uma-cloud-pessoal

segunda-feira, 24 de setembro de 2012

Virus No Pendrive (VNP) rsrs...

Bom pra começar bem a semana tive um problema com meu pendrive, peguei um virus onde o mesmo escondeu meus arquivos como se fosse uma Pasta do windows, de começo me preocupei quando abri o pendrive e nao vi meus arquivos, mas quando fui nas propriedades do pendrive vi que tava sendo usado 13 gb de espaço entao fui pesquisar,e achei a solução... segue pra quem tiver o mesmo problema ;)

primeiramente va em: iniciar\painel de controle\opções de pasta\modo de exibição\ Desmarque as 2 opções. como segue o exe.

logo em seguida abra o prompt de comando o CMD.
e utilize o seguinte comando para alterar as opções da pasta, attrib -sh "caminho do pendrive\caminho dos arquivos" lembrando que tem que ser arquivo por arquivo..
espero ter ajudado... duvidas postem ai valeu!

Agradecimento especial à Juliano Roberto Westarp.

segunda-feira, 10 de setembro de 2012

[Shell Script] Estrutura FOR – chega de ficar repetindo comandos!!!

Uma das principais funções de um script de Shell para um administrador Linux é agilizar o cumprimento de tarefas de alta demanda. No post anterior, utilizamos o “canivete suíço” FIND para fazer backup via script de Shell Bash e neste aqui vamos ver 2 exemplos de uma estrutura de repetição importantíssima: o FOR.
A estrutura FOR é fundamental para que tarefas repetidas sejam facilmente executadas sem muito esforço por parte do administrador. O uso de tal estrutura em linguagem BASH vai permitir a manipulação de listas de dados, como usuários a serem criados, diretórios para backup, IPS e MACs em regras de firewall, etc.
A sintaxe da estrutura FOR é a seguinte:

for <variável> in <lista>

do

<comandos>

done

Em síntese, a cada vez que cada item da lista é interpretado, o valor dele é atribuído à variável, sendo assim, podemos tratar um valor da lista de cada vez nos comandos que serão executados.
Aqui nesse laboratório nós vamos tratar 2 ‘cases’:
Criação de usuários em demanda;
Bloqueio de acesso a uma lista de domínios através do Iptables.
CRIAÇÃO DE USUÁRIOS EM DEMANDA

Antes de começarmos, aí vai uma explicação básica sobre o comando ‘useradd’ :

#useradd -m -d <HOMEDIR> -s <SHELL DO USUÁRIO> -g <GRUPO PRIMÁRIO> <LOGIN DO USUÁRIO>

O comando useradd tem uma sintaxe bem peculiar, uma vez que o último item é o login do usuário.

Vamos à criação do script:

#vim /usr/local/bin/cria_usr.sh



Explicando:

A estrutura for funciona tratando listas de dados e processando linha por linha dessas listas.
No caso do programa acima, primeiro existe a declaração da variável ‘lista’ contendo a leitura de um arquivo chamado ‘listas.txt’, dentro do diretório /root. Dentro deste arquivo, será criada uma lista com os usuários e grupos na estrutura <usuário>:<grupo> .
O for irá processar cada linha dessa lista de cada vez, atribuindo seus valores à variável usr, uma linha por vez, isto significa que se a primeira linha do arquivo for joao:cpd, o primeiro valor da variável usr será este e o próximo valor será o valor da segunda linha e assim por diante.
As variáveis login e grupo “pegam” os campos 1 e 2 do “print” da variável usr, tendo como separador de campo o caractere : .



Agora é só aplicar os dados no comando useradd :



Criando o arquivo de lista de usuários:

Executando o Script:

#chmod +x /usr/local/bin/cria_usr.sh

#cria_usr.sh



BLOQUEIO A UMA LISTA DE DOMÍNIOS

Neste caso, temos um arquivo com uma lista de domínios que receberão regras de bloqueio na chain FORWARD da tabela Filter do Iptables. Isso significa que pacotes que passarem pelo firewall e que tiverem como destino estes domínios serão negados.

Vamos à lista:

#vim /root/lista_dom.txt



Criando o script:

#vim /usr/local/sbin/block_dom.sh



Executando o script:

#chmod +x /usr/local/sbin/block_dom.sh

#block_dom.sh

Conferindo as regras:

#iptables -nvL


Todos os pacotes oriundos da rede 10.10.10.0/24 e com destino a qualquer IP dos domínios contidos na lista, serão rejeitados pelo Firewall.
Neste caso, quando o administrador quiser bloquear uma lista de domínios ou IPs, basta incluí-los no arquivo /root/lista_dom.txt e executar novamente o script em questão.

sexta-feira, 24 de agosto de 2012

Monitorando a rede com EtherApe

Monitoramento de trafego de rede com EtherApe
Esse semana eu estava com um enorme problema na minha rede, meu trafego tanto de entrada como de saida estava no limite o tempo todo, podia ser um virus, um trojan.. qualquer coisa… mas como eu iria identificar rapidamente de onde estava indo, para onde estava indo, e qual porta estava usando? Bom, existem logs que podemos ler, sniffers que podemos fazer entre outras coisas, porem uma maneira rápida que te da uma visão geral da rede é usando o programa EtherApe, um monitor de atividade de rede com gráfico baseado em Gnome, muito simples e objetivo.
O site do programa é http://etherape.sourceforge.net/

Para instalar no CentOS precisamos adicionar o rpmforge tutorial no link: http://goo.gl/kuW1t
Depois de deixar nosso “cachorro amarelo boladão” turbinado é so abrir o terminal e digitar:
# yum install etherape -y
Já no Debian like não precisa de muita coisa, só digirar no terminal como root:
#apt-get install etherape
Pronto, ta instalado.
Agora vá no menu Aplicações > Ferramentas do Sistema > EtherApe

Clicando em “Start” já começa a capturar.

Para modificar a interface monitorada, clique no menu Capture > interfaces e selecione a interface que quer monitorar.
Há também como criar filtros para monitoramentos, caso queria monitorar uma rede ou host especifico, para isso basta clicar na opção “Pref.” e editar o campo Capture filter

Para conhecer a sintaxe correta do filto podemos consultar a man page do pcap-filter ou ir na pagina do tcpdump: http://www.tcpdump.org/
No botão “Prot.”, temos um resumo dos protocolos trafegados


Esse artigo foi escrito pelo noss amigo e colaborador Rodrigo Ramos, que passou a gostar de Linux e agora defende o Open Source .
Bio: Analista de Suporte, curioso e apaixonado pela profissão. Estou descobrindo o universo livre e cada dia ficando mais envolvido. Nas horas vagas fico brincando de levantar VMs para testar novos programas sempre em CentOS.

FTP com Antivírus


Ao criar um servidor FTP em sua empresa para que os usuários enviem ou recebam arquivos você sempre pode contar com o bom senso dos usuários para lidar apenas com arquivos já escaneados e com certeza de não estarem infectados, correto?
Não, é claro… Por isso hoje vamos integrar o nosso servidor FTP ProFTPd com o Antivírus Clamav, assim podemos ter nosso FTP mais seguro e com menos risco para redes Windows.

Com seu servidor de FTP já instalado é simples integrá-lo com o antivírus, então vamos lá.
Primeiro instalemos os componentes do antivírus:
root# apt-get install clamav-daemon clamav-freshclam
Onde:
clamav-daemon é o daemon do clamav que fica sendo executado em segundo plano mantendo toda a base de dados de vírus carregada na memória, assim em vez de carregar os dados de vírus a cada escaneamento ele carrega apenas o executável do clamav.
clamav-freshclam é o programa que atualiza a base de dados de vírus.
Agora instalemos o módulo do clamav para o proftpd:
root # apt-get install proftpd-mod-clamav
Feito isso vamos as configurações. Edite o arquivo de configuração do clamav, e acrescente no final:
root # vi /etc/clamav/clamd.conf
.
.
.
#
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
Vamos reiniciar o antivírus para que ele faça download do banco de dados de vírus:
root # /etc/init.d/clamav-freshclam restart
Após o download completo, basta reinciar o clamav-daemon:
root # /etc/init.d/clamav-daemon restart
Agora edite o arquivo de configuração do proftpd e acrescente no arquivo, pode ser próximo aos outros módulos:
root # vi /etc/proftpd/proftpd.conf
LoadModule mod_clamav.c
<IfModule mod_clamav.c>
   ClamAV on
   ClamServer 127.0.0.1
   ClamPort 3310
   ClamMaxSize 5 Mb
</IfModule>

Pronto, feito isso basta apenas reiniciar os serviços.
root # /etc/init.d/proftpd restart
Agora cada arquivo enviado para o servidor FTP será escaneado na hora e se contiver vírus não será aceito no servidor.
Para aumentar a quantidade de arquivos que podem ser escaneados, basta instalar no servidor algoritmos de compactadores:
root # apt-get install rar unrar zip unzip unace lha cabextract pax nomarch
Assim os arquivos compactados também serão analisado.

Proxy reverso com Apache2


Hospedar um site não é mais coisa de provedor de internet, muita gente tem banda larga em casa, se não tem ip fixo usa um dns dinâmico. Empresas tem links com ips disponíveis e preferem ter o controle do seu site, ou até em vez de ter apenas a hospedagem eles preferem ter o servidor dedicado para o serviço.

A questão em ter o controle do servidor é também ter a responsabilidade pela segurança dos sites, além do mod_security (que abordaremos mais oportunamente) uma etapa de melhoria na segurança é colocar mais uma camada entre quem acessa e o servidor Web.

Essa camada serviria para não deixar os clientes acessarem diretamente o servidor, não ter acesso aos diretórios onde estão as páginas e caso o servidor fosse atacado, apenas o proxy seria afetado mantendo o servidor principal íntegro, sem acesso externo, mas íntegro.

Nosso cenário é o seguinte:

Um servidor Web(podem ser mais) com todas as paginas da empresa e com os acessos de banco de dados configurados, com seus respectivos virtualhosts que atendem pelos nomes: www.cooperati.local (site principal), cursos.cooperati.local (sites com os cursos), videocasts.cooperati.local (sites dos videos).

Esses sites são apenas internos e precisam ser acessados pela internet nos seguintes endereços: www.cooperati.com.br, cursos.cooperati.com.br, videocasts.cooperati.com.br.



No servidor (ou servidores) web não precisa ser alterado nada em suas configurações, apenas a programação não deve fazer apenas referência a endereços de IP internos, pois isso pode causar erro no cliente ao tentar buscar IP da rede interna do servidor.

No servidor Proxy devemos fazer o seguinte:

Primeiro instale o Apache2:
root # apt-get install apache2

Habilite os módulos necessários:
root # a2enmod proxy proxy_balancer proxy_connect proxy_html proxy_http

OBS: Pode ser que você não use todos os tipos de recursos fornecidos habilite os módulos mesmo assim, logo você vai querer mais recursos e eles já estão lá .

Basta agora criar os arquivos que fazem o redirecionamento dos domínios:

root # vi /etc/apache2/sites-available/www-cooperati
ProxyVia On
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ProxyPassReverse / http://www.cooperati.local/
ProxyPassReverse /includes http://www.cooperati.local/includes
Redirect Permanent / http://www.cooperati.local/
 <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/xml application/xhtml+xml "application/x-javascript \n\n" "text/html \n\n" DeflateCompressionLevel 9
</IfModule>
</VirtualHost>


Onde:
ProxyVia On – Habilita o proxy nesse domínio
ServerName – Endereço de vem na URL e que vai ser usado para proxy do endereço interno.
ProxyPreserveHost – Em ON ele vai preservar o endereço do host que está fazendo o proxy e não daquele da diretiva ProxyPass
ProxyRequests – Em Off evita que usem seu servidor para relay de spammers
ProxyPass – O endereço do site após URL (/ raiz do site), e depois em qual servidor e porta está o site
ProxyPassReverse (a mesma coisa de proxy pass)

Módulo deflate é usado para comprimir as páginas, ele negocia com os clientes uma compressão e envia os dados compactados gerando muito menos tráfego na rede

Depois é só criar os arquivos, seguindo o mesmo padrão para os outros domínios:

root # vi /etc/apache2/sites-available/cursos-cooperati
 
ProxyVia On
<VirtualHost *:80>
ServerName cursos.cooperati.com.br
ProxyPreserveHost On
ProxyRequests Off
ProxyPassReverse / http://cursos.cooperati.local/
ProxyPassReverse /includes http://cursos.cooperati.local/includes
Redirect Permanent / http://cursos.cooperati.local/
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/xml application/xhtml+xml "application/x-javascript \n\n" "text/html \n\n"
DeflateCompressionLevel 9
</IfModule>
</VirtualHost>


Agora do site dos famosos videocasts :

root # vi /etc/apache2/sites-available/videocasts-cooperati
ProxyVia On
<VirtualHost *:80>
ServerName videocasts.cooperati.com.br
ProxyPreserveHost On
ProxyRequests Off
ProxyPassReverse /includes http://videocasts.cooperati.local/includes
Redirect Permanent / http://videocasts.cooperati.local/
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/xml application/xhtml+xml "application/x-javascript \n\n" "text/html \n\n"
DeflateCompressionLevel 9
</IfModule>
</VirtualHost>

Agora habilite os sites:
root # a2ensite www-cooperati cursos-cooperati videocasts-cooperati

Feito isso vamos reiniciar o Apache ( poderíamos apenas fazer reload, mas como habilitamos os módulos devemos fazer o reinício do serviço):

root # service apache2 restart

Pronto, agora basta colocar no seu browser o endereço de internet do seu site que o proxy reverso do apache fará o redirecionamento para o servidor interno.

Microsoft renova logo após 25 anos

Já passaram 25 anos desde a última actualização ao logo da Microsoft. A gigante de Redmond julga ser agora a altura ideal para uma nova mudança. Mas não se trata de uma pequena alteração… o novo logotipo da Microsoft aproxima-se assim do look do logotipo do Windows 8, Office 2013 e do ainda desconhecido Windows Phone 8, pela sua apresentação simples e moderna.

 A notícia foi dada hoje pelo blogue oficial da empresa, 6 meses depois da apresentação do novo logo do Windows.



O novo logo é comporto por duas partes, o chamado “logotipo” e o “símbolo”. Para o logotipo é usado o tipo de letra Segoe, o mesmo usado em todos os produtos e comunicações da Microsoft. No símbolo, os quadrados de cor têm como objectivo expressar o portfólio diversificado de produtos da empresa. De acordo com o vídeo acima, o azul é o Windows, o vermelho/laranja é o Office, o verde é a Xbox, mas não existe correspondência com o amarelo… rumores dizem que é o Bing.


Logo da Microsoft, composto pelo símbolo (a janela) e o logotipo (Microsoft).

A partir de hoje o novo logo da Microsoft será disseminado em todos os seus sites, lojas e campanhas publicitárias. À hora de escrita deste artigo o site internacional da empresa já estava actualizado, no entanto o site português ainda conserva o logo antigo. Segundo Jeff Hansen, General Manager e Brand Strategy na Microsoft: “Implementar totalmente uma mudança como esta demora tempo, por isso é natural que ainda demore um pouco até todas as instâncias serem actualizadas”.
Relembremo-nos da evolução do logo da empresa:

 
Hansen confessa ainda: “Estamos entusiasmados com o novo logo, mas mais ainda com esta nova era em que re-imaginamos como é que os nossos produtos podem ajudar as pessoas e negócios a atingir todo o seu potencial”.

Homepage: Microsoft