Pesquisar neste blog

segunda-feira, 7 de março de 2011

Servidor de mensagens internas com auditoria usando OpenFire

créditos: Paulo Roberto Junior - WoLF do site Viva o Linux.

Adaptei pequenos trechos como por exemplo a inclusão de plugins para mensagens em broadcast e auditoria nas mensagens. Abaixo o passo a passo serve para as versões Debian like.

Primeiramente vamos partir do ponto que você já tem um sistema operacional Linux totalmente instalado e funcional, e que usa preferencialmente um gerenciador de pacotes do estilo apt-get.

Por via das dúvidas, vamos solicitar uma breve atualização dos repositórios do seu gerenciador de pacotes e do sistema operacional em si.

1. Acesse o terminal de sua preferência;

2. Digite os comandos:

$ sudo apt-get update (Atualiza sua lista de repositórios)
$ sudo apt-get upgrade (Atualiza os pacotes que achar necessário)

Servidor web completo:

$ sudo apt-get install apache2 python openssl phpmyadmin php5
$ sudo apt-get install php5-gd
$ sudo apt-get install php-pear php5-gd php5-xsl curl libcurl3 libcurl3-dev php5-curl


Pacotes JAVA necessários:

$ sudo apt-get install sun-java6-jre (instala o JAVA JRE)

Caso não funcione, verifique a lista de repositórios do seu Linux ou baixe em:

Download jre-6u7-linux-i586.bin

Obs.: O comando "sudo" se refere a executar o comando em modo "root", caso o usuário logado não seja o próprio.

3. Baixe o pacote do openfire em:

Download openfire_3.6.0a_all.deb

Caso não funcione, o site do desenvolvedor é: Ignite Realtime - downloads

Uma alternativa é converter o pacote .rpm para .deb usando o Alien:

$ sudo apt-get install alien

$ sudo alien --to-deb openfire-3.6.0a-1.i386.rpm

e pule próximo passo, que é instalar o .deb.

4. Salve-o em uma pasta separada, de preferência em /opt/openfire.

E vamos instalar:

$ sudo dpkg -i openfire_3.6.0a_all.deb

5. Após a instalação, em alguns casos é necessário permissão, caso precise:

$ sudo chmod 775 -Rf /opt/openfire/

6. Vamos iniciar o serviço do openfire:

$ sudo /etc/init.d/openfire start

Ou manualmente em:

# /opt/openfire/bin/openfire.sh

Ao término aparecerá algo como:

Openfire 3.6.0a-1 [16/010/2008:12:10]
Console de Administração ouvindo em http://192.168.100.173:9090

Pronto, temos nosso servidor OPENFIRE instalado no Linux.

#
Agora vamos configurar o Openfire. Sua configuração é TOTALMENTE feita pela WEB, portanto fica muito fácil.

Acesse em seu browser favorito o endereço:

http://ip_do_servidor:9090

Exemplo: http://192.168.100.173:9090
Linux: Openfire setup
Escolha o idioma e clique em "Continuar".

2. A seguinte tela aparecerá:
Linux: Openfire - configurações do servidor
Dê preferência ao nome do domínio, ele será muito importante. Por padrão ele pega o nome do servidor, mas você deve alterar para um nome mais amigável, pois este domínio é o complemento do LOGIN do usuário.

Exemplo: Conta marcelo.albertino, para se autenticar no servidor a conta se chama: marcelo.albertino@NOME_DOMINIO.

Portanto escolha BEM o nome do domínio!

