Logwatch는 사용자 정의 서비스를 무시하지만 --service $service를 명시적으로 설정하면 작동합니다.

Logwatch는 사용자 정의 서비스를 무시하지만 --service $service를 명시적으로 설정하면 작동합니다.

포트 443에서 SSL 및 SSH 연결을 허용하기 위해 서버에서 SSLH를 사용하고 있습니다.

sshd 및 apache2 로그에는 127.0.0.1에서 SSLH를 통해 들어오는 모든 연결이 표시되므로 SSLH 로그를 Logwatch에 추가하고 싶습니다.

이를 달성하기 위해 먼저 다음 코드를 사용하여 sslh에 대한 모든 항목을 별도의 로그 파일로 필터링했습니다 /etc/rsyslog.d/sslh.conf.

if $programname == 'sslh' then /var/log/sslh.log
if $programname == 'sslh' then ~

파일에 /etc/logwatch/conf/logfiles/sslh.confLogwatch에 로그 파일에 대해 알리기 위해 다음을 추가했습니다.

LogFile = /var/log/sslh.log
LogFile = /var/log/sslh.log.0
Archive = /var/log/sslh.log.*.gz

*ApplyStdDate =

서비스 정의는 /etc/logwatch/conf/services/sslh.conf다음과 같습니다.

Title = "SSLH SSH / HTTPS Multiplexer"
LogFile = sslh

/etc/logwatch/scripts/services/sslh마지막으로 다음 내용으로 서비스 스크립트를 추가했습니다 .

#!/bin/bash

echo "Date Range: $LOGWATCH_DATE_RANGE"
echo "Detail Level: $LOGWATCH_DETAIL_LEVEL"
echo "Temp Dir: $LOGWATCH_TEMP_DIR"
echo "Debug Level: $LOGWATCH_DEBUG"

grep -v 'forwarded to SSL$'

명시적으로 지정된 SSLh 서비스를 사용하여 Logwatch를 실행하면 모든 것이 매력처럼 작동하고 원하는 시간 범위에 대해 필터링된 출력을 얻습니다.

logwatch --service sslh --output stdout

################### Logwatch 7.4.0 (05/02/12) ####################
       Processing Initiated: Fri Jul 12 11:37:46 2013
       […]
##################################################################

--------------------- SSLH SSH / HTTPS Multiplexer Begin ------------------------

Jul 11 22:51:13 example sslh[2225]: connection from […].adsl.alicedsl.de:3643 to […].yourvserver.net:https forwarded from localhost:59788 to localhost:https
Jul 11 22:51:13 example sslh[2225]: connection from […].adsl.alicedsl.de:3644 to […].yourvserver.net:https forwarded from localhost:59789 to localhost:https
[…]

---------------------- SSLH SSH / HTTPS Multiplexer End -------------------------


###################### Logwatch End #########################

Logwatch가 다음과 같이 호출될 때 일반 작업 중에 문제가 발생합니다.

logwatch --mailto [email protected]

Logwatch의 출력을 파일로 리디렉션하고 이상한 줄을 발견했습니다. 예를 들어 sslh가 비활성화된 것으로 나열되어 있습니다.

Service List:
[0] = all
[1] = -zz-network
[2] = -zz-sys
[3] = -eximstats
[4] = -sslh

sslhLogwatch 출력을 Grepping하면 다음과 같은 결과가 생성됩니다.

root:~# grep -r -i -n sslh ~/logwatch_out

38:[4] = -sslh
75:[4] = -sslh
4747:ReadConfigFile: Opening /etc/logwatch/conf/services/sslh.conf
4748:ReadConfigFile: Read Line: Title = "SSLH SSH / HTTPS Multiplexer"
4749:ReadConfigFile: Name=Title, Value="SSLH SSH / HTTPS Multiplexer"
4750:ReadConfigFile: Read Line: LogFile = sslhReadConfigFile: Name=LogFile, Value=sslh
6431:ReadConfigFile: Opening /etc/logwatch/conf/logfiles/sslh.conf
6432:ReadConfigFile: Read Line: LogFile = /var/log/sslh.log
6433:ReadConfigFile: Name=LogFile, Value=/var/log/sslh.log
6434:ReadConfigFile: Read Line: LogFile = /var/log/sslh.log.0
6435:ReadConfigFile: Name=LogFile, Value=/var/log/sslh.log.0
6436:ReadConfigFile: Read Line: Archive = /var/log/sslh.log.*.gz
6437:ReadConfigFile: Name=Archive, Value=/var/log/sslh.log.*.gz
6527:[85] = sslh
6594:[47] = sslh
6867:Service Name: sslh
6868:   Logfile = sslh
7181:Logfile Name: sslh
7183:   Logfile = /var/log/sslh.log

SSLH와 관련된 Logwatch 구성이 작동한다는 사실을 파악한 후 SSLH 서비스를 명시적으로 지정할 때 정기적으로 Logwatch를 실행할 때 SSLH가 제외되는 이유를 전혀 알 수 없습니다.

내용이 있든 없든 "SSLH" 카테고리도 이메일에 포함되지 않습니다.

어떤 도움이라도 대단히 감사하겠습니다.

관련 정보