Pesquisar este blog

segunda-feira, 26 de janeiro de 2009

Regras do Mod_security

Algumas regras importantes do mod_security (se você não tem instalado este módulo em seu apache, tome vergonha e instale).

Estas regras usamos em todos os nossos servidores de hospedagem de sites - caso você hospede apenas seus sites em seu servidor e não sites de terceiros (ou seja, você sabe exatamente o que está rodando) você pode "abrandar" um pouco estas regras, fica a seu critério.

Detalhe só como Apache 2.2 ok ?

Dowload: http://central.meganick.com.br/dl.php?type=d&id=29

sábado, 24 de janeiro de 2009

Firebird

Neste post vou colocar passo-a-passo o que é necessário para você instalar o Firebird em seu servidor cPanel. Este processo também pode ser útil em outros servidores ou sistemas, com uma ou outra modificação. Neste post você terá o processo de instalação e compilação do sistema e de tudo relacionado ao correto funcionamento do Firebird.

Para mais informações sobre o Firebird eu sugiro o ótimo portal (em portugues): http://www.firebase.com.br/

1. Baixe o FireBird para o seu servidor:

cd /opt/
wget http://nchc.dl.sourceforge.net/sourceforge/firebird/Firebird-2.0.3.12981-1.tar.bz2

2. Compile e instale o módulo manualmente:

tar -jxf Firebird-2.0.3.12981-1.tar.bz2
mv Firebird-2.0.3.12981-1 firebird
cd firebird
./autogen.sh
make
make install

Ele irá colocar algumas mensagens na tela como:


Firebird classic 2.0.3.12981-1.i686 Installation
Press Enter to start installation or ^C to abort
Please enter new password for SYSDBA user: (Enter here SYSDBA user password and press Enter key)
firebird database Installed successfully

3. Adicione o /usr/local/firebird/bin/ ao seu "caminho" default no servidor.

Você pode editar o arquivo /etc/profile ou executar via comando shell mesmo:

export PATH=$PATH:/usr/local/firebird/bin/

Agora vamos checar se está tudo correto e se o Firebird está sendo executado normalmente com alguns testes simples. Abra o arquivo /opt/interbase/SYSDBA.password para ver a senha "root" (que no FireBird é chamado de usuário SYSDBA) e execute:

gsec -display

Este comando deve mostrar a lista dos usuário, no caso como esta é uma primeira instalação deverá mostrar apenas o usuário SYSDBA.

Agora vamos testar a conexão com um banco de dados de testes do próprio Firebird:

isql /usr/local/firebird/examples/empbuild/employee.fdb

Isso deve mostrar algo como:

[root@server]# isql /usr/local/firebird/examples/empbuild/employee.fdb
Database: /usr/local/firebird/examples/empbuild/employee.fdb
SQL> SHOW TABLES;
COUNTRY CUSTOMER
DEPARTMENT EMPLOYEE
EMPLOYEE_PROJECT JOB
PROJECT PROJ_DEPT_BUDGET
SALARY_HISTORY SALES
should display all tables from this database

SQL> quit;
[root@server]#

Agora que finalizamos a primeira parte - a instalação do FireBird vamos compilar o servidor Apache e o PHP para o seu correto funcionamento. O módulo do Firebird não existe na compilação padrão do cPanel, teremos de adiciona-lo manualmente.

Para o PHP4 edite o arquivo /var/cpanel/easy/apache/rawopts/all_php4 e para o PHP5 edite o arquivo /var/cpanel/easy/apache/rawopts/all_php5 e adicione uma única linha em ambos:

--with-interbase=/opt/firebird/

Execute o /scripts/easyapache (recompilação do Apache/PHP) normalmente, você pode usar seu próprio profile atual. Quando terminar verifique no PHP.ini se as linhas abaixo existem e edite-as caso seja necessário para ficarem iguais (geralmente o magic_quotes_sybase é colocado como Off):

magic_quotes_sybase = On ; Use Sybase-style magic quotes (escape ' with '' instead of ')
extension=php_interbase.so

Feche e execute:

service httpd restart

Instalação completada.

Uma observação é necessária, caso você não saiba mexer com o Firebird não tente oferecer isso a seus clientes ainda. Na Megahost estamos trabalhando com um sistema (add-on) a ser colocado no cPanel que facilita a criação de banco de dados por parte dos usuários, mas até lá estamos fazendo tudo manualmente com as ferramentas do próprio Firebird.

Você terá também de configurar o arquivo /usr/local/firebird/firebird.conf (cuidado para não liberar acessos inseguros) e liberar a porta 3050 para acesso remoto (não recomendável nem mesmo para o MySQL, mas isso é assunto para outro post).

Aviso: Todos os tutoriais postados pelo autor foram testados em ambiente de produção. Porem o mesmo não se responsabiliza por problemas ou bugs existentes nos sistemas usados de terceiros ou por erros durante a instalação dos recursos/scripts testados - o uso dos mesmos é por conta e risco de seus usuários

Dicas: Cronjob, Apache e AWSTATS

Algumas dicas rápidas para correção de alguns erros que insistem em aparecer no cPanel. Neste post eu vou listar algumas, são coisas simples mas que enchem o saco quando ocorrem.

1. CronJob parou de funcionar

Quando vc tenta adicionar qualquer cronjob via cPanel o sistema retorna uma mensagem dizendo que não tem permissão para acesso ao /usr/bin/crontab. Para solucionar execute via SSH:

chmod 4755 /usr/bin/crontab

2. Modificar o arquivo de configuração do Apache


