segunda-feira, 31 de outubro de 2011

[Lifehacker] Como invadir um PC protegido por senha (e evitar que invadam o seu)

Se você não precisa de acesso ao Windows, e apenas quer alguns arquivos, você não precisa fazer nada de difícil. Basta usar qualquer live CD do Linux e arrastar e soltar os arquivos para um pendrive, assim como em qualquer outro OS.

Como funciona:  Basta baixar o arquivo .iso com o Live CD de qualquer distribuição Linux – como o bastante popular Ubuntu  – e queimá-lo em um CD, ou colocá-lo em um pendrive. Coloque o CD/pendrive no computador que você quer acessar, faça o boot a partir do CD, escolha “Experimente o Ubuntu” (Try Ubuntu) no primeiro menu, e você chega direto na interface desktop. Daqui, você pode acessar a maior parte do disco rígido indo em Locais (Places) na barra de menu e escolhendo o drive com Windows. Ele deve ver todos os drives NTFS sem problemas.

Note que dependendo das permissões de certos arquivos, você pode precisar de acesso à raiz. Se você estiver tendo problemas em ver ou copiar certos arquivos, abra uma janela de terminal (indo em Aplicativos > Acessórios > Terminal) e digite gksudo nautilus, deixando a senha em branco quando requisitada. Você agora deve ter acesso a tudo.

Íntegra em Gizmodo.
Leia Mais ►

terça-feira, 25 de outubro de 2011

ICINGA - Monitorando máquinas remotas com NRPE

Primeiro temos que saber o que é o Icinga, caso não saiba Icinga é uma ferramenta de monitoramento de sistema e rede. Ele foi originalmente criado como um fork do aplicativo de monitoramento de sistema e rede Nagios em 2009, básico e simples assim, seu site oficial é www.icinga.org

Este é um mini tutorial que visa explicar a configuração do nrpe para monitorar maquinas remotas usando o icinga. Também levo em consideração que o seu icinga já se encontra instalado e configurado, pois nesse tutorial não vou aborda o mesmo. vamos lá então.

- Na máquina monitor temos que instalar os seguintes pacotes:

yum install nagios-nrpe nagios-plugins nagios-plugins-nrpe

Já com estes pacotes instalados vamos as seguintes configurações:

Queremos monitorar um host remoto de email por exemplo, então criamos o arquivo email.cfg e dentro deste arquivos vamos acrescentar as seguinte linhas.

define host{
use servers
host_name E-mail
alias E-mail Server 64x CENTOS 5.5
address 192.168.0.8
hostgroups Servidores
}

Acima definimos a configuração do host. Lembrando que levo em consideração que os outros arquivos já se encontram configurados, mas farei posteriormente um tutorial abordando sua configuração no icinga.

Agora essa é a parte que interessa. No mesmo arquivo email.cfg logo abaixo de onde você definiu o seu host a ser monitorado vamos acrescentar os serviços vou colocar 3 em específico.

define service{
use generic-service
host_name E-mail
service_description IMAP
check_command check_nrpe!check_imap
}

define service{
use generic-service
host_name E-mail
service_description FTP
check_command check_nrpe!check_ftp
}

define service{
use generic-service
host_name E-mail
service_description MYSQL
check_command check_nrpe!check_mysql
}

Como podemos ver, o segredo se encontra na linha check_command, ela é a responsável em fazer praticamente todo o trabalho, veja abaixo:

Mas antes tenho que explicar algo sobre o arquivo commando.cfg, veja abaixo:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c $ARG1$
}

Essas linhas acima, quando o arquivo email.cfg é lido ele vai consultar o comando referente ao mesmo no arquivo commando.cfg, então observe que check_nrpe é o comando que consulta o script check_nrpe ( $USER1& = /usr/lib64/nagios/plugins/check_nrpe - lembrando que meu centos é 64bits ). Quando essa linha é consultada, ela vai buscar as informações no servidor remoto, ai você pergunta, mas como? vou explicar, observa abaixo.

Então vamos para a máquina email que eu defini o ip como 192.168.0.8, nesta máquina você tem que instalar os seguintes pacotes:

