サポートログ

Error: ASL has not been configured

Plesk(バージョン 12, 12.5)が稼働しているサーバから午前5時頃から管理者宛に以下のメールが6時、7時、8時と毎時届くようになりました。

Subject: Cron <root@*****> run-parts /etc/cron.hourly

/etc/cron.hourly/asl: 
Error: ASL has not been configured

ASL?ってなんぞや?

なにはともあれ、生成元になっている /etc/cron.hourly/asl に中身を確認します。
毎時送られてくるのはcron.hourlyで設定されているからですね。

#!/bin/bash

source "/etc/asl/config"
export LANG="en_US.UTF-8"
WAIT=$(echo $RANDOM | cut -c1-3)


if [ "$CONFIGURED" ==  "yes" ]; then
  

  # Automatic Updates
  if [ "$AUTOMATIC_UPDATES" ==  "hourly" ]; then
        sleep $WAIT
        /var/asl/bin/aum -u >/dev/null 2>&1
        
  else 
        sleep $WAIT
        /var/asl/bin/aum -ck >/dev/null 2>&1
  fi

        # 
        if [ -f /var/asl/data/msa/ip.dir ]; then
                cp /dev/null /var/asl/data/msa/ip.dir
        fi

        if [ -f /var/asl/data/msa/ip.pag ]; then
                cp /dev/null /var/asl/data/msa/ip.pag
        fi

  # generate reports
  if [ -f /var/asl/bin/asl ]; then
          if [ -f /var/asl/tmp/.upgrade ]; then
                /sbin/service tortixd restart >/dev/null 2>&1
                /var/asl/bin/asl -s -f >/dev/null 2>&1
                /sbin/service ossec-hids restart > /dev/null 2>&1
                rm -f /var/asl/tmp/.upgrade
          else
                /var/asl/bin/asl -s >/dev/null 2>&1
          fi

          # Run rep report                                                                                              
          if [ "$REPUTATION_REPORT" == "yes" ]; then
                if [ "$REPUTATION_FREQUENCY" == "hourly" ]; then
                        /var/asl/bin/asl --rep_report >/dev/null 2>&1
                fi
          fi
  fi

  
else
  echo "Error: ASL has not been configured"
  exit 1
fi

おお、このファイルにしっかりと「Error: ASL has not been configured」って記述されていますね。
どうやらこのbashプログラムでelse処理されているようで、つまり「"$CONFIGURED" == "yes"」ではないようです。

じゃあ、とりあえずsourceとして設定している /etc/asl/config でも確認してみようかなと、該当ファイルをのぞみてみると……

なかみが なにも ないじゃん!

ちなみに該当ファイルのディレクトリを確認してみると、configファイルが1バイトになってました……

タイムスタンプをみると10月17日の午前3時49分になっており、ちょうどその時間にrsyslogのファイルがローテートされているのでPlesk側でなんらかの変更(サービス再起動など)が発生したと思われます。

となると気になるのは「ASL」というもの。このconfigファイルも /etc/asl ディレクトリに格納されているので何らかのサービスであることは予想がつきます。この /etc/asl/config ファイルはどのパッケージに入っているものなのか、ちょっと調べてみます。

Redhat系のパッケージ管理システムの「RPM」には、ファイルからどのパッケージに収録されているのかを調べることができます。

# rpm -qf /etc/asl/config
aum-5.0-5664.el7.art.x86_64

aumというパッケージでインストールされたことがわかりました。では次にaumというパッケージがなんなのかを調べてみます。

# yum info aum
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
インストール済みパッケージ
名前                : aum
アーキテクチャー    : x86_64
エポック            : 1
バージョン          : 5.0
リリース            : 5664.el7.art
容量                : 26 M
リポジトリー        : installed
提供元リポジトリー  : tortix-common
要約                : Atomic Updater Modified
URL                 : http://www.atomicorp.com/
ライセンス          : Commercial
説明                : Atomic Updater Modified (AUM) is utility that can check for and automatically
                    : download and install updates from Atomicorp.

Atomicorpから提供されているパッケージであることがわかりました。ここでもう一つ調べてみます。パッケージ名に付与されていた「art」というワードが気になりましたので、こちらでも調べてみます。

# rpm -qa | grep "\.art\."
atomic-curl-libcurl-7.38.0-5.1.el7.art.x86_64                                                                           
mod_security-2.9.1-33.el7.art.x86_64                                                                                    
aum-5.0-5664.el7.art.x86_64                                                                                             
atomic-curl-curl-runtime-7.38.0-5.1.el7.art.x86_64

ModSecurity!

どうやらこれはWAF(Web Application Firewall)で利用されるパッケージに関係したもののようです。
Pleskの管理画面「[サーバ管理] / [ツールと設定] / [セキュリティ] / [ウェブアプリケーションファイアウォール(ModSecurity)]」をみると確かに「Atomic Basic ModSecurity」という形で利用していることがわかりました。

configファイルはどうにもならないので、ディスクイメージバックアップから復元して対処しました。

こういう問題のときは、Plesk標準のバックアップだったりデータ部分だけのバックアップだとどうにもならないので、ディスクイメージバックアップやら全ファイルのバックアップは必要なのか……

-サポートログ
-,