Instalando o FirebirdSS-2.1.3 no Opensuse 11.1

January 2nd, 2010 No Comments   Postado em Firebird, Linux, Opensuse

Recentemente instalei o Opensuse 11.1 para poder ter mais uma opção de servidor com uma versão mais atualizada do kernel, o primeiro problema que encontrei foi a instalação do vmware e logo em seguida a instalação do Firebird Super Server, como relato em minha pagina about, a função principal deste espaço é registrar coisas deste tipo para que, em uma necessidade futura, possa ser fácil recuperar, uma espécie de repositório, por outro lado, é provavel que possa ser útil a alguem que esteja iniciando neste maravilhoso SO, então descrevo abaixo os passos para a instalação do FB no OpenSuse 11.1:

1- Baixar o rpm da pagina: http://www.firebirdsql.org/index.php?op=files&id=engine_213, no meu caso que uso um core 2 duo, o arquivo que baixei foi: FirebirdSS-2.1.3.18185-0.i686.rpm

2 – Instalar com um duplo clique, o yast será acionado e voce deverá informar a senha do root, provavelmente voce receberá uma mensagem de erro parecida com:

Dependencia não resolvida : libstdc++.so.5

3 – Se voce não recebeu a mensagem acima, o FB foi instalado com sucesso, simples assim, agora só falta mudar a senha (Veja o passo 6), se não vá para o passo seguinte.

4 – O proximo passo é descobrir em que pacote este arquivo se encontra, depois de uma rápida pesquisa descobri que está no pacote com o nome: libstdc++33, agora poderiamos utilizar o yast  para descobrir o nome exato do pacote e instala-lo,  mas que tal connhecer um aplicativo muito util da linha de comandos? então vamos usar o zypper, primeiro vamos descobrir o nome do pacote que devemos instalar, para isto usaremos o comando zypper, veja a saida após o cmando:

$ zypper search libstdc++

Carregando os dados do repositório…
Lendo os pacotes instalados…

| Nome                      | Resumo                                                                           | Tipo
+———–+————————————————+————
| libstdc++33           | The standard C++ shared library                                     | pacote
| libstdc++33-devel | Include Files and Libraries mandatory for Development  | pacote
| libstdc++33-doc   | Documentation for the GNU C++ standard library           | pacote

Agora vamos instalar com zypper install, veja abaixo:

# zypper install libstdc++33
Carregando os dados do repositório…
Lendo os pacotes instalados…
Resolvendo as dependencias de pacote…

O seguinte pacote NOVO será instalado:
libstdc++33

Tamanho total do download: 200,0 K. Após a operação, 732,0 K adicionais serão utilizados.
Continuar? [SIM/não]:

Para instalar, tecle enter para a questão acima. e voce obtera a saida abaixo:

Obtendo pacote libstdc++33-3.3.3-7.5.i586 (1/1), 200,0 K (732,0 K descomprimido)
Instalando: libstdc++33-3.3.3-7.5 [concluí­do]

5 – Volte ao passo 2 e o FB deverá ser instalado.

6 – Mude a senha, para isto consulte meu artigo:
Alterando a senha do FB no windows e no Linux

Isto é tudo!

Links relacionados:
Instalando o Firebird 2.1 no CentOS 5.3


Tags: , ,

Instalando o Firebird 2.1 no CentOS 5.3

September 5th, 2009 1 Comment   Postado em Firebird

Problema:
Ao tentar instalar o FB 2.1, um pacote rpm (FirebirdSS-2.1.2.18118-0.nptl.i686.rpm) no CentOS 5.3 a seguinte mensagem é reportada:

erro: Dependências não satisfeitas:
libstdc++.so.5 é requerido por FirebirdSS-2.1.2.18118-0.i686

Solução
Primeiro vamos procurar uma biblioteca compativel, para isto utilizaremos o comando “yum whatprovides”:

# yum whatprovides libstdc++.so.5 <enter>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.centos-br.org
* updates: mirror.sanctuaryhost.com
* addons: mirror.centos-br.org
* extras: mirror.sanctuaryhost.com
compat-libstdc++-33-3.2.3-61.i386 : Bibliotecas compatibilidade C++ padrão.
Matched from:
Other : libstdc++.so.5

