Contents
Tripwire
1.ダウンロード、インストール
| 1 2 3 | # cd /usr/local/src # wget https://rpmfind.net/linux/epel/9/Everything/x86_64/Packages/t/tripwire-2.4.3.7-13.el9.x86_64.rpm # rpm -Uvh tripwire-2.4.3.7-13.el9.x86_64.rpm | 
2.パスフレーズ設定
サイトパスフレーズとローカルパスフレーズを設定する
| 1 | # tripwire-setup-keyfiles | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ---------------------------------------------- The Tripwire site and local passphrases are used to sign a variety of files, such as the configuration, policy, and database files. Passphrases should be at least 8 characters in length and contain both letters and numbers. See the Tripwire manual for more information. ---------------------------------------------- Creating key files... (When selecting a passphrase, keep in mind that good passphrases typically have upper and lower case letters, digits and punctuation marks, and are at least 8 characters in length.) Enter the site keyfile passphrase: ←任意の「サイトパスフレーズ」を入力 Verify the site keyfile passphrase: ←再度「サイトパスフレーズ」を入力 Generating key (this may take several minutes)...Key generation complete. (When selecting a passphrase, keep in mind that good passphrases typically have upper and lower case letters, digits and punctuation marks, and are at least 8 characters in length.) Enter the local keyfile passphrase: ←任意の「ローカルパスフレーズ」を入力 Verify the local keyfile passphrase: ←再度「ローカルパスフレーズ」を入力 Generating key (this may take several minutes)...Key generation complete. ---------------------------------------------- Signing configuration file... Please enter your site passphrase: ←「サイトパスフレーズ」を入力 Wrote configuration file: /etc/tripwire/tw.cfg A clear-text version of the Tripwire configuration file: /etc/tripwire/twcfg.txt has been preserved for your inspection. It is recommended that you move this file to a secure location and/or encrypt it in place (using a tool such as GPG, for example) after you have examined it. ---------------------------------------------- Signing policy file... Please enter your site passphrase: ←「サイトパスフレーズ」を入力 Wrote policy file: /etc/tripwire/tw.pol A clear-text version of the Tripwire policy file: /etc/tripwire/twpol.txt ~中略~ default values from the current configuration file are used. | 
3.Tripwire の設定
①設定ファイル編集
| 1 2 3 4 5 6 7 8 | # vi /etc/tripwire/twcfg.txt ●9 行目あたり 行頭に「#」を追加し、その下の行に「LOOSEDIRECTORYCHECKING =true」を追加します。 ●12 行目あたり 行頭に「#」を追加し、その下の行に「REPORTLEVEL =4」を追加します。 レベル4 にすることで「0 」~「4 」までの5 段階中、最も詳細なレポートが表示されます。 #REPORTLEVEL =3 REPORTLEVEL =4 | 
②Tripwire 設定ファイル(暗号署名版)を作成
		| 1 2 3 | # twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt Please enter your site passphrase: ←サイトパスフレーズを入力 Wrote configuration file: /etc/tripwire/tw.cfg | 
③Tripwire 設定ファイル(テキスト版)削除
		| 1 | # rm -f /etc/tripwire/twcfg.txt | 
④ポリシーファイル設定
		| 1 2 | # cd /etc/tripwire/ # vi twpolmake.pl | 
twpolmake.plの内容
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #!/usr/bin/perl # Tripwire Policy File customize tool # $POLFILE=$ARGV[0]; open(POL,"$POLFILE") or die "open error: $POLFILE" ; my($myhost,$thost) ; my($sharp,$tpath,$cond) ; my($INRULE) = 0 ; while (<POL>) { chomp; if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) { $myhost = `hostname` ; chomp($myhost) ; if ($thost ne $myhost) { $_="HOSTNAME=\"$myhost\";" ; } } elsif ( /^{/ ) { $INRULE=1 ; } elsif ( /^}/ ) { $INRULE=0 ; } elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) { $ret = ($sharp =~ s/\#//g) ; if ($tpath eq '/sbin/e2fsadm' ) { $cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ; } if (! -s $tpath) { $_ = "$sharp#$tpath$cond" if ($ret == 0) ; } else { $_ = "$sharp$tpath$cond" ; } } print "$_\n" ; } close(POL) ; | 
⑤ポリシーファイル最適化
| 1 | # perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new | 
⑥最適化済ポリシーファイルを元に、ポリシーファイル(暗号署名版)作成
		| 1 2 3 | # twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new Please enter your site passphrase: ←サイトパスフレーズを入力 Wrote policy file: /etc/tripwire/tw.pol | 