yum install nagios-nrpe nagios-plugins

Editando o arquivo de configuração /etc/nagios/nrpe.cfg e mudar as seguintes linha:

allowed_hosts=xxx.xxx.xxx.xxx

Nesse campo você coloca o host que vai poder consultar o nrpe da máquina remota, também existe outras configurações caso queira olhar, mas vou abordar somente o que interessa nesse tutorial, vamos lá.
Lembra dos serviços definidos no email.cfg, e no commando.cfg, pois é, ele vai buscar as informações nessa configuração do nrpe.cfg, veja baixo um exempl:

command[check_imap]=/usr/lib64/nagios/plugins/check_imap -H 127.0.0.1 -p 993 -S -w 5 -c 10
command[check_ftp]=/usr/lib64/nagios/plugins/check_ftp -H 127.0.0.1 -p 21 -w 5 -c 10
command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -d postfix -u postfix -p 123456 -w 5 -c 10

O check_nrpe!check_mysql diz para buscar o check_mysql que está no arquivo de configuração nrpe.cfg da máquina remota que é no caso essa linha ( command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -d postfix -u postfix -p 123456 -w 5 -c 10 ). lembrando que você tem que dar um start no serviço nrpe depois que ele for instalado ( /etc/init.d/nrpe start ) eu deixei o meu configurado na porta padrão 5666 tcp, caso queira mudar isso fique a vontade.

Abaixo vou mostrar a consulta feita pelo check_mysql:

[root@localhost ]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.0.8 -p 5666 -c check_mysql
Uptime: 2235554 Threads: 17 Questions: 14661155 Slow queries: 0 Opens: 22253 Flush tables: 1 Open tables: 64 Queries per second avg: 6.558

Bem tentei explicar de uma forma fácil, caso ainda tenha dúvida, comente no blog ou mande um email para linuxplue@gmail.com que farei o que for possível para esclarecer as dúvidas, então pessoal até a próxima.

Esse conteúdo está disponibilizado sobre a licença de uso - Tiu enhavo estas disponebla sur uza permesilo LiPE
Leia Mais ►

quinta-feira, 20 de outubro de 2011

Criando delay pools (Proxy/Squid)

Neste tutorial você vai aprender a usar as delay polls, que são opções do proxy/Squid para se poder fazer controle de banda. Eu o fiz porque não achava nada realmente interessante em português. Espero que gostem.

Configurando as delay pools

Neste tutorial vamos ver como se usa as delay pools. Delay pools é uma opção usada no Squid para fazer limite de banda. Neste tutorial vamos nos concentrar apenas em delay pools, delay class, delay access e delay parameters.

Este tutorial já leva em conta que você já tenha algum conhecimento em Squid, sendo porém alusivo também a quem está aprendendo a usá-lo.

Neste tutorial vamos apresentar como exemplo duas delay pools, seguindo assim uma linha muita usada com delay pools, vamos neste tutorial, usar as delay pools em nossa rede interna e para internet.

Leve em conta que temos duas acl's criadas com os nomes de extensões e interno. Essas acl's serão usadas em nosso tutorial.

O que significam as opções?

acl extensoes url_regex -i .*

Esta acl que criamos está pegando tudo que é relacionado a ponto, ou seja, inclusive extensões html, jpeg, jpg, gif, php, png, htm, etc, que são usadas em páginas de internet.

Se você quer bloquear tudo menos estas extensões, faça assim:

acl extensoes url_regex -i .* !.html !.htm !.php !.jpeg !.jpg !.png !.gif

Bloqueamos tudo exceto as seguintes extensões. Mas se o seu interesse é bloquear arquivos como mp3, avi, faça o seguinte:

acl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov

Você também pode criá-las em um arquivo:

acl extensoes url_regex -i "caminho do arquivo"

Coloque as extensões dentro deste arquivo (mas apenas uma extensão por linha).

acl interno url_regex -i 192.168.1.0

delay_pools

