Arquivo

Textos com Etiquetas ‘Linux’

Milestone atualizado com o ShadowMOD-BR via Ubuntu

26, novembro, 2010 49 comentários

Opa,

Só criei esse post para informar que finalmente criei coragem e atualizei meu Motorola Milestone para a versão 2.2.1 do Android (Froyo). Utilizei a versão do ShadowMOD-BR e a instalação e utilização, até agora, não apresentou nenhum problema, como a maioria das instalações informou como fazer utilizando o Windows eu vou mudar um pouco e falar como atualizar utilizando o Ubuntu Linux (OBS.: algumas pessoas não conseguiram executar o sbf_flash na versão 64bits).

OBS.: NÃO ME RESPONSABILIZO POR QUAISQUER DANOS QUE POSSAM OCORRER NO SEU APARELHO! NO MEU E EM VÁRIOS OUTROS FUNCIONARAM COM SUCESSO, MAS NÃO GARANTO QUE ESSES PASSOS IRÃO SERVIR PARA O SEU CASO!

Primeiro acesse o site do ShadowMOD-BR e baixe os pacotes:

– SBF base 2.2.1;
OpenRecovery 1.46;
Ultima ShadowMOD-BR disponível;

Depois baixe o aplicativo sbf_flash, consegui encontrá-lo aqui.

Agora vamos aos passos para a instalação (a maioria delas está no site do desenvolvedor, só adaptei algumas linhas referentes a instalação no Ubuntu Linux):

1. Descompacte o OpenRecovery e copie o update.zip e o diretório OpenRecovery para o diretório raiz do seu SD Card.

2. Copie o arquivo zip da ShadowMOD-BR para o diretorio /OpenRecovery/updates.

3. Desligue seu telefone.

4. Aperte e segure o botão de abaixar volume e câmera e ligue o telefone. Continue segurando o botão de abaixar volume/câmera mesmo apos ligado.

5. Irá aparecer uma tela escrito BootLoader (xx.xx), se não aparecer repita o passo anterior.

6. Conecte seu cabo USB no telefone, o Linux já deverá reconhecê-lo e mostrar os dados da conexão pelo comando dmesg, algo como:

scsi 6:0:0:0: Direct-Access     Motorola A853             0001 PQ: 0 ANSI: 2

7. Agora execute o aplicativo sbf_flash (lembre-se de dar permissão de execução ao mesmo):

$ chmod +x sbf_flash
$ sudo ./sbf_flash MILESTONE_BASE_2.2.1.sbf

[sudo] password for fl0cker:
SBF FLASH 1.11 (mbm)

=== MILESTONE_BASE_2.2.1.sbf ===
00: RDL03 0x82000000-0x8204CFFF 00C1 AP
01: CG31 0xB01C0000-0xB01C47FF 24FE AP
02: CG33 0xD13FB000-0xD1BB783F E479 AP
03: CG34 0xB03A0000-0xB03A47FF CC19 AP
04: CG35 0xB07A0000-0xB0A607FF 888E AP
05: CG36 0xF0B7D000-0xF0BE083F 26E7 AP
06: CG37 0xE4034000-0xE40379BF 9325 AP
07: CG40 0xDD2E4000-0xDD2E483F FDFF AP
08: CG42 0xB06A0000-0xB06DFFFF 73E3 AP
09: CG45 0xB0B20000-0xB0E207FF 79ED AP
10: CG47 0xB0EE0000-0xB12A07FF 679E AP
11: CG53 0xCFD80000-0xCFD807FF FDFF AP
12: CG61 0xB0640000-0xB06607FF 6C74 AP