Ads are being blocked.
⑦データベースを作成、動作確認
| 1 2 | # tripwire -m i -s -c /etc/tripwire/tw.cfg Please enter your local passphrase: ←ローカルパスフレーズを入力 | 
| 1 2 | テスト用ファイルを作成 # echo test > /root/test.txt | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | Tripwire の動作確認 # tripwire -m c -s -c /etc/tripwire/tw.cfg 下記のように表示されればOK Open Source Tripwire(R) 2.4.3.7 Integrity Check Report Report generated by:          root Report created on:            Thu 17 Nov 2022 09:13:28 AM JST Database last updated on:     Never =============================================================================== Report Summary: =============================================================================== Host name:                    Lepard Host IP address:              192.168.11.83 Host ID:                      None Policy file used:             /etc/tripwire/tw.pol Configuration file used:      /etc/tripwire/tw.cfg Database file used:           /var/lib/tripwire/Lepard.twd Command line used:            tripwire -m c -s -c /etc/tripwire/tw.cfg =============================================================================== Rule Summary: =============================================================================== -------------------------------------------------------------------------------   Section: Unix File System -------------------------------------------------------------------------------   Rule Name                       Severity Level    Added    Removed  Modified   ---------                       --------------    -----    -------  --------   User binaries                   66                0        0        0   Tripwire Binaries               100               0        0        0   Libraries                       66                0        0        0   Operating System Utilities      100               0        0        0   File System and Disk Administraton Programs                                   100               0        0        0   Kernel Administration Programs  100               0        0        0   Networking Programs             100               0        0        0   System Administration Programs  100               0        0        0   Hardware and Device Control Programs                                   100               0        0        0   System Information Programs     100               0        0        0   (/sbin/runlevel)   Application Information Programs                                   100               0        0        0   (/sbin/rtmon)   Critical Utility Sym-Links      100               0        0        0   Shell Binaries                  100               0        0        0   Critical system boot files      100               0        0        0 * Tripwire Data Files             100               1        0        0   System boot changes             100               0        0        0   OS executables and libraries    100               0        0        0   Security Control                100               0        0        0   Login Scripts                   100               0        0        0   Critical configuration files    100               0        0        0 * Root config files               100               1        0        0   Invariant Directories           66                0        0        0   Temporary directories           33                0        0        0   Critical devices                100               0        0        0   (/proc/kcore) Total objects scanned:  33787 Total violations found:  2 =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: Tripwire Data Files (/var/lib/tripwire) Severity Level: 100 ------------------------------------------------------------------------------- Added: "/var/lib/tripwire/Lepard.twd" ------------------------------------------------------------------------------- Rule Name: Root config files (/root) Severity Level: 100 ------------------------------------------------------------------------------- Added: "/root/test.txt" =============================================================================== Error Report: =============================================================================== No Errors ------------------------------------------------------------------------------- *** End of report *** Open Source Tripwire 2.4 Portions copyright 2000-2018 Tripwire, Inc.  Tripwire is a registered trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY; for details use --version. This is free software which may be redistributed or modified only under certain conditions; see COPYING for details. All rights reserved. | 
テスト用ファイルを削除
| 1 | # rm -f /root/test.txt | 
⑧Tripwire 定期実行スクリプト
		| 1 2 | # cd /var/www/system # vi tripwire.sh | 
