<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sshd on K-Life Hack | Systems Architecture &amp; DevOps</title><link>https://klifehack.com/en/tags/sshd/</link><description>Recent content in Sshd on K-Life Hack | Systems Architecture &amp; DevOps</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 13 Oct 2026 10:14:12 +0900</lastBuildDate><atom:link href="https://klifehack.com/en/tags/sshd/index.xml" rel="self" type="application/rss+xml"/><item><title>Design of System Log Aggregation and Periodic Delivery Using Logwatch and Postfix</title><link>https://klifehack.com/en/p/logwatch-postfix-log-monitoring-setup/</link><pubDate>Tue, 13 Oct 2026 10:14:12 +0900</pubDate><guid>https://klifehack.com/en/p/logwatch-postfix-log-monitoring-setup/</guid><description>&lt;p&gt;As the number of infrastructure nodes increases, manually inspecting authentication logs and packet-drop logs scattered across each node becomes a source of operational errors. As a preliminary stage before implementing a centralized log collection platform, or as an approach to quickly ensure the integrity of individual hosts, automated delivery of periodic reports via a log summarization tool is a standard auditing practice.&lt;/p&gt;&#10;&lt;p&gt;This document outlines the procedure for constructing a notification pipeline via Logwatch log analysis and Postfix on an Ubuntu 24.04 LTS environment, along with configuration friction points encountered during operations.&lt;/p&gt;&#10;&lt;h2 id="architecture-and-operational-requirements"&gt;Architecture and Operational Requirements&#10;&lt;/h2&gt;&lt;p&gt;Logwatch parses log files for each service (SSH, iptables, Apache, Postfix, cron, sudo, etc.) and generates a text or HTML summary based on a specified time range and granularity (Detail level). The generated data can be output to standard output, saved to a file, or sent externally via a locally resident Mail Transfer Agent (MTA).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+-------------------------------------------------------------+&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Linux Node (Ubuntu 24.04.4 LTS) |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| /var/log/auth.log ---+ |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| /var/log/syslog ---+--&amp;amp;gt; [ Logwatch Engine ] |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| /var/log/mail.log ---+ | |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| v |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| [ /usr/sbin/sendmail ] |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| | |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| v |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| [ Postfix (MTA) ] |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| | |&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+-------------------------------|-----------------------------+&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v (SMTP: Port 25/587)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [ Remote Mail Server ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="package-installation-and-mta-configuration"&gt;Package Installation and MTA Configuration&#10;&lt;/h2&gt;&lt;h3 id="1-installing-logwatch"&gt;1. Installing Logwatch&#10;&lt;/h3&gt;&lt;p&gt;Update the system package repository and install Logwatch.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y logwatch&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;logwatch --version&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-configuring-the-delivery-route-with-postfix"&gt;2. Configuring the Delivery Route with Postfix&#10;&lt;/h3&gt;&lt;p&gt;Set up Postfix and auxiliary utilities to relay or directly send mail to external destinations.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y postfix mailutils&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the package configuration dialog is displayed, select one of the following depending on your sending requirements:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;Internet Site&lt;/b&gt;: For performing direct SMTP delivery from the host to destination MX records (requires consideration of SPF/DKIM/reverse DNS).&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Internet with smarthost&lt;/b&gt;: For delivering via an external relay server.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;After configuration is complete, verify source domain resolution.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo postconf mydomain&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo postconf myhostname&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="report-generation-parameters-and-configuration-file-structure"&gt;Report Generation Parameters and Configuration File Structure&#10;&lt;/h2&gt;&lt;h3 id="immediate-verification-standard-output"&gt;Immediate Verification (Standard Output)&#10;&lt;/h3&gt;&lt;p&gt;To inspect today&amp;rsquo;s summary directly in the terminal, execute with the following flags:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo logwatch --detail high --range today --output stdout&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When filtering for specific services or specifying a time range, use the &lt;code&gt;--service&lt;/code&gt; and &lt;code&gt;--range&lt;/code&gt; options.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Extract SSH service only&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo logwatch --service sshd --range today --output stdout&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Specify range for the past 7 days&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo logwatch --range &lt;span style="color:#e6db74"&gt;&amp;#39;between -7 days and today&amp;#39;&lt;/span&gt; --output stdout&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="defining-etclogwatchconflogwatchconf"&gt;Defining &lt;code&gt;/etc/logwatch/conf/logwatch.conf&lt;/code&gt;&#10;&lt;/h3&gt;&lt;p&gt;Default operational parameters are defined in &lt;code&gt;/etc/logwatch/conf/logwatch.conf&lt;/code&gt;. A deployment example is shown below.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Logwatch Default Configuration&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Output = mail&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Format = text&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Encode = none&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MailTo = admin@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MailFrom = logwatch@yourserver.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Detail = High&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Range = yesterday&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Services to exclude from monitoring&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Service = &amp;#34;-cron&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Service = &amp;#34;-ntpd&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When configuring threshold-based alerts, override individual service configuration files. To change the disk space warning criteria, create and edit &lt;code&gt;/etc/logwatch/conf/services/disk_space.conf&lt;/code&gt;.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;disk_space_percent_used_warning = 90&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="automation-and-cron-scheduling"&gt;Automation and Cron Scheduling&#10;&lt;/h2&gt;&lt;p&gt;In Ubuntu, &lt;code&gt;/etc/cron.daily/00logwatch&lt;/code&gt; is deployed by default. To strictly control execution timing and delivery parameters, disable the standard daily job and explicitly configure the schedule using &lt;code&gt;crontab&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;First, as a unit test, verify email output via the mail command and Logwatch standalone.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Delivery pipeline connectivity test&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;Test body&amp;#34;&lt;/span&gt; | mail -s &lt;span style="color:#e6db74"&gt;&amp;#34;MTA Test&amp;#34;&lt;/span&gt; admin@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# One-off email sending test via Logwatch&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo logwatch --output mail --mailto admin@example.com --detail high --range today&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After verification, register the following in &lt;code&gt;/etc/cron.d/logwatch&lt;/code&gt; or root&amp;rsquo;s crontab:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Send yesterday&amp;#39;s report every morning at 08:00&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;0 8 * * * /usr/sbin/logwatch --output mail --mailto admin@example.com --detail high --range yesterday&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="troubleshooting"&gt;Troubleshooting&#10;&lt;/h2&gt;&lt;p&gt;The following sections describe common failure scenarios encountered during Logwatch installation and Postfix integration, along with their diagnostic procedures.&lt;/p&gt;&#10;&lt;h3 id="1-mail-does-not-reach-external-destinations-and-remains-in-queue"&gt;1. Mail Does Not Reach External Destinations and Remains in Queue&#10;&lt;/h3&gt;&lt;p&gt;⚠️ &lt;b&gt;Cause&lt;/b&gt;: Outbound Port 25 Blocking (OP25B) enforced by cloud providers or ISPs, or misconfigurations in Postfix DNS resolution or relay settings.&lt;/p&gt;&#10;&lt;p&gt;Verification commands:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mailq&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo journalctl -u postfix -n &lt;span style="color:#ae81ff"&gt;50&lt;/span&gt; --no-pager&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If &lt;code&gt;Connection timed out&lt;/code&gt; or &lt;code&gt;Network is unreachable&lt;/code&gt; is logged in the queue, Port 25 traffic is restricted. In this case, &lt;code&gt;relayhost&lt;/code&gt; must be defined in &lt;code&gt;/etc/postfix/main.cf&lt;/code&gt; to route mail via authenticated SMTP (Port 587).&lt;/p&gt;&#10;&lt;h3 id="2-log-file-permission-denied"&gt;2. Log File Permission Denied&#10;&lt;/h3&gt;&lt;p&gt;⚠️ &lt;b&gt;Cause&lt;/b&gt;: Files under &lt;code&gt;/var/log&lt;/code&gt; are restricted to specific groups (such as &lt;code&gt;adm&lt;/code&gt; or &lt;code&gt;systemd-journal&lt;/code&gt;), preventing read access under the cron execution user privileges.&lt;/p&gt;&#10;&lt;p&gt;Remediation procedure: Check execution privileges and verify permission groups for the log directory.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls -l /var/log/auth.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the cron job is configured under an unprivileged user, ensure that it is placed in root&amp;rsquo;s crontab (&lt;code&gt;sudo crontab -e&lt;/code&gt;) or under &lt;code&gt;/etc/cron.daily/&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="operational-verification"&gt;Operational Verification&#10;&lt;/h2&gt;&lt;p&gt;🛠️ The inspection protocols for verifying normal operation of each daemon and process, as well as network listeners, are as follows:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status postfix --no-pager&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ss -tulpn | grep :25&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;```&lt;/span&gt;text&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;● postfix@-.service - Postfix Mail Transport Agent &lt;span style="color:#f92672"&gt;(&lt;/span&gt;instance -&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Loaded: loaded &lt;span style="color:#f92672"&gt;(&lt;/span&gt;/usr/lib/systemd/system/postfix@.service; enabled; preset: enabled&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Active: active &lt;span style="color:#f92672"&gt;(&lt;/span&gt;running&lt;span style="color:#f92672"&gt;)&lt;/span&gt; since Tue 2026-10-13 09:12:44 UTC; 2h 15min ago&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Main PID: &lt;span style="color:#ae81ff"&gt;12480&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;master&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Tasks: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;limit: 4613&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Memory: 4.8M &lt;span style="color:#f92672"&gt;(&lt;/span&gt;peak: 5.2M&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CPU: 120ms&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CGroup: /system.slice/system-postfix.slice/postfix@-.service&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─12480 /usr/lib/postfix/sbin/master -w&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─12482 qmgr -l -t unix -u&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─15210 pickup -l -t unix -u&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tcp LISTEN &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt; 127.0.0.1:25 0.0.0.0:* users:&lt;span style="color:#f92672"&gt;((&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;master&amp;#34;&lt;/span&gt;,pid&lt;span style="color:#f92672"&gt;=&lt;/span&gt;12480,fd&lt;span style="color:#f92672"&gt;=&lt;/span&gt;13&lt;span style="color:#f92672"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tcp LISTEN &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;::1&lt;span style="color:#f92672"&gt;]&lt;/span&gt;:25 &lt;span style="color:#f92672"&gt;[&lt;/span&gt;::&lt;span style="color:#f92672"&gt;]&lt;/span&gt;:* users:&lt;span style="color:#f92672"&gt;((&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;master&amp;#34;&lt;/span&gt;,pid&lt;span style="color:#f92672"&gt;=&lt;/span&gt;12480,fd&lt;span style="color:#f92672"&gt;=&lt;/span&gt;14&lt;span style="color:#f92672"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上記のようにPostfixのマスタープロセスがループバックアドレス（127.0.0.1）でリッスンしており、Logwatch実行時にエラーなくパイプラインが終了していれば、日次の監視基盤は正常に稼働しています。&lt;/p&gt;&#10;&lt;h2 id="operational-notes"&gt;Operational Notes&#10;&lt;/h2&gt;&lt;p&gt;💡 Logwatchは軽量かつ依存関係が少ないため、最小構成のLinuxサーバーにおける基本的なセキュリティ監査および死活状況の把握に適しています。ただし、ホスト数が増加した環境では個別のメールレポートを人が判読する負荷が急激に増大します。サーバ群の規模に応じて、LogwatchのHTML出力を集約スクリプトで統合するか、あるいはSyslogプロトコルを用いた集中ログ基盤（Fluentbit、OpenTelemetry、Vector等）への移行を検討する必要があります。&lt;/p&gt;&#10;</description></item></channel></rss>