Aanalisando a saida do comando podemos ver que o pacote compativel é “compat-libstdc++-33-3.2.3-61.i386″, vamos instala-lo com o comando “yum install”:

# yum install compat-libstdc++-33-3.2.3-61.i386 <Enter>

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mira.sunsite.utk.edu
* updates: yum.singlehop.com
* addons: centos.mirror.nac.net
* extras: www.gtlib.gatech.edu
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package compat-libstdc++-33.i386 0:3.2.3-61 set to be updated
–> Finished Dependency Resolution

Dependencies Resolved

=======================================================
Package Arch Version Repository Size
=======================================================
Installing:
compat-libstdc++-33 i386 3.2.3-61 base 232 k

Transaction Summary
=======================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 232 k
Is this ok [y/N]:

Respondemos yes e depois novamente yes para a importação da GPG Key e o pacote é instalado.

Downloading Packages:
compat-libstdc++-33-3.2.3-61.i386.rpm | 232 kB 00:04
aviso: rpmts_HdrFromFdno: Cabeçalho V3 assinatura DSA: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 “CentOS-5 Key (CentOS 5 Official Signing Key) ” from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : compat-libstdc++-33 [1/1]

Installed: compat-libstdc++-33.i386 0:3.2.3-61
Complete!

Instalação do Firebird
Finalmente é só instalar o pacote com o comando rpm, apos a instalação o instalador tenta ‘subir’ o FB e ocorre um erro, mas o proprio processo de instalação corrige e tudo termina bem! :-)

# rpm -i FirebirdSS-2.1.2.18118-0.nptl.i686.rpm
Updated /etc/services
Starting Firebird server [default] [FALHOU]

Fixing firebird’s shell to /bin/sh

Starting Firebird server [default] server has been successfully started
[ OK ]

Alterando a senha:
Por último é bem provável que vc queira ou precise alterar a senha, para isto consulte meu outro artigo: http://www.cosmoverbal.net/firebird/alterando-a-senha-do-fb-no-windows-e-no-linux


Tags: ,

Sambando no CentOS 5.2

September 25th, 2008 No Comments   Postado em Linux

Resumo:
Em uma rede com estações windows XP fazendo autenticacao em um PDC SAMBA, voce cria um usuário no linux e esquece de atribuir um diretório a ele, ou seja, deixa o diretorio em branco, ai voce adiciona uma máquina windows a rede e cria este mesmo usuário nesta estação, mesmo que limitado e percebe que o drive deste usuário mostra toda a raiz do drive linux. Grrr!

Ambiente:
Servidor CentOS 5.2 com estações windows XP fazendo autenticação em domínio via SAMBA.

Descrição:
Através da linha de comando é possível criar um usuário linux sem informar seu diretório, fazendo isto ao acessar este usuário via GUI (system-config-users) você verá que o campo do usuário está em branco como na figura abaixo:

Gerenciador de usuários CentOS

Não será possível alterar nada neste usuário até que se coloque o diretório do mesmo, mas de qualquer forma o usuário foi “aceito” e ativo, agora vamos supor que voce adicione este usuário ao domínio através do comando “smbpasswd -a”

Supondo que seu arquivo /etc/samba/smb.conf contenha linha do tipo:

logon drive = z:

O que na prática apenas força o mapeamento do drive do usuário na unidade Z.

Agora coloque uma estação XP no domínio e adicione este usuário no domínio, e veja o drive Z dele e tenha um… IAM (Infarto Agudo do Miocardio), eheheh! o drive Z dele é nada mais nada menos do que o / do sistema, é isto mesmo, o usuário terá acesso a todo o conteudo a partir da raiz, é como se ao invéz de não informar o diretório dele, voce tivesse digitado uma barra (/). Assustador.

Solução:
A solução está mostrada na figura acima, coloque o diretório /dev/null que o drive Z nem deverá aparecer na estação windows.


Tags: ,

Instalando Ruby (1.8.7) e Rails 2.1.0 no CentOS 5

August 9th, 2008 4 Comments   Postado em Linux, Ruby

Tentei usar Ruby on Rails no centos 5 e percebi que o rails não está nos pacotes da distribuição então resolvi instalar manualmente e, desta maneira, ter a última versão estável disponível. Em primeiro lugar é preciso desinstalar qualquer versão instalada:

# yum remove ruby