tripwire.shの内容
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash PATH=/usr/sbin:/usr/bin:/bin:/usr/local/tripwire/sbin # パスフレーズ設定 LOCALPASS= ←ローカルパスフレーズ SITEPASS=  ←サイトパスフレーズ cd /etc/tripwire # Tripwireチェック実行 tripwire -m c -s -c tw.cfg|mail -s "Tripwire(R) Integrity Check Report in `hostname`" root # ポリシーファイル最新化 twadmin -m p -c tw.cfg -p tw.pol -S site.key > twpol.txt perl twpolmake.pl twpol.txt > twpol.txt.new twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new > /dev/null rm -f twpol.txt* *.bak # データベース最新化 rm -f /usr/local/tripwire/lib/tripwire/*.twd* tripwire -m i -s -c tw.cfg -P $LOCALPASS | 
⑨Tripwire 自動実行スクリプト実行設定
| 1 2 3 4 5 | # chmod 700 tripwire.sh cron に追加 # crontab -e 0 3 * * * /var/www/system/tripwire.sh | 
Ads are being blocked.
参考: メールで結果報告用スクリプト
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/bin/bash PATH=/usr/sbin:/usr/bin:/bin:/usr/local/tripwire/sbin # パスフレーズ設定 LOCALPASS=xxxxx # ローカルキーパスフレーズ SITEPASS=xxxxx # サイトキーパスフレーズ #通知先メールアドレス指定 MAIL="<your mailaddress> " cd /etc/tripwire # Tripwireチェック実行 tripwire -m c -s -c tw.cfg|mail -s "Tripwire(R) Integrity Check Report in `hostname`" $MAIL # ポリシーファイル最新化 twadmin -m p -c tw.cfg -p tw.pol -S site.key > twpol.txt perl twpolmake.pl twpol.txt > twpol.txt.new twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new > /dev/null rm -f twpol.txt* *.bak # データベース最新化 rm -f /usr/local/tripwire/lib/tripwire/*.twd* tripwire -m i -s -c tw.cfg -P $LOCALPASS | 
下記コマンドを実行し、指定したメールアドレスにtripwire実行結果が通知されることを確認
| 1 | # /var/www/system/tripwire.sh | 
Chkrootkit インストール
①chkrootkit をダウンロード、インストール
| 1 2 3 | # cd /usr/local/src # wget https://launchpad.net/chkrootkit/main/0.55/+download/chkrootkit-0.55.tar.gz # tar xvf chkrootkit-0.55.tar.gz | 
➁/root/bin ディレクトリを作成し、そのディレクトリにchkrootkit コマンドを移動
		| 1 2 | # mkdir -p /root/bin # mv chkrootkit-0.55/chkrootkit /root/bin | 
➂chkrootkit を確認します。
		| 1 2 | # chkrootkit | grep INFECTED 何も表示されなければ問題ありません | 
上記の表示が出る場合はおそらく誤検知だと思います。
④chkrootkit 定期実行スクリプトの作成と権限変更
| 1 2 | chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ作成 # vi /etc/cron.daily/chkrootkit | 
定期実行スクリプトの内容
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #!/bin/bash PATH=/usr/bin:/bin:/root/bin LOG=/tmp/$(basename ${0}) # chkrootkit実行 chkrootkit > $LOG 2>&1 # ログ出力 cat $LOG | logger -t $(basename ${0}) # SMTPSのbindshell誤検知対応 if [ ! -z "$(grep 465 $LOG)" ] && \ [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then sed -i '/465/d' $LOG fi # upstartパッケージ更新時のSuckit誤検知対応 if [ ! -z "$(grep Suckit $LOG)" ] && \ [ -z "$(rpm -V `rpm -qf /sbin/init`)" ]; then sed -i '/Suckit/d' $LOG fi # rootkit検知時のみroot宛メール送信 [ ! -z "$(grep INFECTED $LOG)" ] && \ grep INFECTED $LOG | mail -s "chkrootkit report in `hostname`" root | 
chkrootkit実行スクリプトへ実行権限付加
| 1 | # chmod 700 /etc/cron.daily/chkrootkit | 
⑤chkrootkit が使用するコマンドをバックアップ
chkrootkit が使用するコマンドが改ざんされた場合、rootkit を検出できなくなるので、
これらのコマンドをバックアップしておきます。
必要な場合は、バックアップしたコマンドを使用してchkrootkit を実行します
		これらのコマンドをバックアップしておきます。