Não é exatamente um erro ou bug, mas uma limitação de segurança do sistema. Evite editar manualmente e diretamente o arquivo httpd.conf do apache (no /etc/httpd/conf/httpd.conf). Mas se você tiver que editar o arquivo execute logo após os comandos:

/usr/local/cpanel/bin/apache_conf_distiller –update
/usr/local/cpanel/bin/build_apache_conf

Não esquecendo obviamente de reiniciar o servidor Apache:


service httpd restart

3. Colocando o AWSTATS em português


Não sei porque só funciona manualmente. Acesse o arquivo /usr/local/cpanel/etc/awstats.conf e no mesmo edite a linha de linguagem configurada como "en" e mude-a para "br". Outro método é sobrescrever o arquivo em /usr/local/cpanel/3rdparty/share/awstats/lang com o comando:

cp -rp file_BR file_EN


Aviso: Todos os tutoriais postados pelo autor foram testados em ambiente de produção. Porem o mesmo não se responsabiliza por problemas ou bugs existentes nos sistemas usados de terceiros ou por erros durante a instalação dos recursos/scripts testados - o uso dos mesmos é por conta e risco de seus usuários

sábado, 10 de janeiro de 2009

Evitar SQL INJECTION

Código interessante do Cristiano da Silva para (tentar pelo menos) evitar ataques conhecidos como SQL INJECTION - muito comuns em sites que usam SCRIPTS PHP prontos do FANTASTICO desatualizados por exemplo.

http://cristianosilva.wordpress.com/2008/03/14/sql-injection-como-evitar/

terça-feira, 6 de janeiro de 2009

Premature end of script headers + em todos os sites + suPHP + php + whm

Esta dica veio do Fórum cPanel. Little_Oak, um conhecido membro da comunidade de usuários e técnicos (este com qualidade) que usam o sistema.

Eu não vou copiar o texto por completo, mas segue o link logo abaixo. O problema basicamente ocorre quando os logs de erro e do sistema SuPHP somam mais de 1 Gb de tamanho, o que ocorre com facilidade.

cd /usr/local/apache/logs

Você verá os arquivos de logs. O cPanel tem já na versão "Accelerated" (nome criado por um gênio do marketing) tem um recurso meio que escondido que é a "rotação" destes logs de acesso. Acesse:

Service Configuration >> Apache Configuration >> Log Rotation

Pronto. O texto original do Little_Oak com mais algumas dicas você encontra no Fórum cPanel.

Aviso: Todos os tutoriais postados pelo autor foram testados em ambiente de produção. Porem o mesmo não se responsabiliza por problemas ou bugs existentes nos sistemas usados de terceiros ou por erros durante a instalação dos recursos/scripts testados - o uso dos mesmos é por conta e risco de seus usuários

segunda-feira, 5 de janeiro de 2009

Incrementando o cabeçalho de emails

Uma coisa importante a ser adicionada ao sistema EXIM são as informações no cabeçalho dos emails enviados/recebidos em seu sistema.

Com etas informações você poderá mais facilmente identificar os possíveis SPAMMERS que você hospeda além de facilitar também a vida de outros administradores cujo servidores recebem emails vindos de seu sistema.

Acesse o WHM e no link "Exim Configuration Editor" e no mesmo no botão "Advanced Editor". Logo no primeiro campo de formulário (logo abaixo do "#!!# cPanel Exim 4 Config") adicione:

log_selector = +address_rewrite +all_parents +arguments +connection_reject +delay_delivery +delivery_size +dnslist_defer +incoming_interface +incoming_port +lost_incoming_connection +queue_run +received_sender +received_recipients +retry_defer +sender_on_delivery +size_reject +skip_delivery +smtp_confirmation +smtp_connection +smtp_protocol_error +smtp_syntax_error +subject +tls_cipher +tls_peerdn

Agora observe o cabeçalho dos emails em seu queue.

Bloquear todos os IPs de um país

Link interessante, com ele você pode bloquear todos os ips de determinado país. Iniciantemente ele cria um arquivo .htaccess para você colocar em seu diretório WEB e assim bloquear todos os visitantes do país, porem editando o arquivo você pode criar regras em seu firewall para bloquear todos os visitantes - se você puder adicionar estas regras no firewall físico de seu Data Center o bloqueio é total.

http://www.blockacountry.com/

sábado, 3 de janeiro de 2009

Pele do WHM Traduzida

Com a nova versão "accelerated" do WHM rodando (puro marketing este "nome") muitos usuários do cPanel que tinham "peles" traduzidas mais antigas estão reclamando de erros do tipo "/usr/local/cpanel/whostmgr/docroot/themes/WHM_Portugues/templates" ou similares.

Segue abaixo o link para baixar a pele do WHM atualizada que eu uso em nossos servidores:

http://central.meganick.com.br/downloads.php?action=displaycat&catid=6

Agora importante dizer, a primeira pele está instalada em servidores de produção (portanto devidamente testada) mas tem o logotipo e mais algumas alterações da MEGAHOST. Portanto é de bom tom que você a edite tirando estes códigos ou baixe diretamente a segunda pele que está traduzida sem logo ou links para o nosso sistema.

Se desejar você pode adicionar seu próprio logo e tornar o WHM mais amigável com informações sobre sua empresa. Para isso basta editar o arquivo "command" (acessando via SSH execute):

pico -w /usr/local/cpanel/whostmgr/docroot/themes/PTBRASIL/command

O código a ser modificado está logo no início após a tag "!-- command2.header --". Altere-o à vontade.