Esta opção especifica o número de delay pools que você vai possuir, por exemplo, se você possui 2 delay pools, este número deve ser igual a 2, se você tem 3 delay pools, este número deve ser igual a 3 e assim por diante.

# delay_pools (número de delay pools)

delay_pools 2 #isto significa que nós possuímos 2 delay's pools.

# Como dito acima, o número de delay pools que vamos criar.


#delay_class:

# Define a classe de cada delay pool. Deve haver exatamente uma classe de delay para cada delay pool.

# delay_class (número da delay pool) (número da classe da delay pool)

delay_class 1 2 #isto significa que a delay pool 1 é uma delay class 2

delay_class 2 2 #isto significa que a delay pool 2 é uma delay class 2

# Como visto acima, nós temos duas delay pools e duas delay class,

# e também podemos ver que nossas delay class são todas classe 2.

# Não esqueça, o primeiro número é sua delay pool, e o segundo é a sua delay class.

# delay_access:

# Determina em qual delay pool uma requisição será encaixada. A primeira a combinar será utilizada, por isso verifique com #cuidado suas acls.

# delay_access (número da delay poll) allow|deny nome da acl

delay_access 1 allow palavras #estamos direcionando nossa delay pool 1(que é uma classe 2) para a acl palavras.

delay_access 2 allow interno #fazendo o mesmo que acima, porém para a acl interno(que também é uma classe 2).

# delay_parameters:

# Define os parâmetros para uma delay pool. Cada delay pool tem um número de alocação de tráfego associado.

# delay_parameters (número da delay pool) agregado (delay_class 1)

# delay_parameters (número da delay pool) agregado individual (delay_class 2)

# delay_parameters (número da delay pool) agregado network individual (delay_class 3)

# Aqui vou mostrar apenas a saída da delay class 3 pois está engloba todas a opções.

# delay_parameters 1 -1/-1 24000/24000 1000/1000

# vamos ao significado:

# -1/-1:

# Valor AGREGADO: aqui especificamos quanto toda a banda vai utilizar, no caso -1/-1 significa

# valor ilimitado, por isso, se você quer limitar sua banda nunca coloque -1/-1.

# 24000/24000:

# Valor NETWORK(REDE):aqui especificamos quanto cada uma de nossas redes irá poder utilizar, no caso algo em torno de 23Kb/s.

# 1000/1000:

# Valor INDIVIDUAL:aqui especificamos quanto cada um de nossos usuários poderá utilizar, no caso menos de um 1K/s.

# Cada valor tem duas áreas, uma antes da barra e outra depois. Vamos lá.

# RESTORE:O antes da barra.

# Especifica quantos bits poderá ser trafegado por segundo.

# MAX:E lógico, o depois da barra.

# Especifica quantos bits poderá trafegar no total.

# Delay pools sempre trabalham com bits, não se esqueça.

delay_parameters 1 -1/-1 500/1000 #leia acima para entender.

delay_parameters 2 -1/-1 15000/25000 #leia acima para entender.

O resultado

# TUDO FICARIA ASSIM.

acl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov
acl interno url_regex -i 192.168.1.0
delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 500/1000
delay_access 1 allow palavras
delay_class 2 2
delay_parameters 2 -1/-1 15000/25000
delay_access 2 allow interno

Esse conteúdo está disponibilizado sobre a licença de uso - Tiu enhavo estas disponebla sur uza permesilo LiPE
Leia Mais ►

Lançado Blender-2.60!

Dentre as principais novidades do Blender 2.60 estão objetos de áudio e alto-falante 3D, suporte a proxy no editor sequencial, modificadores de grupo de vértices, melhorias no sistemas de animação, integração com o Collada, navegação em malha (meshes) para o motor de jogos do Blender (game engine), aprimoramento na API Python, novos add-ons, melhor suporte a localização (tradução) e muitas outras melhorias. Parte do trabalho desta lançamento veio do Projeto Google Summer of Code. Dentro do roadmap está prevista uma nova versão em Dezembro de 2011.

Por Marcelo Soares Souza em Br-Linux
Leia Mais ►

sexta-feira, 14 de outubro de 2011

