Pesquisar este blog

segunda-feira, 22 de dezembro de 2008

sábado, 20 de dezembro de 2008

O Diretório PROC

Esta é uma dica simples mas que muitos usuários LINUX (até os mais experimentes) deixam passar. Os sistemas LINUX guardam várias informações importantes em seu diretório /proc - informações precisas sobre praticamente tudo que esta instalado no servidor.

O /proc nada mais é que um sistema de "diretório virtual" por ser mantido pelo Kernel do LINUX e que disponibiliza diversas informações em real-time do sistema.

Exemplos disso são os comandos ps ou lspci que adquirem informações dentro do sistema virtual /proc. Além disso, é possível também habilitar e desabilitar algumas configurações do Kernel.

Se por exemplo necessitamos de saber informações sobre o nossa CPU executamos o comando:

cat /proc/cpuinfo

Existem outros comandos importantes (você pode executa-los sem medo - estes comandos são meramente informativos):

/proc/devices
Dispositivos encontrados no seu sistema (ex. placa de som, placa de video, etc)

proc/interrupts
Informações sobre IRQs dos dispositivos

/proc/ioports
Informações sobre os endereços das portas I/O (Input/Output).

/proc/filesystems
Sistemas de Diretórios suportados pelo kernel.

/proc/devices
Dispositivos instalados

/proc/modules
Dispositivos carregados no Kernel. O comando equivalente é o “lsmod”

/proc/mounts
Partições que se encontram montadas. Comando equivalente é “mount”

/proc/partitions
Partições existentes no sistema

/proc/version
Versão do Kernel. Semelhante a usar o comando “uname”

Divirtam-se.

Corrigindo permissões de arquivos e pastas

Um erro muito frequentemente em sistemas Linux (CentOS e RHEL) usando o cPanel é a correta configuração de permissões de acesso e execução de arquivos e diretórios, principalmente em ssistemas que usam o SuPHP. Por um motivo ou outro sempre existem usuários que aplicam chmod 777 * para todo o conteúdo (sabe-se Deus lá o porque).

Para corrigir acesse o diretório raiz deste usuário e execute:

cd /home/USUARIO
chmod -R 644 *

Isso colcoará todos os conteúdos (arquivos, scripts e diretórios) com permissão 644. Agora basta executar a correção apenas para os direórios (colocando-os como 755):

find /home/USUARIO/public_html -type d -exec chmod 755 {} \;

Obviamente vc deev trocar o USUARIO pelo diretório home do mesmo.

sexta-feira, 19 de dezembro de 2008

Registro SPF

Uma dica rápida, para adicionar registros SPF em servidores e contas específicas que não tiverem o mesmo configurado execute:

/usr/local/cpanel/bin/spf_installer USERNAME

Caso nenhuma das contas no servidor tenha o registro SPF adicionado em suas respectivas zonas de DNS execute:

for i in `ls /var/cpanel/users` ;do /usr/local/cpanel/bin/spf_installer $i ;done

Não esqueça antes de configurar o seu EXIM para o uso de SPF "entrante" e "sainte" em seu WHM: "Exim Configuration Editor"

Depois reinicie o Named:

service named restart

terça-feira, 16 de dezembro de 2008

Atendimento e Suporte

Alguns links de scripts e sistemas (alguns gratuitos outros pagos) de sistemas de atendimento e suporte via chat e/ou ticket. Eu irem nos próximos posts descreve-los melhor e quais minhas impressões sobre os mesmos.

Alguns sistemas de atendimento online e tb via ticket que ja testei direta ou indiretamente:

http://www.cerberusweb.com/
http://www.troubleticketexpress.com/trouble-ticket-demo.html
http://www.boldchat.com/
http://www.netsupportsoftware.com/
http://helpdesk.com/software-helpdesk.html
http://livehelp.stardevelop.com/
http://www.helpcenterlive.com/
http://www.osticket.com/
http://www.phpsupporttickets.com/
http://www.clickchatsold.com/
http://www.turnkeywebtools.com/phplivehelper/
http://www.craftysyntax.com/
http://www.kayako.com/
http://www.oneorzero.com/
http://www.siliconaction.com.br/index.html
http://www.phpsupporttickets.com/
http://www.ajudaaovivo.com.br/
http://www.masterchat.com.br/

Alguem tem alguma experiencia boa ou ruim sobre algum sistema de suporte ?

sexta-feira, 5 de dezembro de 2008

Problemas com o PHPLIVESUPPORT

Como é um sistema que é largamento usado (se bem que já foi mais usado antigamente pois hoje já existem soluções mais modernas e gratuitas) eu vou postar aqui o texto que recebi deles sobre um problema grave de "Domain Hijack" relacionado ao desenvolvedor do sistema.

