Como impedir que o syslog ouça o 514 no CentOS 5.8

3

Eu tenho uma máquina CentOS 5.8 (com syslog regular) que, por algum motivo, está escutando a porta 514, mesmo que ela não tenha sido iniciada com "-r" (para receber mensagens syslog remotas).

# netstat -tulpn | grep 514
udp        0      0 0.0.0.0:514       0.0.0.0:*  2698/syslogd  

O syslog é iniciado apenas com "-m 0":

ps -ef | grep syslogd
root      2698     1  0 15:55 ?        00:00:00 syslogd -m 0

Eu tentei iniciá-lo com "-m 0 -r", apenas para verificar se houve alguma diferença, mas não há.

Esta máquina é um cliente e só deve logar em um servidor de log central - ele não deve estar escutando sozinho.

O que estou perdendo?

Acabei de encontrar isto: link . A partir do último comentário feito em 2010, parece que este é um bug de 2004 que ainda não foi resolvido (há apenas 8 anos ...)

    
por Jim 30.03.2012 / 01:05

3 respostas

3

Acabei de fazer alguns testes e, embora a porta seja definitivamente aberta pelo syslogd, não parece que ela esteja realmente manipulando ou registrando qualquer atividade direcionada a ela no UDP 514. Você pode verificar isso enviando dados com netcat :

topher@nexus:~$ nc -u localhost 514
This is a test.
This is another test.
^C

E, em seguida, verificar o arquivo de log. Eu testei em duas caixas RHEL5, e se -r não for usado, ele não processará os logs.

Update: Outra solução (ou, na verdade, contornável) que acabei de pensar seria instalar o rsyslog (ou syslog-ng) como um daemon syslog de substituição para o sysklogd padrão. Nenhum desses daemons de syslog alternativos sofre do bug descrito acima.

rsyslog é o daemon syslog padrão com o RHEL 6.xe está disponível como um pacote suportado para o RHEL / CentOS 5.2+. O rsyslog está sob desenvolvimento ativo (o sysklogd não é e não existe há anos). O rsyslog também suporta muitos recursos e funcionalidades avançados. Como mencionado, com o RHEL / CentOS 5.2+, a comutação do estoque syslogd para rsyslog é tão fácil quanto yum install rsyslog .

Se você decidir substituir seu daemon syslog, e quiser algo mais limpo e mais flexível (na minha opinião), vale a pena dar uma olhada no Syslog-NG. O arquivo de configuração não mantém compatibilidade retroativa com o antigo syslog.conf (o rsyslog faz), então pode parecer um pouco complicado à primeira vista, mas para configurações de registro complexas ou avançadas (especialmente em um loghost central), o Syslog-NG é uma excelente escolha.

    
por 01.04.2012 / 19:42
1

Isso é bem estranho. Eu testei na minha VM do Centos 5.8 e não vejo o problema que você está descrevendo. Adicionando -r adiciona a porta udp e removendo -r e reinicia-la. Eu tenho sysklogd-1.4.1-46.el5 instalado, se isso ajuda.

    
por 30.03.2012 / 07:16
0

O syslogd do GNU (AKA sysklogd) faz parte do inetutils . Eu vinculei a fonte para mostrar as condições sob as quais ela se vincula a uma porta UDP:

  • cabeça por volta de 3/2012 ( com base em 1.9.1). Está verificando AcceptRemote , que é definido apenas quando o syslogd é invocado com -r .

  • v1.6 de 2007 . Além do caso -r / AcceptRemote acima, ele também será vinculado quando NoForward for não definido. Esse é o padrão. Eu suspeito que você esteja executando esta versão ou algo parecido. O analisador de opções tem apenas uma longa opção para desativá-lo, --no-forward e, obviamente, que quebra a funcionalidade que você precisa.

E finalmente, enterrado aqui embaixo, eu darei a resposta real: qualquer tempo gasto configurando o GNU syslogd seria melhor gasto substituindo-o por outra coisa. Feliz Páscoa: -)

    
por 07.04.2012 / 02:54