Aprenda a como fazer "Twice Nat" (Nat Overlapping)

As boas práticas recomendam que as mudanças no ambiente de produção sejam planejadas, documentadas e testadas antes de serem implementadas. Estes testes, quando possível, são realizados em um ambiente de homologação, ou pré-produção, para evitar qualquer impacto na qualidade dos serviços disponibilizados. Uma das características importantes de um bom ambiente de homologação é a sua semelhança com a produção. Quanto maior esta semelhança, mais problemas poderão ser detectados antes de afetar os usuários.

Um dos pontos interessantes para ser replicado é a configuração de rede. Assim, uma máquina poderia migrar entre o ambiente de produção e homologação sem mudanças, nem mesmo na configuração da rede. Alguém pode perguntar: os endereços IP e, ainda mais, as redes não deveriam ser únicos dentro de uma mesma rede local? Sim, caso contrário, o roteador não saberia para qual das duas redes enviar os pacotes. Deixar as duas redes desconectadas uma da outra também não é uma boa solução. Não é muito prático enviar dados pelo protocolo PPCPPL (pendrive para cá, pendrive para lá). Vejamos o problema de duas redes com endereços conflitantes. O roteador, ao receber um pacote do computador 10.1.2.2 para 10.1.1.2, não teria como escolher entre as duas redes 10.1.1.0/24:

Leia esse excelente artigo em Luizluca
Leia Mais ►

Bloqueando host usando code 554 do postfix com fail2ban

Administrar um servidor de email com muitas contas não é tarefa facil, quem administra sabe disso, ultimamente venho recebendo muito o erro 554 no postfix, exemplo abaixo:

Oct 14 13:27:36 server postfix/smtpd[13396]: NOQUEUE: reject: RCPT from serveremailsdobrasilnet2.co.cc[217.114.221.77]: 554 5.1.1 <user@dominio.com>: Recipient address rejected: User unknown in virtual mailbox table; from=<contato@serveremailsdobrasilnet2.co.cc> to=<user@dominio.com> proto=ESMTP helo=<serverpr-068.prempresas.com> 

A mensagem 554 normalmente é usada para clientes que fazem conexão suspeita, como podem ver o 

exemplo acima, bem vamos ao que interessa.

Eu já estou levando em consideração que o fail2ban está instalado e funcionando corretamente em sua maquina.

edite o arquivo postfix.conf dentro de /etc/fail2ban/filter.d e adicione a linha abaixo:

Info:. Rejeita quando coincidir com as mensagens de falhas de senha no arquivo de log.
failregex = NOQUEUE: reject: RCPT from \S*\[(?P\S*)\]: 554 <\S*>: Recipient address rejected

essa regra assim pode ser alterada para sua necessidade, então use sua imaginação e faça bom uso.

feito isso salve o arquivo.
No arquivo jail.conf deixa como abaixo:

enabled = true
filter = postfix
action = iptables[name=SMTP, port=smtp, protocol=tcp]
sendmail[name=Postfix, dest=user@dominio.com]
logpath = /var/log/maillog
maxretry = 1
bantime = 30000000

bem, em maxretry você pode colocar quantos hints no log vai aparece até o ip ser bloqueado, eu costumo usar 1, para min a tolerância é zero e o bantime você pode coloca o tempo em segundo que quer dizer quanto tempo o ip vai ficar bloqueado.

Espero ter ajudado em algo: até a proxima.

Esse conteúdo está disponibilizado sobre a licença de uso - Tiu enhavo estas disponebla sur uza permesilo LiPE

Leia Mais ►

segunda-feira, 10 de outubro de 2011

Transmission tem sua versão 1.40 liberada.

O  pessoal do projeto Transmission liberou a versão 1.40 (já com uma correção mínima que gerou a 1.41), várias são as novidades e a lista delas, que pode ser lida abaixo (em inglês), possui mais alguns pontos que chamam a atenção como a melhoria do suporte a webseed e para quem usa Linux que são, suporte a transmission-remote via SSL, o tão esperado suporte do GTK+3 e outra que vai forçar algumas atualizações (no meu caso um aptitude update) pois GTK+ 2.22 e glib 2.28 são os requisitos mínimos agora.