Milestone found.
>> uploading RDL03
Uploading: 100% OK
>> verifying ramloader
-- OK
>> executing ramloader
Milestone found.
>> sending erase
>> uploading CG31
Uploading: 100% OK
>> uploading CG33
Uploading: 100% OK
>> uploading CG34
Uploading: 100% OK
>> uploading CG35
Uploading: 100% OK
>> uploading CG36
Uploading: 100% OK
>> uploading CG37
Uploading: 100% OK
>> uploading CG40
Uploading: 100% OK
>> uploading CG42
Uploading: 100% OK
>> uploading CG45
Uploading: 100% OK
>> uploading CG47
Uploading: 100% OK
>> uploading CG53
Uploading: 100% OK
>> uploading CG61
Uploading: 100% OK
>> verifying CG31
-- OK
>> verifying CG33
-- OK
>> verifying CG34
-- OK
>> verifying CG35
-- OK
>> verifying CG36
-- OK
>> verifying CG37
-- OK
>> verifying CG40
-- OK
>> verifying CG42
-- OK
>> verifying CG45
-- OK
>> verifying CG47
-- OK
>> verifying CG53
-- OK
>> verifying CG61
-- OK
>> rebooting

8. Quando terminar o procedimento o telefone ira reiniciar (apagando e acendendo ou travado no logo da Motorola).

9. Desligue o telefone novamente.

10. Entre em modo de recovery apertando e segurando o botão X do teclado (em alguns modelos de Milestone, o meu foi assim, é o botão da câmera ao invés do X) e ligue-o telefone. Continue segurando o botão X ou câmera mesmo após ligado.

11. Irá aparecer um triangulo com uma exclamação, nesse momento aperte o botão de aumentar volume e da câmera (juntos).

12. Irá aparecer um menu com algumas opções. Usando o D-pad do teclado, selecione a opção “apply sdcard:update.zip”.

13. Selecione “Wipe Data/Factory Reset” e escolha “Yes”.

14. Selecione “Apply Update”.

15. Selecione “update-smbr-vX.X-signed.zip”.

16. Irá ser pedido uma confirmção se quer instalar, selecione “Yes”.

17. Terminado a instalação selecione “Go Back” e escolha “Reboot System”.

Pronto! Seu telefone já irá iniciar na versão 2.2.1 do Froyo! Abaixo alguns screenshots:

Abraço!

Fontes:
http://code.google.com/p/shadowmodbr/wiki/Tutorial
http://www.lucasleao.net/wordpress/archives/458

Categories: Linux Tags: , , , ,

Liberando Servidor NFS no Firewall do XenServer

18, novembro, 2010 Sem comentários

Opa,

Recentemente precisei adicionar mais dispositivos de armazenamento do que o limite permitido pelo XenServer em uma VM (7 para PV e 3 para HVM), portanto resolvi instalar o dispositivo no XenServer e compartilhá-lo via NFS com as VM’s, segue abaixo como foi realizada essa tarefa.

Primeiro foi necessário definir as portas por onde o tráfego NFS iria passar, pois será preciso liberá-las no Firewall, para isso edite o arquivo abaixo:

# vi /etc/sysconfig/nfs

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

No XenServer o serviço portmap vem configurado para “escutar” somente localmente por padrão, será necessário alterar a variável PMAP_ARGS para que fique da mesma forma abaixo:

# vi /etc/sysconfig/portmap

PMAP_ARGS=""

Adicione os compartilhamentos desejados no arquivo exports (Lembre-se de adaptar para a sua faixa de rede):

# vi /etc/exports

/mnt/backup    192.168.100.0/24(rw,sync,no_subtree_check)

Reinicie os serviços:

# /etc/init.d/portmap restart
# /etc/init.d/nfs restart
# /etc/init.d/rpcsvcgssd restart

Atualize o arquivo com as regras do Iptables para o tráfego NFS (Lembre-se de adaptar para a sua faixa de rede):

# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24  -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT

Reinicie o serviço do Iptables e pronto!

# /etc/init.d/iptables restart

Agora já pode acessar os compartilhamentos via NFS!

Abraço!

Fontes:
1 – http://www.cyberciti.biz/faq/centos-fedora-rhel-iptables-open-nfs-server-ports/
2 – http://forums.citrix.com/thread.jspa?messageID=1511031

Categories: Linux Tags: , , , , ,

Configurando bonding de rede no Oracle Linux

7, outubro, 2010 Sem comentários

Opa,

Essa dica foi testada no Oracle Enterprise Linux 5.5 mas deve funcionar normalmente em qualquer outra distribuição que tenha suporte ao módulo bonding habilitado no kernel, seguem abaixo os passos que realizei para a configuração de 4 placas de rede trabalharem como “uma”, utilizando balanceamento de carga (load balance) e tolerância a falhas (fault tolerance).