必要な場合は、バックアップしたコマンドを使用してchkrootkit を実行します
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # cd /root # mkdir /root/chkrootkit_cmd # cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed ssh uname` chkrootkit_cmd/ # ls -l /root/chkrootkit_cmd/ total 2636 -rwxr-xr-x 1 root root 714928 Oct 27 12:17 awk -rwxr-xr-x 1 root root  49440 Oct 27 12:17 cut -rwxr-xr-x 1 root root  36816 Oct 27 12:17 echo -rwxr-xr-x 1 root root     32 Oct 27 12:17 egrep -rwxr-xr-x 1 root root 292768 Oct 27 12:17 find -rwxr-xr-x 1 root root  45336 Oct 27 12:17 head -rwxr-xr-x 1 root root  41144 Oct 27 12:17 id -rwxr-xr-x 1 root root 141944 Oct 27 12:17 ls -rwxr-xr-x 1 root root 161648 Oct 27 12:17 netstat -rwxr-xr-x 1 root root 145320 Oct 27 12:17 ps -rwxr-xr-x 1 root root 116744 Oct 27 12:17 sed -rwxr-xr-x 1 root root 851424 Oct 27 12:17 ssh -rwxr-xr-x 1 root root  33176 Oct 27 12:17 strings -rwxr-xr-x 1 root root  32912 Oct 27 12:17 uname | 
⑥コピーしたコマンドにchkrootkit を実行
		| 1 | # chkrootkit -p /root/chkrootkit_cmd | grep INFECTED | 
何も表示されなければ問題ありません
⑦バックアップしたコマンドを圧縮
		| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # tar zcvf chkrootkit_cmd.tar.gz chkrootkit_cmd chkrootkit_cmd/ chkrootkit_cmd/awk chkrootkit_cmd/cut chkrootkit_cmd/echo chkrootkit_cmd/egrep chkrootkit_cmd/find chkrootkit_cmd/head chkrootkit_cmd/id chkrootkit_cmd/ls chkrootkit_cmd/netstat chkrootkit_cmd/ps chkrootkit_cmd/strings chkrootkit_cmd/sed chkrootkit_cmd/ssh chkrootkit_cmd/uname | 
| 1 2 3 4 5 6 7 8 9 | # ls -l total 121512 -rw-r--r--. 1 root  root            0 Nov 16 15:09 '=' -rw-------. 1 root  root         1319 Nov 16 12:40  anaconda-ks.cfg drwxr-xr-x. 2 root  root         4096 Nov 17 09:19  bin drwxr-xr-x. 2 root  root         4096 Nov 17 09:23  chkrootkit_cmd -rw-r--r--. 1 root  root      1222072 Nov 17 09:24  chkrootkit_cmd.tar.gz | | | 
⑧chkrootkit使用コマンド(圧縮版)をroot宛にメール送信
		| 1 | # echo|mail -a chkrootkit_cmd.tar.gz -s chkrootkit_cmd.tar.gz root | 
⑨Windows にchkrootkit_cmd.tar.gz ファイルをダウンロードして退避
⑩バックアップしたサーバー上のコマンドを削除
		| 1 | # rm -f chkrootkit_cmd.tar.gz | 
Ads are being blocked.
Logwatch
①インストール
| 1 | # dnf install logwatch | 
②設定ファイルの編集
		| 1 2 | # cat /usr/share/logwatch/default.conf/logwatch.conf >> /etc/logwatch/conf/logwatch.conf # vi /etc/logwatch/conf/logwatch.conf | 