All Platforms

  • Torrent queuing
  • Improved webseed support
  • Fix crash when removing a magnetized transfer
  • Fix adding transfers over RPC when a subfolder does not exist
  • Other minor fixes

Mac

  • Lion: Use popovers for the global and per-torrent action menus
  • Lion: Animations in the inspector's file list and the message window
  • Support sorting transfers by size
  • No longer keep track of recently opened torrent files
  • Apply group locations when adding transfers through the web client/RPC
  • Minor interface tweaks and behavior adjustments

GTK+

  • Add GTK+ 3 support
  • Make popup notification and system sounds system-configurable
  • Add a settings option to hard-delete files instead of using the recycle bin
  • Raise the minimum library requirements for GTK+ to 2.22 and glib to 2.28

Qt

  • Add popup notification for finished torrents
  • Fix non-UTF-8 display issue in the "New Torrent" dialog

Daemon

  • SSL support in transmission-remote

Web Client

  • Speed improvements
  • Add filtering by tracker
  • Allow preference changes on mobile devices
  • Allow compact view on mobile devices
  • Stop ratio functionality
  • Compact view interface improvements

Utils

  • Fix transmission-edit bug when adding a tracker to a single-tracker torrent
  • Fix transmission-create bug when specifying a directory with a leading "./"
Leia Mais ►

OMG! UBUNTU - Dual Boot OS X e Ubuntu

Dual-booting em um PC é fácil: você espeta um disco LiveCD, faz uma batucada com os dedos por alguns minutos e então deixa o instalador cuidar de todo a parte difícil.

Mas como fazer dual-boot de Ubuntu para um Mac?

Isso atualmente não é difícil; há vários guias e métodos na internet. Mas para ajudar a clarificar o processo que eu penso eu gostaria de compartilhar este método que eu uso.

Contudo eu não garanto que isso irá funcionar para você (ainda que honestamente isso deveria), certifique-se de fazer cópias de segurança de tudo antes de testar o que está aqui. Sério, faça isso.

O tutorial você pode ler completo no OMG! UBUNTU, em inglês.
Leia Mais ►

quinta-feira, 6 de outubro de 2011

Configurando postfix + mysql + courier + SPF + clamav +spamassassin + greylist + TLS

Este tutorial tem como objetivo apresentar uma forma de configurar o postfix MTA com alguns serviços adicionais, para entrega e recebimento de mail com controle de spam, virus e greylist com suporte SSL. Este tutorial é bem pratico e objetivo.


1 - Entre no console do mysql e digite:

CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';

Isso vai criar o banco de dados e dar as devidas permissões.

2 - Baixa a ultima versão do postfixadmin, descompacta dentro do diretorio web, configura o arquivo config.inc.php nas seguinte linhas abaixo:

$CONF['configured'] = false;

Para

$CONF['configured'] = true;

E essas linhas deixa como esta abaixo:

$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '123456';
$CONF['database_name'] = 'postfix';

Feito isso é só rodar o postfixadmin que ele já instala automaticamente o banco de dados do postfix no mysql.

3 – PHPMYADMIN

No phpmyadmin edite o seguinte arquivo create-mailbox.php e procure a seguinte linha:

$maildir = $fUsername . "/";

Mudar para

$maildir = $fDomain. "/" . $fName . "/" . maildir . "/";

4 – SASL2, entre no diretorio /etc/sasl2 e crie os segunte arquivo com o conteudo.

Smtpd.conf

Dentro dele:

pwcheck_method: saslauthd
log_level: 3
mech_list: plain login

Crie uma alias para este arquivo na pasta /usr/lib/sasl2/

ln -s /etc/sasl2/smtpd.conf /usr/lib/sasl2/smtpd.conf

Então é só iniciar o sasl2 com o comando abaixo: -a rimap é para ele autenticar via o imap.

/usr/sbin/saslauthd -r -a rimap -O 127.0.0.1

5 – Criando o usuario Vmail:

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m

6 - Confiigurando o main.cf

