ModSecurity requires mod_unique_id to be installed.

ModSecurityを入れた環境で、表題のエラーが出ていた。

■ 環境

  • ModSecurity 2.9.2
  • Apache httpd 2.4.27
  • Amazon Linux

■ error_log

下記のようなメッセージが表示されている。

[Mon Aug 08 19:17:11.386399 2017] [:error] [pid 4449] ModSecurity: ModSecurity requires mod_unique_id to be installed.

mod_unique_id“がインストールされていないようだ。

ファイルの存在確認。

$ ls -l /etc/httpd/modules/mod_unique_id.so
-rwxr-xr-x 1 root root 10224 Aug  3 03:03 /etc/httpd/modules/mod_unique_id.so
$

インストールはされている様子。設定ファイルを確認する。

下記ファイルに記載されていた。

/etc/httpd/conf.modules.d/00-base.conf

ただしコメントアウトされていた。

# LoadModule unique_id_module modules/mod_unique_id.so

今回は特に問題がない気がするので、この行をコメントインして終了とする。

`httpd`を再起動して前述のエラーメッセージは出力されなくなった。

以上。

aclocal is missing

表題のエラーが出て`make`できなかった。

■ 環境

  • Amazon Linux

■ aclocal

ModSecurity-2.9.2“をmakeしようとしたところ下記のようなエラーが出た。

$ make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /usr/local/src/modsecurity-2.9.2/build/missing aclocal-1.15 -I build
/usr/local/src/modsecurity-2.9.2/build/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [aclocal.m4] Error 127
$

`aclocal`とは?`yum search`でも検索に引っかからないのでどうしたものかを見たが、どうやら”automake“に含まれているようだ。

$ sudo yum install automake

automake“をインストールしたところ、`aclocal`がインストールされた。これによって上記の”ModSecurity-2.9.2“も`make`できた。

$ which aclocal
/usr/bin/aclocal
$ rpm -qf /usr/bin/aclocal
automake-1.13.4-3.15.amzn1.noarch
$

以上。

dig mx

表題の通り。MXレコードを知りたい。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ dig

Aレコードを知りたい時は下記のようにしている。

$ dig www.example.com

MXレコードはこの結果では得られない。

$ dig www.example.com mx

上記のようにMXレコードを明示的に指定しなければならない。”+short“ももちろん使用可能である。

以上。

■ 関連

dig +short

logrotate.confのテスト

表題の通り。たまに書き加えたりした時に、間違えていて実行されないことがあるので確認する手段。

■ 環境

  • Linux

■ logrotate

下記のようなファイルで設定するとする。

$ cat /etc/logrotate.d/nginx
/var/log/nginx/*.log {
        daily
        dateext
        missingok
        rotate 7
        compress
        sharedscripts
        postrotate
                /sbin/service nginx reload > /dev/null 2>/dev/null || true
        endscript
}
$

これが正しく書かれているのか?を確認する。

$ logrotate -d /etc/logrotate.d/nginx
reading config file /etc/logrotate.d/nginx
reading config info for /var/log/nginx/*.log

Handling 1 logs

rotating pattern: /var/log/nginx/*.log  after 1 days (7 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/nginx/access.log
  log does not need rotating
considering log /var/log/nginx/error.log
  log does not need rotating
considering log /var/log/nginx/example.jp_access_443.log
  log does not need rotating
considering log /var/log/nginx/example.jp_access_80.log
  log does not need rotating
considering log /var/log/nginx/example.jp_error_443.log
  log does not need rotating
considering log /var/log/nginx/example.jp_error_80.log
  log does not need rotating
not running postrotate script, since no logs were rotated
$

試しにエラーを入れて実行してみる。

$ logrotate -d /etc/logrotate.d/nginx
reading config file /etc/logrotate.d/nginx
reading config info for /var/log/nginx/*.log
error: /etc/logrotate.d/nginx:5 unknown option 'rotata' -- ignoring line
error: /etc/logrotate.d/nginx:5 unexpected text

Handling 1 logs

rotating pattern: /var/log/nginx/*.log  after 1 days (no old logs will be kept)
empty log files are rotated, old logs are removed
  :
$

error“があることがわかる。また内容もわかる。

以上。

iptablesで特定のルール削除

表題の件について。

■ 環境

  • Linux

■ iptables

まずは既存のチェインと番号を確認する。

$ iptables -nL --list-numbers

この”–list-numbers“というオプションを知らなかった。

あとは番号を指定して削除するだけである。

$ iptabls -D [chain] [number]

以上。

■ 関連

iptablesのDROPとREJECT