| 1 2 3 4 5 6 7 | ●51 行目あたり 「MailTo = root」の行頭に「#」を挿入し、その下行に通知を受け取りたいメールアドレスを設定 #MailTo = root MailTo = [メールアドレス] ●84行目あたりログ通知の詳細度を設定 #Detail = Low Detail = High | 
③Logwatch のレポートを出力
| 1 | # logwatch --output stdout | 
下記のようなメッセージが出ます
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | ################### Logwatch 7.5.5 (01/22/21) ####################         Processing Initiated: Thu Nov 17 09:36:10 2022         Date Range Processed: yesterday                               ( 2022-Nov-16 )                               Period is day.         Detail Level of Output: 10         Type of Output/Format: stdout / text         Logfiles for Host: Lepard  #################################################################  --------------------- Kernel Audit Begin ------------------------   Number of audit daemon starts: 1   Number of audit initializations: 1  **Unmatched Entries**     auditd[748]: audit dispatcher initialized with q_depth=1200 and 1 active plugins: 1 Time(s)  ---------------------- Kernel Audit End ------------------------- <中略>  --------------------- Disk Space Begin ------------------------  Filesystem           Size  Used Avail Use% Mounted on  /dev/mapper/rl-root   17G  5.0G   13G  30% /  /dev/nvme0n1p1      1014M  270M  745M  27% /boot  ---------------------- Disk Space End -------------------------  --------------------- lm_sensors output Begin ------------------------  No sensors found!  Make sure you loaded all the kernel drivers you need.  Try sensors-detect to find out which these are.  ---------------------- lm_sensors output End -------------------------  ###################### Logwatch End ######################### | 
④設定したアドレスにレポートが届くかテストを行います。上記の様なログレポートメールが届いているか確認
| 1 | # /etc/cron.daily/0logwatch | 
Ads are being blocked.
DiCE
ネットが切断されたり、ルーターが切断再起動したときにおこるグローバルIPの変更の度に、ダイナミックDNSにアクセスしグローバルIPが変更されたことを知らせなくてはいけません。その作業を自動的にやってくれるのがDiCEです
①Diceのダウンロード、インストール
| 1 2 3 4 | # cd /usr/local/bin # wget http://www.hi-ho.ne.jp/yoshihiro_e/dice/diced01914.tar.gz # tar -xzvf diced01914.tar.gz # cd /usr/local/bin/DiCE | 
②DiCEの設定
DiCEの出力文字はEUCのため、文字化けしてしまう。UTF-8に変換するために、nkfをインストールしておく
		DiCEの出力文字はEUCのため、文字化けしてしまう。UTF-8に変換するために、nkfをインストールしておく
| 1 | # dnf install nkf | 
64bitOSで32bitソフトのDiceを動かすため下記をインストール
		| 1 | # dnf install glibc.i686 | 
③DiCEを起動する
		| 1 2 | # cd /usr/local/bin/DiCE # ./diced | nkf -uw | 
④イベントの追加
DNSサービスはVALUEDOMAINとした場合
DNSサービスはVALUEDOMAINとした場合
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # ./diced | nkf -uw : add DynamicDNSサービス名を入力してください "?"で対応しているサービスを一覧表示します (P)戻る >VALUEDOMAIN ドメイン名を入力してください "?"でドメイン一覧を表示します (P)戻る ><ドメイン名> ホスト名を入力してください (P)戻る ><ホスト名> ログインユーザ名を入力してください (P)戻る ><ユーザー名>  ←VALUEDOMAINに登録したユーザー名 ログインパスワードを入力してください (P)戻る ><passwd>  ←VALUEDOMAINにログインするパスワード 登録するIPアドレスを入力してください 空白にすると現在のIPアドレスを自動検出します (P)戻る >空白 このイベントに題名を付けてください (P)戻る >xxxxxxxxx(適当に付ける) 実行する頻度を指定してください (番号入力) (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回 (4)その他の周期 (5)IPアドレス変化時 (6)起動時 (P)戻る >5 (任意に決める) IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると アカウントを削除されてしまうことがあります IPアドレスの変化が無い時に実行する間隔を指定してください (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎 (4)35日毎 (5)56日毎 (6)84日毎 (P)戻る >0(任意に決める) このイベントを有効にしますか? (Y/N) (イベントの有効/無効は"EN/DIS"コマンドで切替えられます) >y イベントを保存しますか? (Y/N) >y イベントの確認 :list (No.)   (イベント名)     (スケジュール)         (次回予定) 0 *     xxxxxxxxx   IPアドレス変化時 (7日毎)     01/27 06:27ー 手動実行 :ex 0 + 1/20 6:33 にddns_valuedomainが実行されました IPアドレスを更新しました :exit | 
⑤Diceの自動実行
DiCEデーモンを起動する
		| 1 2 3 4 5 6 7 8 | # /usr/local/bin/DiCE/diced -d -l -=-=- DiCE DynamicDNS Client -=-=-= Version 0.19 for Japanese Copyright(c) 2001 sarad DiCE Daemon Started !! | 