Vou colocar somente as principais linhas para essa configuração.

recipient_delimiter = +
home_mailbox = Maildir/
mailbox_transport = virtual:unix:/home/vmail/
header_checks = pcre:/etc/postfix/header_checks
body_checks = pcre:/etc/postfix/body_checks
smtpd_banner = Prefeitura Municipal de Muriae Mail Server

masquerade_domains = /etc/postfix/meus_dominios

smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =

smtpd_client_restrictions = permit_sasl_authenticated,
check_client_access pcre:/etc/postfix/ip_access.bkp,
# permit_mynetworks,
## check_client_access hash:/etc/postfix/helo_ok,
reject_unknown_reverse_client_hostname,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
# reject_unknown_client,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
# reject_unknown_hostname,
reject_non_fqdn_hostname,
reject_unauth_pipelining,
reject_unlisted_sender,
reject_unlisted_recipient,
# reject_unverified_sender,
# reject_unverified_recipient,
reject_rbl_client rbl.brasilrbl.com.br,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rhsbl_client rhsbl.brasilrbl.com.br,
reject_rhsbl_sender rhsbl.brasilrbl.com.br,
## reject_rhsbl_client blackhole.securitysage.com,
## reject_rhsbl_sender blackhole.securitysage.com,
reject_rhsbl_client rhsbl.sorbs.net,
reject_rhsbl_sender rhsbl.sorbs.net,
permit

##smtpd_helo_restrictions = permit_sasl_authenticated,
# check_helo_access hash:/etc/postfix/helo_ok,
# permit_mynetworks,
# reject_invalid_hostname,
# reject_unknown_hostname,
# reject_non_fqdn_sender,
## reject_unauth_pipelining,
## reject_unknown_helo_hostname

smtpd_sender_restrictions = permit_sasl_authenticated,
# permit_mynetworks,
# check_sender_access hash:/etc/postfix/helo_ok,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unlisted_sender,
reject_unverified_sender,
reject_unauth_pipelining
# reject_unknown_client,

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_proibidos,
permit_sasl_authenticated,
# permit_mynetworks,
# reject_sender_login_mismatch,
# permit_mynetworks,
reject_authenticated_sender_login_mismatch,
reject_unauth_pipelining,
# reject_unknown_client,
reject_unknown_recipient_domain,
reject_unverified_recipient,
reject_unlisted_recipient,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:60000,
# check_policy_service unix:private/greylist,
check_policy_service unix:private/policy,
# check_recipient_access hash:/etc/postfix/whitelist,
permit

smtpd_data_restrictions = reject_unauth_pipelining
smtpd_etrn_restrictions = permit_sasl_authenticated, reject

##smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_sender_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554

smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/postfix/postfix.cert
smtpd_tls_key_file = /etc/postfix/postfix.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

### configuracoes dos dominios virtuais #############

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /home/vmail/

### armazenamento de mensagens dos dominios virtuais #####################

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_limit = 51200000
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = virtual

### configuraoes de quota ##############################

virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sua caixa de email esta cheia, favor liberar espa..
virtual_overquota_bounce = yes

smtpd_recipient_limit = 21

#Entrega de e-mails para mesmo destino
smtp_destination_concurrency_limit = 50

#Entrega de e-mails para mesmo destino - remoto
default_destination_concurrency_limit = 50

#Entrega de e-mails para mesmo destino - local
default_destination_recipient_limit = 50

#Tempo de reenvio de mensagem em fila
fast_flush_refresh_time = 1h

#Tempo de dele�o de mensagem em fila
fast_flush_purge_time = 1d

#Tempo de mensagem em fila
maximal_queue_lifetime = 240m

bounce_queue_lifetime = 240m

biff = yes
#always_bcc=edsonferreira@dpcnet.com.br
allow_untrusted_routing = no

#content_filter = lmtp-filter:127.0.0.1:10025
#receive_override_options = no_address_mappings

default_process_limit = 500
command_time_limit = 3600

# dk-milter
#smtpd_milters = unix:/var/run/dk-milter/dk.sock
#non_smtpd_milters = unix:/var/run/dk-milter/dk.sock