A coisa é grave, simplesmente seqüestraram alguns domínios de propriedade do desenvolvedor e estão distribuindo por eles copias do PHPLIVESUPPORT piratas, provavelmente com más intenções sobre o servidor que impantará esta versão pirata.

Segue o email na integra:

For official notice of this email, please visit:

http://www.PHPLiveSource.com/hijack.php

PHP Live! domain hijack case: www.phplivesupport.com

Hello,

On November 19, 2008 our crucial business domain names were fraudulently transferred to another location by means of identity theft and personal email account breach. We are continuing to resolve the case with possible legal actions against the theft company in question Webdomains.com and Quintet.com. They may or may not be directly involved and we are looking into this further.

Our following domains were transferred and defaced using identity theft:

www.phplivesupport.com, www.osicodes.com, www.phplivesupport.net, www.osicodes.info, www.osicodes.net, and www.insightkb.com

We advise everyone to avoid the above domains as they are being redirected to a fraudulent location with a pirated PHP Live! website content.

Our website domain, email server domain and other crucial domains were hijacked to a new location. From our records, the hijacking peoples in question accessed our registrant account at Register.com and updated the admin contact information and email address while altering our account even further to lock the account during the process.

The Register.com's legal department stated this type of internet theft should be handled with a legal firm or courts.

The evidence at Register.com's documents show:

* domain admin email was updated to a new one
* Security Question. was changed
* password was changed
* domains were requested to be transferred off with a final identity check using the .Security Question. by phone

OSI Codes Inc. is still in the process of retrieving the domain names.

The current company holding our domains, webdomain.com and quentet.com, have stripped our website content and are attempting to sell the Copyrighted Software under a new company and license and claiming that OSI Codes Inc. has sold the company. All the statements are false. Webdomain.com and quintet.com does not have the right to sell the Software nor use OSI Codes Inc. PHP Live! brand name.

For the time being, we have setup a new website and domains to inform users and to conduct business:

www.PHPLiveSource.com
www.OSICodesInc.com

quarta-feira, 3 de dezembro de 2008

Script para criar DB sem acessar o cPanel

O sistema CPANEL não permite que seja acessado o PhpMyAdmin para criação de usuários e banco de dados Mysql. Obrigatoriamente você tem que acessar o painel CPANEL e no mesmo criar o usuário e banco de dados.

Este script simples torna este processo mais simples. Você precisa apenas executar este scritp em seu navegador (acessando-o claro) ou axecuta-lo via shell ou mesmo via cronjob.

O script cria também o usuário do banco de dados e aplica a ele todas as permisões de acesso e execução no banco.

Importante: este script não funciona sem a biblioteca cURL instalada no servidor em seu diretório de instalação default (/usr/bin/curl).

segunda-feira, 1 de dezembro de 2008

Verificar SPAM

Este é um sistema gratuito para verificar se o IP de seu servidor está listado em alguma RBL ou sistema anti-spam. Muito bom e completo:

http://openrbl.org/

Cpanel TRADUZIDO

Muita gente vem procurado a tradução pronta do painel CPANEL e do WHM. O CPANEL é mais simples, você mesmo pode fazer via o seu painel WHM e aplicar o arquivo de tradução. O WHM é complicado, no momento só é possível traduzir corretamente o menu do lado esquerdo (menu de navegação).

Segundo as más linguas com o CPANEL 12 será possível aplicar arquivos de linguagem de tratução para todo o WHM - veremos quando isso será implementado.

Mas por enquanto para aplicar a tradução para portugues do CPANEL execute via SSH os comandos:

cd /usr/local/cpanel/lang/
wget http://distros.meganick.com.br/brazilian-portuguese
cd /usr/local/cpanel/base/frontend/x3/lang/
wget http://distros.meganick.com.br/brazilian-portuguese2
mv brazilian-portuguese2 brazilian-portuguese
/usr/local/cpanel/bin/cachelangfiles
Para o painel WHM (tradução do menu esquerdo) voce pode aplicar em seu sistema o tema/pele do WHM abaixo. Ele contem a tradução pronta.
http://central.meganick.com.br/PORTUGUES.whmtheme



domingo, 30 de novembro de 2008

NsLookup

O nslookup sempre foi um mistério para muita gente - mas não e sintam mal, pra mim também sempre foi. Sempre ficava com aquele gostinho de "acho que não usei tudo o que poderia".

Talvez este vídeo/exemplo/tutorial ajude (está em inglês):



Agradecimentos ao Antonio Castro pela dica.

Site de templates GRATIS

Falou eu GRÁTIS todo mundo abre logo o olho !

http://www.freemind.com.br

Bug no Named

Existe um bug muito chato em ambientes CentOS5 com o Cpanel no que diz respeito ao NAMED, principalmente se o seu CentOS foi instalado na versão 64 bits.

