Pages

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

sexta-feira, 29 de junho de 2012

Instalando Webmin

comece instalando os seguintes pacotes:
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions libapt-pkg-perl rar
baixe os arquivos no seguinte link:
wget http://jonatandacunha.no-ip.info:8090/arquivos/webmin.rar
descompacte o arquivo com o comando:
rar e webmin.rar -y
instale os pacotes usando o comando:
dpkg -i pacote_que_ira_ser_instalado.
se nao houve nenhum erro, esta tudo pronto, basta acessar de um outro micro o caminho informado no fim da instalação.
https://servidor:10000

Gostaria que se alguem conseguir instalar pelos caminhos acima que comente aqui.
Obrigado.

Baixando arquivos via SSH

Olá galera!
hoje vou dar uma dica bem simples e rápida de como fazer download e upload via ssh.
primeiramente logue-se no servidor desejado via sftp, por exemplo:

sudo sftp usuario@ip_ou_no-ip

ou se voce precisar especificar a porta, faça da seguinte forma:

sudo sftp -o port=2222 usuario@ip_ou_no-ip

O próximo passo, se você quiser fazer o download de um arquivo .conf por exemplo, você faria da seguinte forma:

get /etc/samba/smb.conf

desta forma você faria o download da máquina que você acessou para a sua máquina, mas se você quiser fazer ao contrário, ficaria assim:

put /etc/samba/smb.conf


Espero ajudar alguêm com este post.