3. A próxima tela a ser mostrada se refere ao banco de dados, de preferência escolha a 2ª opção em "BANCO DE DADOS INTERNO":
Linux: Openfire - configurações do banco de dados
4. A próxima tela se refere às configurações de perfis, de preferência deixe como está:
Linux: Configuração de perfis
5. A próxima tela se refere à conta do administrador, preencha com seus dados e NÃO as esqueça.
Linux: Openfire - conta do administrador
6. Parabéns, você configurou o Openfire com sucesso! Agora acesse o painel de controle:
Linux: Openfire - painel de controle
#
#
1. Para criar uma conta é muito simples: acesse a guia "Usuários/Grupos" > "Criar Novo Usuário", conforme a imagem abaixo. Lembre-se, a conta do usuário NÃO tem "@", é somente o login: paulo, joão, jussara etc.
Linux: Openfire - criar usuário
2. Para criar um grupo é muito simples: acesse a guia "Usuários/Grupos" > "Criar Novo Grupo", conforme a imagem.
Linux: Openfire - criar grupo
3. Dica: Que tal ter um grupo com uma lista de usuários e que todos os usuários novos e antigos tenham sempre uma listagem de usuários e grupos atualizada? Ative o COMPARTILHAMENTO DA LISTA DE CONTATOS.
Linux: Openfire - compartilhamento da lista de contatos
Após isto ADICIONE membros deste grupo, basta digitar o usuário criado e clicar em adicionar.
Linux: Openfire - adicionar membro ao grupo
#
O servidor Openfire é tão completo que sempre está se atualizando e existem centenas de plugins e complementos para ele, um melhor que o outro. E a instalação de plugins é tarefa das mais intuitivas possíveis.

Vá na guia "Plugins" > "Plugins Disponíveis" e instale o que você desejar, conforme a tela:
Linux: Openfire - instalar plugins
Tem plugin de importar/exportar usuários em XML, tem mensagem para todos os usuários (BROADCAST), muito útil para, por exemplo: O SERVIDOR DE E-MAIL ESTARÁ FORA DO AR EM 5 MINUTOS.

Cliente - MSN

O cliente, claro! De nada adianta um servidor sem um cliente. Como vamos testar?

Existem centenas de clientes que se conectam ao servidor Openfire baseado em JABBER. Vou mostrar o que mais gosto e que mais se parece ao Windows Live Messenger.

Download Pandio

Baixe o Pandio e instale em uma máquina Windows, para versão Linux, vide o site.

Após instalar, vamos configurar:

Abra o programa e clique em "Connection Settings". Informe o ip do servidor openfire.

Salve e informe o login com "@" e domínio, exemplo:

Login: paulo@DOMINIO
Linux: Openfire - informar login
Veja um exemplo de como fica:
Linux: Openfire - login

Alguns Plugins que destaco e que instalei no servidor que montei são:

1 - Boradcast, Se você quiser mandar uma mensagem para todos os usuários do grupo info, basta enviá-la para info@broadcast.xmpp.minhaempresa.com.br.

2 - Content filter, para proibir o uso de palavras proibidas com cunho racial ou pornográfico

3 - Monitoring Service, Esse é quem faz o monitoramento das conversas;

4 - MotD (Message of the Day)  como o próprio nome diz vc pode mandar mensagens diferentes todos os dias que abre automáticamente ao logarem no servidor.

5 - User Import Export , vc pode importar e exportar sua lista de contatos caso migre de servidor por exemplo.

Espero que aproveitem, aqui todo mundo curtiu, e alem do mais vc pode criar um Dnat no modem e firewall e conectar de sua casa também, mas isso é papo pra outra hora.

TFA

sexta-feira, 4 de fevereiro de 2011

Monitoração de serviços com o Zabbix

Até que enfim consegui um tutorial muito bom e repasso a todos aqui com a referência a seguir:



Boa sorte.

Servidor Ftp no Squeeze com Proftp


Fonte: PinguimRibeiro


Objectivo

Configurar um servidor ftp para uso na rede interna.

NOTA:
O protocolo ftp é um protocolo considerado inseguro, uma vez que os nomes de utilizadores e senhas são transmitidas em texto simples, sem qualquer tipo de protecção, pelo que são facilmente capturadas por terceiros. Por este motivo, o servidor ftp deve ser utilizador apenas dentro do ambiente relativamente seguro de uma rede interna. Caso se pretenda utilizar um servidor ftp de modo seguro deve ser adicionado o suporte para TLS (Ver: Proftpd + TLS/SSL)

Instalação

root@server:~# aptitude install proftpd-basic proftpd-doc
Durante a instalação, deve ser seleccionado o modo de funcionamento "standalone":
proftpd_install.png

Configuração

