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.

quinta-feira, 23 de dezembro de 2010

sambando com o Linux e o windows

Atendendo a pedidos, vou postar aqui como configuro um samba de maneira fácil e rápida além de disponibilizar meu smb.conf, com proibições e compartilhamento com senha.

Primeiramente caso vc não possua o samba instalado em seu Debian,(o que acho impossível) faça-o com um #apt-get install samba.

Depois abra o terminal e vá até /etc/samba.

Recomendo que se você é bom de inglês, dê uma olhada no arquivo smb.conf que está no diretório do samba.

Renomeie o arquivo #mv smb.conf smb.conf.orig

Crie um novo arquivo #touch smb.conf;

Abra-o com seu editor de preferência, no meu caso #vim smb.conf

Copie o conteúdo abaixo e cole (ctrl-shit-v):

[global] #bem básico, vc pode incrementar várias opções aqui
netbios name = SMB.SRV.DEBIAN
 workgroup = HOSPITAL
 security = user
 encrypt passwords = yes
 wide links = no
 wins support = yes
 hosts allow = 192.168.0.
 hosts deny = 192.168.2.
 printing = cups
 load printers = yes

[Arquivos Debian]#meu diretório no Debian que acesso de outras estações.PS=Sò eu acesso, vide valid users
 path = /home/mauricio
 read only = no
 writable = yes
 browseable = yes
 valid users = mauricio


[Geral] Nesse diretório os usuários podem compartilhar arquivos entre si, menos os tipos que estão em veto files, mapeei uma unidade de rede nas WS para acessarem como local esse compartilhamento
 path = /home/adms
 read only = no
 writable = yes
 browseable = yes
 valid users = mauricio,samba
 veto files = /*.mp3/*.avi/*.mpeg/*.mpg/*.eml/*.wav

È preciso que o usuário que vai acessar o samba tenha conta no linux: #adduser -a usuario e no samba #smbpasswd -a usuario.

Depois de configurado tudo, vc pode testar com o comando #testparm se seu samba está funcionando ok.

OBS. Aqui não implementei lixeira nem antivírus nem os logs. Pesquise na internet sobre essas implantações que são importantíssimas ao samba, e lembrem-se de criar os diretórios e de dar permissão geral a ele.

Abraços ao que lerem e Feliz Natal.

HoHoHo.

sexta-feira, 17 de dezembro de 2010

resolv.conf perde configuração ao reiniciar servidor (Debian squeeze)

Configure o resolv.conf e depois de o comando
#chattr +i /etc/resolv.conf

O Arquivo vai ficar imutável e nao poderá ser alterado , nem pelo root.

Para remover esta configuração basta dar o comando
#chattr -i /etc/resolv.conf

Basta reiniciar a máquina e  o resolv.conf estará intacto.