Primeiro vamos criar o arquivo de configuração da interface bond0:

# vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.100.0
NETMASK=255.255.255.0
IPADDR=192.168.100.2
GATEWAY=192.168.100.1
USERCTL=no

Agora alteramos os arquivos de configuração das interfaces de rede para se tornarem parte da interface bond0 (mude o X pelo número das interfaces, ex.: eth0, eth1, eth2 e eth3):

# vim /etc/sysconfig/network-scripts/ifcfg-ethX

DEVICE=ethX
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

Precisamos garantir agora que o módulo bonding será carregado na inicialização do sistema e o modo de operação do bonding (escolha o modo que melhor se adeque a sua situação, para maiores informações sobre os tipos disponíveis acesse o link 2 nas fontes disponíveis ao final desse post):

# vim /etc/modprobe.conf

alias bond0 bonding
options bond0 miimon=100 mode=6

Agora só nos resta carregar o módulo e reiniciar a rede:

# modprobe bonding
# /etc/init.d/network restart

Uma dica para realizar um teste simples é inserir os cabos de rede nas interfaces, enviar um ping para algum endereço e simular uma falha removendo um de cada vez.

Abraço!

Fontes:
1 – http://lists.us.dell.com/pipermail/oraclesolutions/2008-March/000005.html
2 – http://www.sheepguardingllama.com/2008/01/linux-bonding-modes/
3 – http://www.howtoforge.com/nic-bonding-on-debian-lenny

Categories: Linux Tags: , , ,

Desabilitando impressoras no servidor Samba

12, agosto, 2010 Sem comentários

Opa,

Já faz um tempo que não posto nada técnico por aqui (estou brincando bastante com o Android ainda), portanto resolvi postar essa dica para desabilitar o suporte a impressão no servidor Samba.

Para isso basta editar o arquivo smb.conf e alterar/adicionar as linhas abaixo:

# vim /etc/samba/smb.conf

load printers = no
printing = bsd
printcap name = /dev/null
show add printer wizard = no
disable spoolss = yes

Execute o comando testparm para verificar se existem erros no arquivo
de configuração e depois basta recarregar o samba com o comando abaixo:

# /etc/init.d/smb reload

Pronto!

Fonte: http://lists.samba.org/archive/samba/2006-December/127596.html

Categories: Linux Tags: , ,

Compilar driver ET131x no OpenSuSE 10.3

Opa,

Recentemente tive que compilar o driver et131x para a placa de rede Agere PCI Express ET-131x no OpenSuSE 10.3. Para isso primeiro é necessário instalar os fontes do kernel e também alguns pacotes necessários para compilação:

# zypper install make gcc kernel-source

Depois é necessário baixar os drivers atualizados no site do projeto:

# wget -c http://sourceforge.net/projects/et131x/files/et131x-1.2.3-3%20Source/et131x/et131x-1.2.3-3.tar.gz/download

Descompactar e compilar o driver:

# tar -xvzf et131x-1.2.3-3.tar.gz
# cd et131x-1.2.3-3/
# make

Caso não seja apresentado nenhum erro na compilação, instalar o módulo no sistema através do comando:

# make modules_install

Carregue o módulo no sistema:

# modprobe et131x

Verifique com o comando dmesg se o driver foi carregado:

# dmesg

10/100/1000 Base-T Ethernet Driver for the ET1310, v1.2.3 01/31/2006 15:40:00 by Agere Systems, http://www.agere.com
ACPI: PCI Interrupt 0000:03:00.0[A] → GSI 16 (level, low) → IRQ 16
PCI: Setting latency timer of device 0000:03:00.0 to 64

Agora basta configurar a interface pelo YaST:

# yast network

Abraço!

Categories: Linux Tags: , ,

Patch fix para a quarentena do Dspam 3.8.0

Opa,

