FreeBSD: periódico (8) é muito barulhento. Como posso controlar o nível de ruído?

10

O FreeBSD e MacOSX são fornecidos com o utilitário periodic (8) , que é um conjunto organizado de utilitários para executar periodicamente funções do sistema, como verificações do sistema de arquivos ZFS, verificações de segurança, verificação de portas desatualizadas, etc.

O problema é que o periódico envia muitos emails que contêm muitas informações supérfluas. Isso faz com que as pessoas ignorem os e-mails e perdemos muitos problemas detectados periodicamente (8). Os emails diários são enviados uma vez por dia, os emails de segurança são enviados uma vez por dia e os emails semanais e mensais também são enviados periodicamente. Esses e-mails têm um assunto como um destes:

Subject: $HOSTNAME daily run output
Subject: $HOSTNAME security run output
Subject: $HOSTNAME weekly run output
Subject: $HOSTNAME monthly run output

Como posso reduzir a quantidade de e-mails enviados periodicamente (8)?

Vou postar minha própria resposta abaixo, mas gostaria de ver o que os outros fizeram.

Nota : Eu tenho uma pergunta semelhante em relação ao Linux, no Linux: logwatch (8) e cron.daily é muito barulhento. Como posso controlar o nível de ruído?

Stefan Lasiewski
fonte

Respostas:

13

Coloque algo como o seguinte em /etc/periodic.conf.

A seguinte configuração reduzirá o ruído nos emails. Se essas mensagens estiverem em branco, o periódico (8) não enviará um email. Além disso, os emails de segurança serão incluídos nos emails diários, o que também reduz o ruído.

# /etc/periodic.conf overrides the defaults in /etc/defaults/periodic.conf
# This file can be overriden by /etc/periodic.conf.local

# *_show_success, *_show_info & *_show_badconfig are disabled
# per recomendation of periodic(8) and "Absolute FreeBSD" p. 310-311
# and "Essential system administration, 3rd Ed." p. 98

# *_show_badconfig="NO" will suppress messages for tools which are not installed on this system (e.g. ZFS on a system without ZFS). 

daily_show_success="NO"
daily_show_info="NO"
daily_show_badconfig="NO"

weekly_show_success="NO"
weekly_show_info="NO"
weekly_show_badconfig="NO"

monthly_show_success="NO"
monthly_show_info="NO"
monthly_show_badconfig="NO"

# Include security jobs with daily email. No need to send second email.
daily_status_security_inline="YES"
security_show_success="NO"

# Don't need to know about denied packets every day
daily_status_security_ipfdenied_enable="NO"

### Now, enable services which you DO want to be aware of    
# Check host for old ports
daily_status_security_portaudit_enable="YES"

# Perform ZFS filesystem checks
daily_status_zfs_enable="YES"

O exemplo acima o levará a 90%. No entanto, há um problema adicional que não pode ser resolvido usando a configuração padrão do FreeBSD (a partir de 20110601). O script em /etc/periodic/daily/450.status-securityainda imprimirá a seguinte mensagem inútil:

Security check:

-- End of daily output -- 

A correção é aplicar o patch encontrado em http://www.freebsd.org/cgi/query-pr.cgi?pr=138692 . Este patch modificará os códigos de retorno para 450.status-security, para que mensagens extras não sejam impressas.

Stefan Lasiewski
fonte