Aliás, jamis usem versão 64 bits do sistema operacional para ambiente de produção com cpanel. Embora o site da cpanel jure de pés juntos que existe total compatibilidade isso não é verdade. Uma rápida lida no próprio fórum da cpanel revela a infirnidade d eproblemas no sistema 63 bits em relação ao nosso Cpanel.

Problema:

O NAMED roda normalmente no servidor e atualiza todas as zonas quando modificadas, mas não respoden a nenhum queire (pesquisa) de DNS internamente. Você adiciona o dominio, ele cria a zona de DNS normalmente e mas mesmo após alterações de seus servidores de DNS junto ao agente de registro o servidor não reconhece o dominio, mesmo você "pingando" ele internamente.

Causa:

Um BUG no arquivo /etc/named.conf - no seu arquivo de log de erro você verá uma mensagem como:

view localhost_resolver: received notify for zone ‘domain.com’: not authoritative

Solução:

Abra o seu arquivo /etc/named.conf e no mesmo identifique as linhas:

match-clients { localhost; };
match-destinations { localhost; };

Mude para:

match-clients { any; };
match-destinations { any; };

Reinicie o serviço named:

service named restart

Htop for Linux


Para os que desejam um sistema melhor que o conhecido TOP para listagem dos processos e informações de uso do sistema Linux eu indico o HTOP (http://htop.sourceforge.net/) realmente mais completo e superior.

Prós e contras:
  • No HTOP você pode rolar a tela na vertical e na horizontal vendo desta forma todos os processos e todas as informações de cada linha de comando;
  • No TOP você esta sujeito a um pequeno delay a cada tecla que você acionar;
  • HTOP inicia rápido (o TOP parece coletar muitos dados em background antes de iniciar e apresentar a tela;
  • No HTOP você não precisa teclar o numero do processo para mata-lo (no TOP você precisa);
  • O HTOP suporta operação com mouse via tela SSH;
  • TOP é mais antigo, mais testado que o HTOP que é menos usado e conhecido.

quarta-feira, 16 de abril de 2008

Registro de domínios .com.br agora com CPF

Recebi este aviso do registro.br sobre mudança de regras no sistema de registro de domínios .COM.BR:

Prezado(a) Usuário(a),

COM.BR com CPF
--------------

Por decisão do CGI.br, o domínio COM.BR, destinado a atividades
comerciais genéricas na Internet, também poderá ser registrado sob um
CPF. Ou seja, pessoas naturais com atividades comerciais e afins
poderão registrar domínios COM.BR.

Esta modificação terá efeito a partir do dia 01/05/2008.

Inicialmente, somente o domínio COM.BR estará disponível nesta nova
categoria, genérica, que permite registro tanto com CNPJ quanto com
CPF. Lembramos que, para manter a transparência do registro de
domínios .br, pessoas físicas responsáveis por domínios COM.BR estarão
sujeitas aos mesmos procedimentos das entidades cadastradas
previamente.


Verificação DNS
---------------

O Registro.br monitora constantemente o correto funcionamento de seus
domínios. Fique atento aos avisos de problemas DNS e siga nossas
recomendações para evitar problemas aos usuários de seus sítios.


Agradecemos a atenção,

Registro.br
http://registro.br/
Link da informação diretamente do site do registro.br: http://registro.br/anuncios/20080416.html

segunda-feira, 25 de fevereiro de 2008

Como instalar um Certificado Digital SSL

Segurança sempre é bem vinda - os visitantes deste humilde blog já devem ter percebido que eu sou um tanto paranóico com o tema - devido principalmente ao número de tópicos/posts sobre o mesmo. Eu prometo que irei ampliar o foco do blog, mas neste momento a minha paranóia é maior.

Segue um pequeno passo-a-passo para configuração e instalação do SSL pelo cPanel (usando o painel WHM), um tema que vem sendo pedido também pelo pessoal de nossa comunidade no ORKUT.

O CSR é um pequeno certificado com informações sobre o domínio/servidor onde será instalado o SSL. O CSR será enviado ao seu emissor de SSL (a empresa que emitirá o sSL para você) e será baseado no mesmo que o SSL será criado. Para criar o CSR pelo WHM é simples. Lembre-se que caso você seja revenda ou VPS o seu WHM deverá estar configurado com permissão para a instalação/manipulação do CSR/SSL:

Acesse o WHm e clique o link "Generate a SSL Certificate and Signing Request" do menu "SSL/TLS". Na tela serão pedidas algumas informações:

Email Address the Cert will be sent to: email ao qual o cPanel enviará uma cópia do CSR e da KEY (criada pelo sistema);
Host to make cert for: Aqui entre com o nome do domínio que terá o SSL instalado - lembre-se, www.dominio.com.br é diferente de dominio.com.br e é diferente de loja.dominio.com.br - se você pedir o CSR para o www.dominio.com.br ele NÃO será ativado ao acessar dominio.com.br e vice-versa;
Country (2 letter Abbrivation): Esta é simples, use BR;
State: O estado (UF) de onde o domínio/empresa está presente, por exemplo, SP ou RJ;
City: Cidade, por exemplo Rio de Janeiro;
Company Name: Nome da empresa que é dona do domínio que usará o SSL;
Company Division: Divisão da empresa que usuará o SSL, ou pode ser usado o nome fantasia ou até mesmo copiar o "Company Name";
Email: email de contato da empresa dona do SSL;
Password: Algumas pessoas fazem confusão com este campo. Esta senha NÃO é sua senha de acesso ao WHM ou ao servidor, mas sim a senha de autenticação caso você migre este futuro SSL para outro servidor apache com a função de autenticação;


Após criar o CSR você deverá contatar uma empresa emissora de SSL como a DigitalSSL por exemplo para que possa efetuar sua configuração. Você deverá informar a chave CSR que você acabou de criar.

IMPORTANTE: Você deve ter um número de IP único configurado para o domínio que terá o SSL instalado.

Para instalar o SSL que vocÊ receebrá é mais simples ainda. Acesse seu WHM e clique no link "Install a SSL Certificate and Setup the Domain" e copie e cole o SSL recebido no primeiro campo do formulário. O cPanel fará o resto (ele puxará o CSR/KEy criados que estão salvos no servidor e efetuará a configuração, bastando você clicar no botão "submit")

terça-feira, 19 de fevereiro de 2008

Otimização para Motores de Busca

Informações importantes sobre otimização (SEO) em sites e motores de busca: http://www.criarweb.com/divulgacao/

Vale a pena dar uma lida.

sexta-feira, 15 de fevereiro de 2008

Instalando e configurando o sistema BFD (Brute Force Detection)

Continuando a série sobre Firewalls vamos falar sobre o sistema BFD (Brute Force Detection) muito usado em conjunto com o APF.

O que é o sistema BFD (Brute Force Detection) ?

O BFD é um script shell modular que verifica a cada período de tempo os logs de acesso de seu servidor, porcurando identificar no mesmo tentativas de acesso com erro (authentication failures) repetidas em curto espaço de tempo.

O sistema então identifica o IP do acesso e o cadastra como possível invasor, enviando um comando ao APF (Firewall) bloqueando-o imediatamente. Este sistema é importantíssimos para o correto funcionamento e segurança de seu servidor (seja ele um Servidor Dedicado ou um VPS). você pode obter mais informações em http://www.rfxnetworks.com/bfd.php

Requerimentos:
- Você tem que ter o APF instalado e ativo antes de instalar o BFD.
- Acesso root ou su ao seu servidor.Instalação:

Acesse seu servidor como root ou su e no mesmo execute os comandos:

1. cd /root/downloads ou outro endereço temporário que você use;
2. wget http://www.rfxnetworks.com/downloads/bfd-current.tar.gz
3. tar -xvzf bfd-current.tar.gz
4. cd bfd-0.7
5. Execute o comando de instalação: ./install.sh


Instalação efetuada:
.: BFD installed
Install path: /usr/local/bfd
Config path: /usr/local/bfd/conf.bfd
Executable path: /usr/local/sbin/bfd

Configurando :

Execute:
pico -w /usr/local/bfd/conf.bfd

Ache a linha: ALERT_USR="0" Mude para: ALERT_USR="1"
Ache a linha: EMAIL_USR="root" Mude para: EMAIL_USR="your@yourdomain.com"


O BFD usa o APF para bloquear os IPs identificados como possíveis invasores que estejam tentando invadir usando a técnica de "Força Bruta".

Execute o programa com o comando: /usr/local/sbin/bfd -s

quarta-feira, 13 de fevereiro de 2008

Instalando e configurando o firewall APF para Linux

Segurança é sempre um item importante nos tempos de hoje. Existem alguns sistemas bastante seguros e usados em servidores de hospedagem em Linux - os firewalls - que ajudam a prevenir ataques e problemas indesejados.

Existem 2 destes sistemas que são os mais usados atualmente, o APF/BFD e o CSL/LFD. Eu vou postar rapidamente como instalar e configurar ambos. Vamos iniciar com o APF.

Necessário:
- Acces root ao servidor

Instalando
Acesse seu Servidor Dedicado ou VPS como root ou su e execute:

1. cd /root/downloads ou outro diretório temporário seguro.

2. wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

3. tar -xvzf apf-current.tar.gz

4. cd apf-0.9.5-1/

5. Execute o instlador: ./install.sh - após alguns segundos você receberá uma mensagem dizendo que o sistema esta instalado:

Installing APF 0.9.5-1: Completed.

Installation Details:
Install path: /etc/apf/
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf
AntiDos install path: /etc/apf/ad/
AntiDos config path: /etc/apf/ad/conf.antidos
DShield Client Parser: /etc/apf/extras/dshield/

Agora vamos configurar ele para operar com o cPanel de forma correta e segura. abra o arquivo de configuração:

pico -w /etc/apf/conf.apf

Modifique:


USE_DS="0"
Mude para: USE_DS="1"

Modifique IG_TCP_CPORTS e IG_UDP_CPORTS por:

IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,2083,2086,2087,2095,2096,3000_3500"
IG_UDP_CPORTS="53"


Modifique EGF, EG_TCP_CPORTS, EG_UDP_CPORTS por:

EGF="1"
EG_TCP_CPORTS="21,25,80,443,43,2089"
EG_UDP_CPORTS="20,21,53"


Agora salve, saia e execute:

apf -s

Tudo correu bem ? voce continua logado no ssh ? Pois bem volte para a edição do apf.conf e mude a linha:

FIND: DEVM="1"
Mude para: DEVM="0"

O DEVM é o sistema de teste seguro do APF - caso você tenha feito algo de errado fechando portas que não deveria (como a 22 por exemplo que é aporta default do SSH) basta aguardar 5 minutos que o sistema APF será desligado via CRON.

Depois salve novamente e execute:

apf -r

Outros comandos na linha e comando:


usage ./apf [OPTION]
-s|--start ......................... load firewall policies
-r|--restart ....................... flush & load firewall
-f|--flush|--stop .................. flush firewall
-l|--list .......................... list chain rules
-st|--status ....................... firewall status
-a HOST CMT|--allow HOST COMMENT ... add host (IP/FQDN) to allow_hosts.rules and
immediately load new rule into firewall
-d HOST CMT|--deny HOST COMMENT .... add host (IP/FQDN) to deny_hosts.rules and
immediately load new rule into firewall

Agora vamos instalar um acessório importante, o BFD. O BFD é um sistema anti-intruso. ele verificará se estão tentando se logar a determinada porta e caso o possível invasor não tenha permissão de acesso, ou seja esteja tentando invadir usando uma técnica conhecida como "brute force' (força bruta) BFD executa o APF bloqueando o IP do invasor.

Mas isso apenas no próximo post. Vamos debulhar mais o sistema APF nos próximos dias.

segunda-feira, 11 de fevereiro de 2008

Um estranho novo (?) erro no Apache...

Um post rápido sobre um erro recorrente no cPanel com o novo apache (o apache do cPanel é um apache "modificado" na distribuição feita na própria instalação do cPanel - o que os gurus do LINUX chamam de versão "patched").

Este estranho erro passou a ocorrer no Apache 2.0.X (não testei ainda na versão 2.2 e superiores derivadas) e trata sobre o uso de memória aliado a espaço em disco no sistema, derrubando o apache por completo e nem adianta dar restart, não restarta nada (não precisa dizer que dor de cabeça é isso para uma empresa de hospedagem que se preze) Verificando os logs de erro do apache em /etc/http/log:
[emerg] (28)No space left on device: Couldn't create accept lock
ou então
[crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed
Apesar do erro confuso existe espaço de sobra em todas as partições do servidor (neste caso ele reclama que não tem espaço no próprio /etc/http/log). A única solução era o reboot do servidor físico mesmo.

Atenção: estes comandos abaixo não executam nada de perigoso no seu sistema, mas você deve usa-los de preferência apenas se você estiver passando por um problema parecido, o que tem sido bem comum no apache 2.0 integrado ao cPanel.

Ou uma solução mais simples:

ipcs -s | grep nobody

Isso lhe mostrá os rótulos "semaphore-arrays" que por algum motivo que não consegui identificar são deixados abertos. Você verá uma extensa lista.

Isso mata tudo:

ipcs -s | grep nobody | perl -e 'while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}'

Agora reinicie o apache:
service httpd restart
Pronto. Problema solucionado, pelo menos até voce tomar vergonha (como eu) e compilar o sistema com o easyapache usando o apache2.2.

sexta-feira, 18 de janeiro de 2008

Alerta de acesso SSH incrementado

Um script simples para avisar caso alguem acesse via ROOT usando SSH o seu servidor. Ele é um pouco mais incrementado que os scripts mais simples encontrados. Além de dar mais informações e envia-las ao seu email ele grava um arquivo no seu /root com todo o histórico dos acessos.

Eu uso ele em todos os servidores que gerencio. Primeiro acesse via SSH e execute:
cd root; pico -w /root/.bash_profile

Depois copie e cole o código abaixo, claro mudando o endereço de destino que receberá o aviso automático:
#
# GRAVA LOG E HISTORICO DE ACESSOS ROOT
#
echo `who` >> .access
#
# EMAIL DE AVISO ACESSO ROOT
#
rootalert() {
echo 'ALERTA - Acesso ROOT SHELL'
echo
echo 'Servidor: '`hostname`
echo 'Data: '`date`
echo 'Usuario: '`who | awk '{ print $1 }'`
echo 'TTY: '`who | awk '{ print $2 }'`
echo 'Origem: '`who | awk '{ print $6 }' | /bin/cut -d '(' -f 2 | /bin/cut -d ')' -f 1`
echo
echo 'Estes usuários estão ativos neste instante como root:'
echo `who | awk '{print $6}'`
echo
echo 'Últimos 10 acessos efetuados:'
echo `last -n 10`
echo
echo 'Informações: Horário deste acesso, Uptime e Load Averange atual'
echo `uptime`
echo
}
rootalert | mail -s "Alerta: Acesso ROOT [`hostname`]"SEUEMAIL@AQUI.COM.BR
Ele criará também o arquivo .access no seu /root gravando as infromações de acesso deixando um histórico dos acessos efetuados. Detalhe importante: este código deve ser colocado logo abaixo da última linha do arquivo /root/.bash_profile que deve ser algo assim:
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
Cole abaixo do unset USERNAME

sexta-feira, 4 de janeiro de 2008

Links Comendados (1)

Link altamente recomendado para quem deseja recompilar o KERNEL de sistemas usando LINUX. Bastante didático e minucioso.

Tips for Successful Kernel Recompilation in Linux

Monitorando Servidores

Durante o tempo em que trabalhei em algumas outras empresas de hospedagem (seja como contratado efetivo ou consultor) sempre em deparei com uma falha gritante em praticamente todas elas, a falta de um sistema funcional de monitoramento de seus domínios e servidores.

O monitoramento consiste basicamente de scanear as portas do servidor em determinados intervalos de tempo, disparando um aviso via email e/ou SMS para o administrador/responsável pelo(s) servidor(es) para que tome as medidas necessárias para reparar possíveis problemas, de preferência ANTES que seus clientes sequer percebam.

Problemas com hospedagem de sites são comuns, sejamos sinceros e claros, por mais cuidadosos e responsáveis os administradores de servidores de hospedagem sempre terão problemas pontuais que podem extressar (e com razão) certos usuários.

O pulo do gato esta em resolver um problema rapidamente, e PRINCIPALMENTE evitar que o mesmo volte a ocorrer. Mas sobre como manter o cliente fiel já é outra história - ou outro post.

Nestes tópicos sobre MONITORAMENTO vamos discutir os diversos modos de monitorar seus servidores (ou mesmo domínios) de forma AUTOMATIZADA - testando diversas empresas de monitoramento EXTERNO existentes no mercado.

Mas neste post específico disponibilizamos um sisteminha em PHP bem simples desenvolvido pelo Josimar Jaime Finamore (http://artigos.tekever.eu/ver/?208) simples e realmente inteligente e interessante. Você pode instalar o mesmo em um domínio/conta em seu servidor e configura-lo para monitorar seus clientes remotamente.

Mas lembre-se que esta não é a solução profissional realmente - afinal se o domínio que voce esta usando para instalar este sistema cair, como ele irá monitorar os demais domínios de seus clientes ?

comandos Básicos do EXIM via SHELL

Alguns comandos interessantes do EXIM (servidor de email) para serem executados via shell (sendo necessário que você tenha acesso root ao servidor). Você pode testa-los e executa-los sem medo:

exim -bp
mostra todas as menssagens existentes no queue

exim -bpc
mostra o número (quantidade) de mensagens no queue

exim -bP
mostra a configuração do seu EXIM

exim -bV
Mostra a versão do EXIM

exiwhat
mostra o que os processos do EXIM estão executando

exim -qf
força uma nova execução do queue

exim -Mvl exim -Mvb exim -Mvh exim -Mrm exim -Mg
estes acima mostram diversas informações sobre as mensagens sendo enviadas

exim -M emailID
força o envio de uma mensagen (ID) específica

Arquivo de configuração httpd.conf TRADUZIDO

Conforme prometi em nossa comunidade no orkut, seque abaixo o arquivo httpd.conf (configuração do servidor apache WEB 1.3.XX):

##
## httpd.conf -- Arquivo de configuração do servidor httpd Apache
##

#
# Baseado nos arquivos de configuração originais do servidor NCSA por Rob McCool.
# Modificado para distribuição junto ao guia Foca GNU/Linux Avançado
# http://focalinux.cipsga.org.br/
#
# Este é o arquivo de configuração principal do servidor Apache. Ele contém as
# diretivas de configuração que dão ao servidor suas instruções.
# Veja para informações detalhadas sobre as
# diretivas.
#
# NÃO leia simplesmente as instruções deste arquivo sem entender o que significam
# e o que fazem, se não tiver certeza do que está fazendo consulte a documentação
# on-line ou leia as seções apropriadas do guia. Você foi avisado.
#
# Após este arquivo ser processado, o servidor procurará e processará o arquivo
# /etc/apache/srm.conf e então /etc/apache/access.conf
# a não ser que você tenha modificado o nome dos arquivos acima através das
# diretivas ResourceConfig e/ou AccessConfig neste arquivo.
#
# Configuração e nomes de arquivos de log: Se os nomes de arquivos que
# especificar para os arquivos de controle do servidor iniciam com uma
# "/", o servidor usará aquele caminho explicitamente. Se os nomes *não*
# iniciarem com uma "/", o valor de ServerRoot é adicionado -- assim
# "logs/foo.log" com ServerRoot ajustado para "/usr/local/apache" será
# interpretado pelo servidor como "/usr/local/apache/logs/foo.log".
#
# Originalmente por Rob McCool
# modificado por Gleydson Mazioli da Silva para o guia Foca GNU/Linux

# Carga dos Módulos de Objetos Compartilhados:
# Para você ser capaz de usa a funcionalidade de um módulo que foi construído como
# um módulo compartilhado, será necessário adicionar as linhas 'LoadModule'
# correspondente a sua localização, assim as diretivas que os módulos contém
# estarão disponíveis _antes_ de serem usadas.
# Exemplo:

#
# ServerType pode ser inetd, ou standalone. O modo Inetd somente é suportado nas
# plataformas Unix. O modo standalone inicia o servidor como um daemon.
#

ServerType standalone

# Se estiver executando a partir do inetd, vá até a diretiva "ServerAdmin".

# Port: A porta que o servidor standalone escutará. Para portas < org="" docs="" mod="" lockfile="">);
# e se salvará de vários problemas.
#
# Não adicione uma barra no fim do caminho do diretório.
#

ServerRoot /etc/apache

# BindAddress: Você pode usar esta opção em virtual hosts. Esta
# opção é usada para dizer ao servidor que endereço IP escutar. Ele pode
# conter ou "*", um endereço IP, ou um nome de domínio completamente qualificado
# (FQDN). Veja também a diretiva VirtualHost.

BindAddress *

#
# Suporte a Objetos Compartilhados Dinamicamente (DSO - Dynamic Shared Object)
#
# Para ser capaz de usar a funcionalidade de um módulo que foi compilado como
# um módulo DSO, você terá que adicionar as linhas 'LoadModule' correspondentes
# nesta localização, assim as diretivas contidas nela estarão disponíveis
# _antes_ de serem usadas. Por favor leia o arquivo README.DSO na distribuição
# 1.3 do Apache para mais detalhes sobre o mecanismo DSO e execute o comando
# "apache -l" para a lista de módulos já compilados (estaticamente linkados e
# assim sempre disponíveis) em seu binário do Apache.
#
# Please keep this LoadModule: line here, it is needed for installation.
# LoadModule vhost_alias_module /usr/lib/apache/1.3/mod_vhost_alias.so
# LoadModule env_module /usr/lib/apache/1.3/mod_env.so
LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so
# LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so
LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so
LoadModule status_module /usr/lib/apache/1.3/mod_status.so
# LoadModule info_module /usr/lib/apache/1.3/mod_info.so
# LoadModule includes_module /usr/lib/apache/1.3/mod_include.so
LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so
LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
LoadModule php3_module /usr/lib/apache/1.3/libphp3.so
LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so
# LoadModule asis_module /usr/lib/apache/1.3/mod_asis.so
# LoadModule imap_module /usr/lib/apache/1.3/mod_imap.so
# LoadModule action_module /usr/lib/apache/1.3/mod_actions.so
# LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
LoadModule alias_module /usr/lib/apache/1.3/mod_alias.so
LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
LoadModule access_module /usr/lib/apache/1.3/mod_access.so
LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so
# LoadModule anon_auth_module /usr/lib/apache/1.3/mod_auth_anon.so
# LoadModule dbm_auth_module /usr/lib/apache/1.3/mod_auth_dbm.so
# LoadModule db_auth_module /usr/lib/apache/1.3/mod_auth_db.so
# LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
# LoadModule digest_module /usr/lib/apache/1.3/mod_digest.so
# LoadModule cern_meta_module /usr/lib/apache/1.3/mod_cern_meta.so
LoadModule expires_module /usr/lib/apache/1.3/mod_expires.so
# LoadModule headers_module /usr/lib/apache/1.3/mod_headers.so
# LoadModule usertrack_module /usr/lib/apache/1.3/mod_usertrack.so
LoadModule unique_id_module /usr/lib/apache/1.3/mod_unique_id.so
LoadModule setenvif_module /usr/lib/apache/1.3/mod_setenvif.so
# LoadModule sys_auth_module /usr/lib/apache/1.3/mod_auth_sys.so
# LoadModule put_module /usr/lib/apache/1.3/mod_put.so
# LoadModule throttle_module /usr/lib/apache/1.3/mod_throttle.so
# LoadModule allowdev_module /usr/lib/apache/1.3/mod_allowdev.so
# LoadModule auth_mysql_module /usr/lib/apache/1.3/mod_auth_mysql.so
# LoadModule pgsql_auth_module /usr/lib/apache/1.3/mod_auth_pgsql.so
# LoadModule eaccess_module /usr/lib/apache/1.3/mod_eaccess.so
# LoadModule roaming_module /usr/lib/apache/1.3/mod_roaming.so

#
# ExtendedStatus: Controla de o Apache gerará detalhes completos de status
# (ExtendedStatus On) ou apenas detalhes básicos (ExtendedStatus Off) quando o
# manipulador (handler) "server-status" for usado. O padrão é Off.
#
ExtendedStatus on

#
# ErrorLog: A localização do arquivo de log de erros.
# Se não estiver especificando a diretiva ErrorLog dentro de ,
# as mensagens de erros relativas aos hosts virtuais serão registradas neste
# arquivo. Se definir um arquivo de log de erros para , as
# mensagens relativas ao servidor controlados por ela serão registradas lá e
# não neste arquivo.
#
ErrorLog /var/log/apache/error.log

#
# LogLevel: Controla o número de mensagens registradas no ErrorLog.
# Facilidades possíveis incluem: debug, info, notice, warn, error, crit,
# alert, emerg.
# Veja as facilidades na seção do guia sobre o syslog para detalhes
#
LogLevel warn

# As seguintes diretivas definem alguns formatos de nomes que serão usadas com a
# diretiva CustomLog (veja abaixo).

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %T %v" full
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %P %T" debug
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#
# A localização e formato do arquivo de log de acesso (definida pela diretiva
# LogFormat acima).
# Se não definir quaisquer arquivos de log de acesso dentro de um
# , elas serão registradas aqui. Se for definida dentro
# de o arquivo de log de acesso será registrado no
# arquivo especificado na diretiva e não aqui.
#
#CustomLog /var/log/apache/access.log common

# Se você desejar ter um arquivo de log separado para o agent (navegador usado)
# e referer, descomente as seguintes diretivas.

#CustomLog /var/log/apache/referer.log referer
#CustomLog /var/log/apache/agent.log agent

# Se preferir um arquivo de log simples, com os detalhes de acesso, agent, e
# referer (usando o formato combined da diretiva LogFile acima), use a seguinte
# diretiva.

CustomLog /var/log/apache/access.log combined

#
# Incluir uma linha contendo a versão do servidor e um nome de host virtual
# para as páginas geradas pelo servidor (documentos de erro, listagens
# de diretórios FTP, saída dos módulos mod_status e mod_info, etc., exceto
# para documentos gerados via CGI). Use o valor "EMail" para também incluir
# um link mailto: para o ServerAdmin. Escolha entre "On", "Off" ou "EMail".
#
ServerSignature On

#
# PidFile: O arquivo que o servidor gravará os detalhes sobre seu PID quando
# iniciar.
#
PidFile /var/run/apache.pid

#
# ScoreBoardFile: Arquivo usado para armazenar detalhes do processo interno do
# servidor. Nem todas as arquiteturas requerem esta diretiva, mas se a sua
# requerer (você saberá porque este arquivo será criado quando executar o
# Apache) então você *deverá* ter certeza que dois processos do Apache não
# utilizam o mesmo arquivo ScoreBoardFile.
#
ScoreBoardFile /var/run/apache.scoreboard

#
# Na configuração padrão, o servidor processará este arquivo, o
# srm.conf e o access.conf neste ordem. Você pode fazer o servidor
# ignorar estes arquivos usando "/dev/null".
#
ResourceConfig /etc/apache/srm.conf
AccessConfig /etc/apache/access.conf

#
# A diretiva LockFile define o caminho do lockfile usado quando o servidor
# Apache for compilado com a opção USE_FCNTL_SERIALIZED_ACCEPT ou
# USE_FLOCK_SERIALIZED_ACCEPT. Esta diretiva normalmente deve ser deixada em seu
# valor padrão. A razão principal de modifica-la é no caso do diretório de logs
# for montado via um servidor NFS< com="">
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /var/www/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog /var/log/apache/host.some_domain.com-error.log
#TransferLog /var/log/apache/host.some_domain.com-access.log
#



# VirtualHost: Se você quiser manter múltiplos domínios/nomes de máquinas em sua
# máquina você pode ajustar o conteúdo de VirtualHost para eles.
# Por favor veja a documentação em
# para mais detalhes antes de tentar configurar seus hosts virtuais.
# Você pode usar a opção de linha de comando '-S' para verificar sua configuração
# de hosts virtuais.

#
# Se desejar usar hosts virtuais baseados em nome, será necessário definir no
# mínimo um endereço IP (e número de porta) para eles.
#
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78

#
# Exemplo de um Host Virtual:
# Praticamente qualquer diretiva do Apache pode entrar na condicional
# VirtualHost.
#
#
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common
#