Recentemente encontrei um problema em uma instalação de um servidor de e-mail com o software Dspam (anti-spam). O problema aconteceu quando um e-mail legítimo foi considerado spam (falso positivo) e decidi recuperá-lo através da interface Web, removendo-o da quarentena. O primeiro erro que detectei foi na visualização da mensagem pois não era exibido o código fonte, o segundo erro foi quando cliquei no botão “Deliver message”, nada ocorreu! Após uma busca rápida pela Internet encontrei um patch para o arquivo dspam.cgi que conserta esse problema, segue abaixo:

--- webui.orig/cgi-bin/dspam.cgi	2007-02-14 13:18:59.000000000 -0500
+++ webui/cgi-bin/dspam.cgi	2007-03-27 16:43:46.000000000 -0400
@@ -531,10 +532,13 @@
   foreach my $period (qw( daily weekly )) {
     my $uc_period=uc($period);
     my $hk="DATA_$uc_period";
-    my %lst=();
+    my %lst=(
+	spam => [],
+	nonspam => [],
+	title	=> []
+    );
     foreach my $hr (sort {$a->{idx}<=>$b->{idx}} (values %{$Stats{$period}})) {
       foreach my $type (qw( spam nonspam title )) {
-        (exists $lst{$type}) || ($lst{$type}=[]);
         push(@{$lst{$type}},$hr->{$type});
         my $totk="";
         if ($type eq "spam") { $totk="S"; }
@@ -546,9 +550,9 @@
       }
     }
     $DATA{$hk}=join("_",
-		join(",",@{$lst{spam}}),
-		join(",",@{$lst{nonspam}}),
-		join(",",@{$lst{title}}),
+		join(",",@{$lst{spam}}    || [0]),
+		join(",",@{$lst{nonspam}} || [0]),
+		join(",",@{$lst{title}}   || [0]),
 	);
   }
 
@@ -698,7 +702,7 @@
   }
   open(FILE, "<$MAILBOX");
   while(<FILE>) {
-    chomp;
+    s/\r?\n$//;
     push(@buffer, $_);
   }
   close(FILE);
@@ -759,7 +763,7 @@
 
   open(FILE, "<$MAILBOX");
   while(<FILE>) {
-    chomp;
+    s/\r?\n$//;
     push(@buffer, $_);
   }
   close(FILE);
@@ -839,7 +843,7 @@
 
   open(FILE, "<$MAILBOX");
   while(<FILE>) {
-    chomp;
+    s/\r?\n//;
     push(@buffer, $_);
   }
   close(FILE);
@@ -907,7 +911,7 @@
   }
   open(FILE, "<$MAILBOX");
   while(<FILE>) {
-    chomp;
+    s/\r?\n//;
     push(@buffer, $_);
   }
   close(FILE);