Toda a configuração do ProFTPD é guardada no ficheiro /etc/proftpd/proftpd.conf.
A instalação por omissão activa o suporte IPV6 do ProFTPD. Como o nosso servidor apenas suporta IPV4, o IPV6 deve ser desligado, para evitar mensagens de erro durante o arranque do serviço.
#[...]
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         off
#[...]
Verificar que o servidor está configurado como standalone:
#[...]
ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    off
#[...]
Finalmente, reiniciar o servidor ftp:
root@server:~# /etc/init.d/proftpd restart

Opção de segurança: Restrição de acessos

Na configuração por omissão, o servidor ProFTPD permite que o utilizador navegue por todo o sistema de ficheiros a que normalmente tem acesso. No entanto, o ProFTPD permite restringir o acesso a apenas uma determinada arborescência de directorias. Deste modo, o cliente fica confinado a essa arborescência, não podendo aceder a qualquer outro recurso fora desse âmbito, o que constitui uma opção bastante segura.
No ficheiro de configuração do ProFTPD, o parâmetro DefaultRoot deverá indicar a directoria destinada a ser acedida via ftp.

Acesso restrito à home do utilizador

Para restringir o acesso via ftp apenas à directoria home de cada utilizador, basta indicar ~ como DefaultRoot no ficheiro /etc/proftpd/proftpd.conf:
#[...]

# Use this to jail all users in their homes
DefaultRoot                     ~

#[...]

Acesso restrito uma directoria específica

Para restringir o acesso via ftp a uma directoria específica na home de cada utilizador do utilizador, é necessário primeiro criar a respectiva directoria, e em seguida alterar a configuração do servidor no ficheiro /etc/proftpd/proftpd.conf:
#[...]
DefaultRoot                     ~/ftp
#[...]
Em seguida, cada utilizador que pretenda aceder via ftp, deve criar uma directoria chamada ftp, na sua home:
fribeiro@server:~$ mkdir ~/ftp
Por último, reiniciar o serviço ftp para activar as alterações:
root@server:~# /etc/init.d/proftpd restart     

Bloqueando tentativas de acesso com o fail2ban


Objectivo

Fail2Ban é uma aplicação que analisa continuamente os ficheiros log e bloqueia os endereços Internet de onde originaram várias tentativas falhadas de acesso com senha inválida.
Fail2Ban é extremamente eficaz na prevenção de ataques de força bruta e de negação de serviço (DoS).

Instalação

root@server:~# aptitude install fail2ban whois

Configuração


NOTA:
A configuração activada durante a instalação activa o fail2ban para a porta ssh. No entanto outras portas podem ser monitorizadas e protegidas.
A documentação do Fail2Ban aconselha a que toda a configuração seja feita em ficheiros com a extensão .local. Estes podem ser criados copiando o ficheiro de configuração original, com a extensão .conf:
root@server:~# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Toda a configuração é a partir de agora efectuada apenas no ficheiro /etc/fail2ban/jail.local.
Numa primeira fase, definimos os endereços que não estão sujeitos a restrições (endereço local e rede local), durante quanto tempo os endereços atacantes serão banidos (1800 segundos (30 minutos)) e após quantas tentativas (3 tentativas permitidas). Essa configuração deve ser efectuada no ficheiro /etc/fail2ban/jail.local:
# [...]

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 192.168.1.0/24
bantime  = 1800
maxretry = 3

# [...]
Também é definido o endereço email para o qual serão enviados os alertas:
# [...]

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost

# [...]
Em seguida, é configurada a acção a realizar quando é detectado um possível ataque. Neste caso, o endereço IP do atacante é banido e um email é enviado ao administrador do sistema.
# [...]

#
# ACTIONS
#

# Default banning action (e.g. iptables, iptables-new,
# iptables-multiport, shorewall, etc) It is used to define
# action_* variables. Can be overriden globally or per
# section within jail.local file
banaction = iptables-multiport

# [...]

#
# Action shortcuts. To be used to define action parameter

# [...]

# Choose default action.  To change, just override value of 'action' with the
# interpolation to the chosen action shortcut (e.g.  action_mw, action_mwl, etc) in jail.local
# globally (section [DEFAULT]) or per specific section
action = %(action_mwl)s