| 1 2 3 4 | # ps aux | grep diced root      150637  0.4  0.0   5776   124 ?        Ss   14:40   0:00 /usr/local/bin/DiCE/diced -d -l root      150708 94.7  0.1   5776  1796 ?        Rs   14:40   0:09 /usr/local/bin/DiCE/diced -d -l root      150882  0.0  0.1   6412  2008 pts/0    S+   14:40   0:00 grep --color=auto diced | 
自動で起動するよう設定
		| 1 2 | # vi /etc/rc.local /usr/local/bin/DiCE/diced -d -l   (追記) | 
ValueDomainで取得したドメイン情報を更新する
上記DiCEは古く更新もされていませんので、更新をするためのシェルスクリプトを用意しました
まだ、稼働実績がありませんのでうまく動いてくれるか心配ですが試験的に入れてみます
		
		
			
			
				
					
			
		
自動更新設定
crontab -e から、以下を追記して定期的に更新する
		
		
			
			
				
					
			
		
上記DiCEは古く更新もされていませんので、更新をするためのシェルスクリプトを用意しました
まだ、稼働実績がありませんのでうまく動いてくれるか心配ですが試験的に入れてみます
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | # vi /var/www/system/valuedomain_updqte.sh #/bin/bash#VARIABLES DOMAINNAME="[Domain name]" PASSWORD="[Password]" HOSTNAME="*" MYIP="" #外部IP取得 MYIP=`wget -q -O - "https://dyn.value-domain.com/cgi-bin/dyn.fcg?ip"` #cgiがbusyになることがあるのでsleep sleep 5 #更新処理 wget -q -O - "https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=$DOMAINNAME&p=$PASSWORD&h=$HOSTNAME&i=$MYIP" | 
crontab -e から、以下を追記して定期的に更新する
| 1 2 | # crontab -e */30 * * * * /var/www/system/valuedomain_updqte.sh | 
ディスク使用率チェックスクリプト導入
3.1 スクリプト作成
| 1 2 | # cd /var/www/system # vi disk_capacity_check.sh | 
disk_capacity_check.shの内容
| 1 2 3 4 5 6 7 8 9 10 | #!/bin/bash #通知先メールアドレス指定 MAIL="<your mailaddress>" DVAL=`/bin/df / | /usr/bin/tail -1 | /bin/sed 's/^.* \([0-9]*\)%.*$/\1/'` if [ $DVAL -gt 80 ]; then echo "Disk usage alert: $DVAL %" | mail -s "Disk Space Alert in `hostname`" $MAIL fi | 
| 1 | # chmod 700 disk_capacity_check.sh | 
3.2 実行確認
①現在の使用率を確認
| 1 | # df -h | 
次のように表示される
| 1 2 3 4 5 6 7 | Filesystem           Size  Used Avail Use% Mounted on devtmpfs             856M     0  856M   0% /dev tmpfs                875M     0  875M   0% /dev/shm tmpfs                350M  9.2M  341M   3% /run /dev/mapper/ml-root   17G  5.2G   11G  33% / /dev/nvme0n1p1       974M  178M  729M  20% /boot tmpfs                175M     0  175M   0% /run/user/1000 | 
| 1 | # dd if=/dev/zero of=dummyfile bs=1M count=9000 | 
| 1 | # df -h | 
④ディスク容量チェックスクリプトを実行
| 1 | # /var/www/system/disk_capacity_check.sh | 
設定したメールアドレスに本文の内容として「Disk usage alert: 89 %」のように記載のメールが届きます
⑤作成した「dummyfile」を削除
| 1 | # rm dummyfile | 
⑥定期実行設定
| 1 2 | # crontab -e 30 2 * * * /var/www/system/disk_capacity_check.sh | 
Ads are being blocked.