@@ -980,7 +984,7 @@
   $rowclass="rowEven";
   open(FILE, "<$MAILBOX");
   while(<FILE>) {
-    chomp;
+    s/\r?\n//;
     if ($_ ne "") {
       if ($mode eq "") { 
         if ($_ =~ /^From /) {

Após aplicar o patch o código da mensagem passou a ser exibido normalmente e o botão “Deliver message” também. Abraço!

Fonte: http://www.mail-archive.com/dspam-users@lists.nuclearelephant.com/msg00675.html

Categories: Linux Tags: , ,

Configurando sendmail como cliente SMTP-AUTH

Opa,

Essa dica é para aqueles que precisam configurar um servidor com sendmail para enviar e-mail’s autenticando em um servidor SMTP. Nesse post foi utilizado o sistema operacional Red Hat Enterprise Linux 4 i386.

Primeiro instale o pacote sendmail-cf referente ao seu sistema via up2date ou baixe o pacote de algum repositório e instale via rpm.

Via up2date:

# up2date -i sendmail-cf

Via wget:

# wget -c ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/core/3/i386/os/Fedora/RPMS/sendmail-cf-8.13.1-2.i386.rpm
# rpm -ivh sendmail-cf-8.13.1-2.i386.rpm

Edite o arquivo sendmail.mc, adicionando ou alterando as linhas abaixo:

# vim /etc/mail/sendmail.mc

define(`SMART_HOST',`smtp.seudominio.com.br')
FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl
dnl EXPOSED_USER(`root')dnl
MASQUERADE_AS(`seudominio.com.br')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(nomeservidor.seudominio.com.br)dnl
MAILER(local)dnl

Gere o arquivo sendmail.cf:

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Crie o arquivo authinfo, ajuste suas permissões e gere o db:

# vim /etc/mail/authinfo

AuthInfo:smtp.seudominio.com.br "U:usuario" "P:senha" "M:PLAIN"
AuthInfo: "U:usuario" "P:senha" "M:PLAIN"

# chmod 660 /etc/mail/authinfo
# makemap hash /etc/mail/authinfo < /etc/mail/authinfo

Agora basta reiniciar o serviço e verificar nos logs se os e-mail’s estão sendo enviados com sucesso:

# /etc/init.d/sendmail restart
# tail -f /var/log/maillog

Abraço!

Fontes:
http://www.linuxquestions.org/questions/slackware-14/sendmail-smtp-auth-howto-224543/
http://kbase.redhat.com/faq/docs/DOC-10697
http://rpm.pbone.net/index.php3/stat/4/idpl/11412526/dir/fedora_3/com/sendmail-cf-8.13.1-2.i386.rpm.html

Categories: Linux Tags: , ,

Protegendo serviços com o Fail2ban

Opa,

Recentemente notei uma grande quantidade de tentativas de acesso (sem sucesso) ao servidor de e-mail’s onde trabalho, mais precisamente no serviço de autenticação para envio de e-mail’s (SASL), após verificar que as tentativas vinham de vários endereços diferentes e obviamente perceber que manualmente isso ia dar um trabalho enorme para bloquear, resolvi procurar uma solução para esse problema na Internet, foi quando encontrei o fail2ban, na verdade já tinha lido algumas coisas sobre ele, mas nunca cheguei a testá-lo. O fail2ban para quem não conheçe serve para verificar os logs do sistema e identificar as tentativas de acesso aos serviços (SSH, SASL, POP3, IMAP, DNS, Apache, etc…) utilizando o método de brute force, após essa identificação é possível realizar o bloqueio do IP utilizando o iptables ou o TCP wrappers (hosts.deny).

O servidor em questão está executando um OpenSuSE 10.3, ou seja, o repositório oficial já foi descontinuado pela Novell e foi necessário adicionar um repositório para poder instalar as dependências:

# zypper ar http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/10.3/repo/oss/ Repositorio

Instale as dependências:

# zypper install python python-devel

Faça o download dos fontes no site do projeto (nesse post utilizei a versão 0.8.4):

# wget -c http://downloads.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/?use_mirror=ufpr

Descompacte e instale a aplicação:

# tar -xvjf fail2ban-0.8.4.tar.bz2 && cd fail2ban-0.8.4
# python setup.py install

Abra o arquivo jail.conf e configure o serviço de acordo com as suas necessidades:

# vim /etc/fail2ban/jail.conf
[DEFAULT]

# IPs que devem ser ignorados
ignoreip = 127.0.0.1 192.168.1.200

# Tempo em segundos que o IP sera banido
bantime = 600

# O host sera banido caso atinja o numero de maxretry durante o tempo configurado em findtime
findtime = 600

# Apos quantas tentativas o host devera ser bloqueado
maxretry = 3

# Backend utilizado, podendo ser gamin, polling ou auto
backend = auto

# Agora criamos as jail's:

# Este jail bloqueia o host apos 5 tentativas no Courier POP3
[courierpop3]

enabled = true
port = pop3
filter = courierlogin
action = iptables[name=%(__name__)s, port=%(port)s]
logpath = /var/log/mail
maxretry = 5

# Este jail bloqueia o host apos 5 tentativas no Courier Imap
[courierimap]

enabled = true
port = imap2
filter = courierlogin
action = iptables[name=%(__name__)s, port=%(port)s]
logpath = /var/log/mail
maxretry = 5

# Este jail bloqueia o host apos 3 tentivas no Sasl e envia um e-mail para o destinatario
[sasl-iptables]

enabled = true
filter = sasl
action = iptables[name=sasl, port=smtp, protocol=tcp]
sendmail-whois[name=sasl, dest=fulano@dominio.com.br]
logpath = /var/log/mail

OBS.: Foi necessário alterar o filtro do sasl.conf para poder detectar as tentativas corretamente:

# vim /etc/fail2ban/filter.d/sasl.conf
failregex = (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: authentication failure$

Dica: Para testar um filtro basta executar o comando fail2ban-regex seguido do log desejado e o arquivo de filtro referente, também pode ser usado uma string no lugar do log e a expressão regular no lugar do arquivo de filtro:

# fail2ban-regex /var/log/mail /etc/fail2ban/filter.d/sasl.conf
Running tests
=============

Use regex file : /etc/fail2ban/filter.d/sasl.conf
Use log file : /var/log/mail

Results
=======

Failregex
|- Regular expressions:
| [1] (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: authentication failure$
|
`- Number of matches:
[1] 5915 match(es)

Ignoreregex
|- Regular expressions:
|
`- Number of matches:

Summary
=======

Addresses found:
[1]
xxx.xxx.xxx.xxx (Thu May 13 10:30:30 2010)
xxx.xxx.xxx.xxx (Thu May 13 10:30:32 2010)
...

Date template hits:
52774 hit(s): MONTH Day Hour:Minute:Second
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second Year
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second
0 hit(s): Year/Month/Day Hour:Minute:Second
0 hit(s): Day/Month/Year Hour:Minute:Second
0 hit(s): Day/MONTH/Year:Hour:Minute:Second
0 hit(s): Month/Day/Year:Hour:Minute:Second
0 hit(s): Year-Month-Day Hour:Minute:Second
0 hit(s): Day-MONTH-Year Hour:Minute:Second[.Millisecond]
0 hit(s): Day-Month-Year Hour:Minute:Second
0 hit(s): TAI64N
0 hit(s): Epoch
0 hit(s): ISO 8601
0 hit(s): Hour:Minute:Second
0 hit(s):

Success, the total number of match is 5915

However, look at the above section 'Running tests' which could contain important information.

Ative na inicialização do sistema e inicie o serviço:

# cp fail2ban-0.8.4/files/suse-initd /etc/init.d/fail2ban
# chkconfig --add fail2ban
# /etc/init.d/fail2ban start

Podemos verificar os bloqueios atráves do log do fail2ban ou pelo iptables:

# tail -f /var/log/fail2ban.log
2010-05-13 10:31:16,824 fail2ban.actions: WARNING [sasl-iptables] Ban xxx.xxx.xxx.xxx
2010-05-13 10:31:20,913 fail2ban.actions: WARNING [sasl-iptables] Ban xxx.xxx.xxx.xxx

# iptables -L -n
DROP all -- xxx.xxx.xxx.xxx 0.0.0.0/0
DROP all -- xxx.xxx.xxx.xxx 0.0.0.0/0

O fail2ban possui diversos serviços já configurados bastando ativá-los no seu arquivo de configuração e novos serviços podem ser adicionados e ajustados conforme desejar. Abraço!

Fonte: http://www.howtoforge.com/fail2ban_opensuse10.3

Categories: Linux Tags: , , ,

RAID via software: Substituindo um disco

26, abril, 2010 3 comentários

Opa,

Há alguns dias atrás eu precisei substituir um disco que estava apresentando problemas em um RAID1 via software, após uma rápida pesquisada encontrei a solução. Abaixo estão os passos necessários para executar essa tarefa.

Vamos supor que seu RAID1 esteja configurado da seguinte forma:

/dev/sda1 + /dev/sdb1 = /dev/md0
/dev/sda3 + /dev/sdb3 = /dev/md1

E que o disco sdb começou a apresentar problemas, logo devemos substituí-lo por um disco que DEVE ter a mesma capacidade ou superior, criando as partições com o mesmo tamanho das partições anteriores.

Pode-se verificar o status do RAID com o comando abaixo:

# cat /proc/mdstat

Deve ser exibido [UU], caso retorne [U_] o RAID está com problemas!

Para remover as partições do disco com problemas basta executar os comandos abaixo:

# mdadm --manage /dev/md0 --fail /dev/sdb1
# mdadm --manage /dev/md1 --fail /dev/sdb3

# mdadm --manage /dev/md0 --remove /dev/sdb1
# mdadm --manage /dev/md1 --remove /dev/sdb3

O comando com o parâmetro –fail “marcou” a partição como “falha” e o segundo com o parâmetro –remove removeu a partição.

Agora desligue o sistema e faça a substituição dos discos!

Após carregar o sistema faça a “clonagem” do particionamento do disco com o comando abaixo:

# sfdisk -d /dev/sda | sfdisk /dev/sdb

Caso deseje verifique se as partições estão idẽnticas com o comando fdisk:

# fdisk -l

Devemos agora adicionar as novas partições ao RAID existente:

# mdadm --manage /dev/md0 --add /dev/sdb1
# mdadm --manage /dev/md1 --add /dev/sdb3

Verifique se as partições estão sendo sincronizadas com o comando abaixo:

# cat /proc/mdstat

Quando a sincronização concluir deverá ser exibido novamente o [UU].

OBS.: Caso tenha problemas com o grub, será necessário reinstalá-lo no novo disco!

Abraço!

Fonte: http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array

Categories: Linux Tags: ,

Zimbra: Atualizando o Clamav

16, abril, 2010 2 comentários

Opa,

Recentemente (15/04) o software anti-vírus Clamav descontinuou as versões anteriores a 0.95.x (mais informações aqui), logo após essa operação os servidores que rodavam versões anteriores começaram a apresentar problemas, quando tentavam realizar a atualização das vacinas corrompiam o banco de dados e com isso os e-mail’s não eram entregues. Para solucionar esse problema foi necessário atualizar a versão do software, segue abaixo como consegui atualizar essa tarefa com o Zimbra em um servidor CentOS 5.4.

Antes de tudo recomendo a realização de um backup do seu sistema, pois como diz o ditado, “melhor prevenir…”, após essa tarefa faça o download do código (source) da última versão estável no site do Clamav (nesse post utilizei a versão 0.96).

Feito o download vamos instalar as dependências, descompactá-lo e executar os passos para a compilação e instalação do pacote:

# yum install gmp-devel bzip2-devel zlib-devel gcc
# tar -xvf clamav-0.96.tar.gz
# cd clamav-0.96
# ./configure --prefix=/opt/zimbra/clamav-0.96 --with-user=zimbra --with-group=zimbra
# make
# make check
# make install

Feita a instalação compare os antigos arquivos de configuração (clamd.conf e freshclam.conf) com os novos arquivos instalados, caso necessário realize os ajustes.

# cd /opt/zimbra/clamav-0.96/etc/
# mv clamd.conf clamd.conf.orig
# mv freshclam.conf freshclam.conf.orig
# cp /opt/zimbra/conf/{clamd,freshclam}.conf .
# diff clamd.conf clamd.conf.orig
# diff freshclam.conf freshclam.conf.orig

Pare o serviço:

# su - zimbra -c "zmcontrol stop"

Remova o link simbólico do clamav na pasta do zimbra e crie um novo link apontando para a nova versão:

# cd /opt/zimbra
# rm clamav
# ln -s /opt/zimbra/clamav-0.96 /opt/zimbra/clamav

Agora crie a pasta onde são armazenados os banco de dados das vacinas e ajuste as permissões:

# mkdir /opt/zimbra/clamav/db
# chown -R zimbra:zimbra /opt/zimbra/clamav-0.96

Atualize as vacinas e inicie o serviço:

# su - zimbra -c "/opt/zimbra/clamav/bin/freshclam"
# su - zimbra -c "zmcontrol start"

Execute o comando abaixo para ver se todos os serviços estão executando:

# su - zimbra -c "zmcontrol status"
Host meuservidor.exemplo.com
antispam                Running
antivirus               Running
ldap                    Running
logger                  Running
mailbox                 Running
mta                     Running
snmp                    Running
spell                   Running
stats                   Running

Caso o serviço antivirus não inicie verifique o log em /opt/zimbra/log/clamd.log.

Abraço!

Fonte: http://wiki.zimbra.com/wiki/ClamAV_-_Updating_Version

Categories: Linux Tags: , , ,