# [...]
Por último, são definidos os parâmetros do serviço que se pretende proteger, editando a secção JAILS do ficheiro /etc/fail2ban/jail.local:
# [...]

#
# JAILS
#

# [...]

[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 3

# [...]
Finalmente, reiniciar o serviço fail2ban:
root@server:~# /etc/init.d/fail2ban restart

Verificação

A cada (re)início do serviço fail2ban um email de notificação será enviado ao administrador do sistema:
Subject: [Fail2Ban] ssh: started
From: Fail2Ban 
To: root@localhost
Date: Tue, 13 Jan 2011 22:14:28 +0000 (WET)

Hi,

The jail ssh has been started successfully.

Regards,

Fail2Ban
E a cada ataque que despolete uma acção defensiva, o administrador será também notificado:
Subject: [Fail2Ban] ssh: banned 219.143.232.144
From: Fail2Ban 
To: root@localhost
Date: Tue, 13 Jan 2011 22:25:06 +0000 (WET)

Hi,

The IP 219.143.232.144 has just been banned by Fail2Ban after
3 attempts against ssh.

Here are more information about 219.143.232.144:

% [whois.apnic.net node-1]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:      219.143.232.0 - 219.143.233.127
netname:      Sinotrans-Air-Transport-Development-Co-Ltd
country:      CN
descr:        16F Building A Jinyun Plaza,NO.43 Xizhimen South Street,Xicheng District, Beijing,P.R.China
admin-c:      HC55-AP
tech-c:       HC55-AP
status:       ASSIGNED NON-PORTABLE
changed:      bjnic@bjtelecom.net 20071010
mnt-by:       MAINT-CHINANET-BJ
source:       APNIC

person:       Hostmaster of Beijing Telecom corporation CHINA   TELECOM
nic-hdl:      HC55-AP
e-mail:       bjnic@bjtelecom.net
address:      Beijing Telecom
address:      No. 107 XiDan Beidajie, Xicheng District Beijing
phone:        +86-010-58503461
fax-no:       +86-010-58503054
country:      cn
changed:      bjnic@bjtelecom.net 20040115
mnt-by:       MAINT-CHINATELECOM-BJ
source:       APNIC

Lines containing IP:219.143.232.144 in /var/log/auth.log

Dec 21 23:40:54 server sshd[4311]: Did not receive identification string from 219.143.232.144
Dec 21 23:44:19 server sshd[4318]: Invalid user globus from 219.143.232.144
Dec 21 23:44:19 server sshd[4318]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144 
Dec 21 23:44:21 server sshd[4318]: Failed password for invalid user globus from 219.143.232.144 port 43536 ssh2
Dec 21 23:44:22 server sshd[4320]: Invalid user marine from 219.143.232.144
Dec 21 23:44:22 server sshd[4320]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144 

Regards,

Fail2Ban

NOTA:
O pacote Fail2Ban pode ser utilizado para proteger servidores de e-mail, ftp, web, etc, bastando para tal editar o ficheiro /etc/fail2ban/jail.local para configurar os vários serviços que se pretendem proteger.
Referência: Site do PinguimRibeiro

quarta-feira, 2 de fevereiro de 2011

BKP simples no Squeeze

Buenas pessoas...

Estou aqui hoje para mostrar uma solução que encontrei simples aqui na empresa para efetuar o bkp automático de arquivos do samba, usados pelos setores no hospital, para meu pc debian que é um server reserva de squid e samba.

Bom, em 1° lugar instalei e configurei o proftpd, o qual o link segue abaixo:
Instalação do proftd no debian

O próximo passo foi baixar e configurar o Déja Cup no srv-debian para enviar os diretórios que eu selecionei para o servidor que eu uso. Procure pelo Déja-cup em Sistema/Administração/Central de Aplicativos


O programa é tão simples que é só executá-lo e alguns cliques e está configurado.

Sei que existem soluções bem mais complexas. mas dessa eu gostei, e faz o que eu quero, toda semana salvo os arquivos em um HD externo, (somente o ultimo bkp) e deleto os demais.

Aqui tá ajudando, espero que sirva para os amigos.