1. Instalando Ruby Versão 1.8.7
Baixe o pacote disponível no site http://www.ruby-lang.org/pt/downloads/ ou diretamente clicando aqui (Versão 1.8.7), copie ou mova o arquivo para o diretório de sua preferência, veja que este é um arquivo compactado que contém os fontes que deverá ser compilado, eu sempre movo este tipo de arquivo para o diretório “/usr/local/src” (claro que para fazer isto você precisa ter permissão, como você vai instalar pacotes, é melhor logar como root), depois de mover o arquivo, vá para o diretório, descompacte-o, vá para o diretório gerado, configure, compile e instale, vamos mostrar passo a passo, considerando que o arquivo foi baixado para a área de trabalho do usuário:
# mv /home/usuario/Desktop/ruby-1.8.7.tar.bz2 /usr/local/src/
# cd /usr/local/src
# tar -xjf ruby-1.8.7.tar.bz2
# cd ruby-1.8.7
# ./configure
# make
# make install

Neste ponto Ruby deve estar instalado, se quiser você pode testar com o comando “ruby -v” que te mostrará a versão:
# ruby -v
ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-linux]

2. Instalando o RubyGems Versão 1.1.1
Agora voce deve baixar o rubygems do site: http://rubyforge.org/frs/?group_id=126&release_id=21058 ou diretamente deste link (Versão 1.1.1) em seguida mova o arquivo para o diretório escolhido (/usr/local/src, neste contexto), descompacte-o e instale através do Ruby, novamente vamos ao “passo a passo”, sempre considerando que o arquivo tenha sido baixado na área de trabalho do usuário:
# mv /home/usuario/Desktop/rubygems-1.1.1.tgz /usr/local/src
# tar -xzf rubygems-1.1.1.tgz
# cd rubygems-1.1.1.tgz
# ruby setup.rb

3. Tentando Instalar o Rails através do RubyGems
Para instalar o rails vamos usar o Gem, para isto execute o comando abaixo:
# gem install rails --include-dependencies

Em minha instalação recebi as seguintes mensagens:
gem install rails --include-dependencies
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
'gem_original_require': no such file to load -- zlib (LoadError)

Como o erro apresentado refere-se a zlib então vamos instalar zlib e, por via das dúvidas, zlib-devel:
# yum install zlib zlib-devel

4. Então vamos fazer algumas configurações extras:
# cd /usr/local/src/ruby-1.8.7/ext/zlib/
# ruby extconf.rb --with-zlib-include=/usr/include
  --with-zlib-lib=/usr/lib
# make
# make install

5. Recompilando e reinstalando rubygems
# cd /usr/local/src/rubygems-1.1.1/
# ruby setup.rb config
# ruby setup.rb setup
# ruby setup.rb install

6. Instalando o Rails
# gem install rails --include-dependencies

Voce deverá obter a seguinte saida:
INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
Updating metadata for 592 gems from http://gems.rubyforge.org/
................................................................................
.................
Complete
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Successfully installed rails-2.1.0
1 gem installed

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

May 9th, 2008 No Comments   Postado em Linux, MySQL

O problema:
Você instala o MySQL e quando tenta fazer qualquer coisa (até mesmo alterar a senha do root), recebe a seguinte mensagem:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

Este é um problema obscuro no mysql, gastei varias horas tentando descobrir a causa, meu sistema operacional é o Linux CentOS, depois de alguma pesquisa descobri que pode acontecer também no windows, segundo uma post no forum do mysql isto ocorre por um dos motivo abaixo:

1. pelo fato de não se ter permissões de acesso ao diretorio /var/lib/mysql/whatever.sock. porque mysql é o dono desta pasta (legal, mas então porque me configurou para gravar o .sock lá?)

2. O /path/whatever.sock não existe (O que definitivamente não era o caso)

A Solução:
Então a solução oferecida pelo post é: editar o arquivo (Especificamente para o linux, em outro OS deve se procurar o mesmo arquivo) /etc/my.cnf e alterar/adicionar as seguintes linhas:

[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

A primeira tentativa pareceu frustrada mas ai percebi que o serviço mysqld estava parado, foi só inicializa-lo e tudo funcionou!

Link: http://forums.mysql.com/read.php?11,27769,59865




Tags: ,

Segurança no ssh.

November 26th, 2007 No Comments   Postado em Linux

O SSH é um serviço muito interessante e útil no mundo linux, praticamente todo servidor em que se deseje a administração remota é preciso estar rodando este serviço, pois bem, apenas um dia depois que liberei este serviço no firewall de 2 servidores SuSe, encontrei centenas de linhas de tentativas de logins invalidos no /var/log/messages, ou seja são varios ataques de força bruta através do ssh, então começei a pesquisar de como se proteger destes ataques e acabei montando a seguinte estratégia:

Antes de iniciar voce pode verificar se ha alguma tentativa destes ataques em seu servidor, listando as ultimas 500 linhas do arquivo de log de sua distribuição, para isto use o comando tail, abaixo listo 3 exemplos que abrange 6 distribuições diferentes:

Rhedhat ou Fedora:
tail -n500 /var/log/secure | more

Mandrake, FreeBSD ou OpenBSD:
tail -n500 /var/log/auth.log | more

SuSe:
tail -n500 /var/log/messages | more

1 – Altere a porta default
A porta default do ssh é a 22, porque deixar o padrão? dificulte mais um pouco, altere-a, para isto edit o arquivo /etc/ssh/sshd_config e descomente a linha

#Port 22

Altere-a para 2222, por exemplo, embora seja óbvio que os atacantes tentem portas que não a default mas a simples alteração da porta reduz drasticamente os ataques de força bruta. Logo que descobri os ataques imediatamente me veio a mente de trocar a porta como medida emergencial e assim o fiz, o primeiro ataque só surgiu apos aprox 72 horas, quando estava na 22 os ataques eram constantes durante todo o dia.

Obs.: Não se esqueça de reconfigurar seu firewall fechando a 22 e abrindo a nova porta.

2 – Use senhas fortes
Para os usuarios, uma estrategia para uma senha forte que seja fácil de ser lembrada é pensar em algo que voce goste muito ou odeia e associar a um numero que seja significativo para voce (separados por um ponto), claro que vai depender do contexto de cada um mas posso citar como exemplo:

whiskychivas.12anos
chocolateamargo.2007
volkswagennewbeatle.2008

Voce pode também desabilitar o acesso via senha e permitir somente via chave publica, mas não uso esta abordagem porque torna-se complexo acessar o servidor com equipamentos de terceiros

3 – Desabilite o login do root
Nos logs que pesquisei não havia nenhuma tentativa de logar com o root mas é claro que um ou outro ataque vai acabar fazendo este tipo de tentativa então acho prudente desabilitar o login como root no ssh, para isto volte ao arquivo /etc/ssh/sshd_config e descomente a linha onde se lê “PermitRootLogin yes” e altere-a para “PermitRootLogin no”

4 – Limite as conexoes
Ataques via ssh são espécies de flood onde o agressor tenta logar ao servidor com nomes/senhas provavelmente extraidos de dicionarios, por repetidas vezes sucessivamente. Se o servidor estiver protegido por um firewall usando iptables é fácil e rápido criar uma regra para que as conexoes não passam ultrapassar um determinado numero de vezes em um determinado tempo, reduzindo drasticamente a possibilidade de sucesso de um destes ataques, para ver mais detalhes a respeito consultei este link: http://starbridge.org/spip/spip.php?article22 de onde também retirei o exemplo abaixo que limita a 3 por minuto as tentativas de login a porta 2222, isto será praticamente imperceptivel para usuários legítimos.

iptables -I INPUT -p tcp –dport 2222 -i eth0 -m state –state NEW -m recent –set

iptables -I INPUT -p tcp –dport 2222 -i eth0 -m state –state NEW -m recent \
–update –seconds 600 –hitcount 2 -j DROP

5 – Instale ferramentas contra atques de força bruta.
Existem várias ferramentas para esta finalidade: DenyHost, SSHDFilter, pam_abl, Brute-Force Detection, SSHGuard, etc. etc, no momento estou tentando instalar o primeiro da lista (DenyHost) mas com certeza isto é assunto para um novo artigo neste blog.

Para usuários do NXServer:
Se voce usa o NXServer, precisará configura-lo para a nova porta do sshd, edit o arquivo /usr/NX/etc/server.cfg e descomente a linha onde se lê: SSHDPort = “22″ e altere para a porta que vc escolheu




Tags: ,