7 – Configurando o master.cf

#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# The script postfix-chroot.sh can be used to set up a Postfix chroot
# environment on your Mandrivalinux System.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - 15 smtpd
-o content_filter=clamav:clamav
submission inet n - n - 15 smtpd
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtps inet n - n - 15 smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
-o content_filter=
-o receive_override_options=
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 300 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - 50 smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop unix - n n - - pipe
# flags=DRhu user=nobody argv=/usr/bin/maildrop -d ${recipient}
#
# Cyrus. Please See the Postfix CYRUS_README file for details
#
# deliver interface (deprecated), to use this also use
# postconf -e cyrus-deliver_destination_recipient_limit=1
#cyrus-deliver unix - n n - - pipe
# user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# for default cyrus socket placement
#cyrus unix - n n - - lmtp
# -o lmtp_cache_connection=yes
#
# if you configure cyrus socket in the chroot jail
#cyrus-chroot unix - - y - - lmtp
# -o lmtp_cache_connection=yes
#
# for lmtp to cyrus via tcp
#cyrus-inet unix - - y - - lmtp
# -o lmtp_cache_connection=yes
# -o lmtp_sasl_auth_enable=yes
# -o lmtp_sasl_password_maps=hash:/etc/postfix/cyrus_lmtp_sasl_pass
# -o lmtp_sasl_security_options=noanonymous
#
# UUCP. Unix to Unix CoPy
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp unix - n n - - pipe
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
# These are not distributed with Mandrivalinux
#
#ifmail unix - n n - - pipe
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#bsmtp unix - n n - - pipe
# flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

##### START OF CONTENT FILTER CUSTOMIZATIONS #####
# Please see the Postfix FILTER_README for details.
# These sample entries expect your content filter to
# listen on port 10025 and to inject mail back into
# postfix on port 10026.
#
# to enable such content filter run the command
# postconf -e content_filter=smtp-filter:127.0.0.1:10025
# postconf -e smtp-filter_destination_concurrency_limit=2
# or
# postconf -e content_filter=lmtp-filter:127.0.0.1:10025
# postconf -e lmtp-filter_destination_concurrency_limit=2
# and the command
# postconf -e receive_override_options=no_address_mappings
#

127.0.0.1:10026 inet n - n - 20 smtpd
-o content_filter=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_delay_reject=no
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

lmtp-filter unix - - n - 20 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o lmtp_cache_connection=no
-o max_use=20

smtp-filter unix - - y - - smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o max_use=20

##### END OF CONTENT FILTER CUSTOMIZATIONS #####

policy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/postfix-policyd-spf-perl

clamav unix - n n - 15 pipe
flags=Rq user=clamav argv=/usr/libexec/postfix/clamav-filter.sh -f ${sender} -- ${recipient}

#greylist unix - n n - - spawn
# user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl

7.1 - Arquivos para mysql no postfix:

Criar os seguintes arquvos abaixo com seu devido conteúdo:

mysql_virtual_alias_maps.cf:
user = postfix
password = 123456
dbname = postfix
table = alias
select_field = goto
where_field = address
hosts = localhos

mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = 123456
dbname = postfix
table = mailbox
select_field = quota
where_field = username
hosts = localhost

mysql_virtual_domains_maps.cf
user = postfix
password = 123456
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx = '0' and active = '1'

mysql_virtual_mailbox_maps.cf
user = postfix
password = 123456
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
hosts = localhost

8 – Configurando o clamav, greylist, SPF e spamassassin:

/etc/clamd:

LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/clamav
LocalSocket /tmp/clamd.socket
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxConnectionQueueLength 30
MaxThreads 50
ReadTimeout 300
User clamav
AllowSupplementaryGroups yes
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanMail yes
#ScanHTML yes
ScanArchive yes

Baixe o arquivo http://www.unitednerds.org/projects/mail/clamav-filter.sh.gz e coloque dentro de /usr/libexec/postfix/.

gzip -d clamav-filter.sh.bz2
chmod 0755 clamav-filter.sh
mkdir -p /var/spool/filter
chown clamav:clamav /var/spool/filter

Integrando spamassassin ao clamav-filter

Edite o arquivo com vim /usr/libexec/posffix/clamav-filter.sh e altere a seguinte linha:

SENDMAIL="/usr/sbin/sendmail -i "

Para

SENDMAIL="/usr/bin/spamc -f -e /usr/sbin/sendmail -i "

Configurando o spamassassin:

Entre no diretório /etc/mail/spamassassin e edite o arquivo local.cf e deixe como abaixo, lembrando que está em um nível baixo de segurança podendo aumentar.

Obs: pode entrar nesse site: http://www.yrex.com/spam/spamconfig.php e gerar a própria configuração do spamassassin:

# How many hits before a message is considered spam.
required_score 7.0

# Change the subject of suspected spam
rewrite_header subject *****INFO - POSSÃVEL SPAM*****

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
#use_dcc 1
use_pyzor 1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - portuguese
#ok_languages pt

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all

Configurando o Greylist:

Instale o postgrey, edite o rc.local e acrecente a seguinte linha para iniciar o serviço: a linha abaixo já se encontra com todas as opções necessárias.

Dentro do main.cf acrescente a seguinte linha: sempre colocar a linha depois do reject_unauth_destination.

smtpd_recipient_restrictions = ...
reject_unauth_destination,
....
check_policy_service inet:127.0.0.1:60000,
....

postgrey --inet=127.0.0.1:60000 --delay=60 --retry-window=1 --auto-whitelist-clients=1 --dbdir=/var/spool/postfix/postgre -d

Configurando o SPF:

dentro do master.cf acrecente a seguinte linha:

policy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/postfix-policyd-spf-perl

dentro o main.cf acrecente a seguinte linha: sempre colocar a linha depois do reject_unauth_destination.

smtpd_recipient_restrictions = ...
reject_unauth_destination,
....
check_policy_service unix:private/policy,
....

8.1 - Configurando conexes TLS pelo smtpd

cd /etc/postfix

Criando as chaves: openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key -keyform PEM -days 999 -x509

Preencha os campos que vai aparecer:

Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:MS
Locality Name (eg, city) []:CGR
Organization Name (eg, company) [Internet Widgits Pty Ltd]: empresa dominio.com.br
Organizational Unit Name (eg, section) []:nocc, network operation command center
Common Name (eg, YOUR name) []:admin
Email Address []: admin@dominio.com.br
configuração no main.cf:
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/postfix/postfix.cert
smtpd_tls_key_file = /etc/postfix/postfix.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

Configuração no master.cf:

tlsmgr unix - - n 300 1 tlsmgr

submission inet n - n - 15 smtpd
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtps inet n - n - 15 smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,rejects

9 - Configurando o Courier Imap

Pacote instalado desse site:


Entre no diretório /etc/authlib e altere os seguintes arquivos:

authdaemonrc

authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"

Para

authmodulelistorig="authmysql"

Neste arquivo é so isso, não precisa de mudar mais nada:

No arquivo authmysqlrc deixe como esta abaixo:

authmysqlrc

MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD 123456
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_DATABASE postfix
MYSQL_USER_TABLE mailbox
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD '5000'
MYSQL_GID_FIELD '5000'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD '/home/vmail'
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_WHERE_CLAUSE active="1"
MYSQL_CRYPT_PWFIELD password

No diretório /usr/lib/courier-imap/etc tem os arquivo imapd-ssl e pop3d-ssl, Edite esse arquivo e altere como abaixo, lembrando que só tive problema no courier 64bits.

# TLS_PROTOCOL sets the protocol version. The possible versions are:
#
# SSL2 - SSLv2
# SSL3 - SSLv3
# SSL23 - either SSLv2 or SSLv3
# TLS1 - TLS1

TLS_PROTOCOL=SSL23

Esse conteúdo está disponibilizado sobre a licença de uso - Tiu enhavo estas disponebla sur uza permesilo LiPE
Leia Mais ►

Postagens populares