投稿者: manualmaton Page 119 of 261

redmineサーバのウイルス対策。(ClamAV定期スキャン)

ClamAVでの動作確認が終わりましたので、定期スキャンをかけるようにします。

最初、リアルタイムスキャンを考えてはいたのですが

スキャン中のCPU使用率が相当高いと分かったので、cronで設定しました。

設定

参考:

https://www.yokoweb.net/2017/04/15/ubuntu-server-clamav/

バックアップ用のスクリプトを作成します。

redmine 用
vi /backup/execution/directory/clam-redmine.sh
#!/bin/sh

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


echo =========================================
date
hostname
clamscan /var/lib/redmine/  \
     --infected \
     --recursive \
     --log=/var/log/redmine/clamav/clamscan.log \

     # redmineのログプラグインで見られるようにここにしています
     --remove \

if [ $? = 0 ]; then
  echo "ウイルス未検出."
else
  echo "ウイルス検出!!"
fi
date
フルバックアップ
vi /backup/execution/directory/clam-full.sh
#!/bin/sh

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


echo =========================================
date
hostname
clamscan  / \
     --infected \
     --recursive \
     --log=/var/log/redmine/clamav/clamscan_full.log \
     --remove \
     --exclude-dir=^/boot \
     --exclude-dir=^/sys \
     --exclude-dir=^/proc \
     --exclude-dir=^/dev \
     --exclude-dir=^/home/manualmaton/nas \

     #NASは独自のウィルス対策があるため、重複を防ぎます
     --exclude-dir=^/var/log/redmine/clamav/

if [ $? = 0 ]; then
  echo "ウイルス未検出."
else
  echo "ウイルス検出!!"
fi
date

スクリプトに実行権限を付与します。

chmod +x clam-*.sh

cronを設定します。

crontab -e
以下、追加内容
# Virus Scan daily (redmine)
00 03 * * * /backup/execution/directory/clam-full.sh

# Virus Scan weekly (full)
00 04 * * 5 /backup/execution/directory/clam-redmine.sh

動作確認

スクリプトを実行して動作を確認。

----------- SCAN SUMMARY -----------
Known viruses: 8613098
Engine version: 0.103.5
Scanned directories: 2384
Scanned files: 11764
Infected files: 0
Data scanned: 858.21 MB
Data read: 649.00 MB (ratio 1.32:1)
Time: 222.074 sec (3 m 42 s)
Start Date: 2022:04:24 19:08:02
End Date:   2022:04:24 19:11:44
ウイルス未検出.

これで、多少はセキュリティ対策ができてきました。

redmineサーバのウイルス対策。(ClamAVインストール)

redmineをファイルサーバ化したことでセキュリティ対策が更に重要となりました。

そこで、アンチウィルスソフトを入れることにします。

参考:
https://qiita.com/kannkyo/items/1cc32231afad88c11d8e

環境

  • Linux Mint 20.03
    • 2022/04/24時点でのアップデート完了済み
  • インストールしたClamAVのバージョン:0.103.5

インストール

必要なパッケージをインストールします。

aptitude install clamav clamav-daemon

サービスを起動します。

systemctl start clamav-daemon
systemctl start clamav-freshclam
systemctl enable clamav-daemon
systemctl start clamav-freshclam

動作チェック

cd /tmp
wget http://www.eicar.org/download/eicar.com
#Eicarテストファイルのダウンロード
clamscan --infected --remove --recursive /tmp
# tmp配下をスキャンし、ウィルスを取り除きます
動作後のログ
/tmp/eicar.com: Win.Test.EICAR_HDB-1 FOUND
/tmp/eicar.com: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 8613020
Engine version: 0.103.5
Scanned directories: 21
Scanned files: 8
Infected files: 1
Data scanned: 0.35 MB
Data read: 0.17 MB (ratio 2.02:1)
Time: 36.374 sec (0 m 36 s)
Start Date: 2022:04:24 14:42:12

動くことを確認しました。

次はこれを定期スキャンするように設定していきます。

redmineのファイルサーバ化。(dmsfプラグイン導入→ 別記事に2023/02/03時点での手順を記載)

要注意

2023/02/03時点での手順はこちらになります。

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/39

恐れ入りますが、上記を参照ください。

かつて以下に書かれていた手順はバージョンアップにより正常に動作しません。(なので消去しました)

導入のきっかけ

redmineの「ファイル」機能は便利ですが、以下の問題点がありました。

  • プロジェクトごとにファイルを探す必要がある。
  • ファイルをまとめてダウンロードできない。
  • 可能であれば宅内NWから直接やりとりをしたい。
  • 履歴管理はできるか?

そんな中で、うってつけのプラグインを発見しました。

動作確認環境

  • Linux Mint 20.03
  • redmine ver 4.2

redmine_dmsf概要

https://github.com/danmunn/redmine_dmsf

これ以降の手順は消去

redmineプラグイン:local avater導入。

概要

redmine、ユーザのアイコンを外部サービスで入れ替えることができますが、redmineのみで完結させるようにプラグインを導入しました。

手順

すべて管理者権限で実施しています。

cd /var/lib/redmine/plugins/
# 自分のredmineプラグインのパスに移動します
sudo -u www-data git clone https://github.com/taqueci/redmine_local_avatars.git
bundle install
bundle exec rake redmine:plugins RAILS_ENV=production
systemctl restart apache2

導入後

ログイン > 個人設定に「アバターの変更」というボタンが表示されます。

画像をアップロード後、変更を確認。

『ガイアプロジェクト』におけるアンバスのガイア戦略。

ガイアプロジェクトの『ガイア計画』

ボードゲーム『ガイアプロジェクト』の中で一番混乱を招きやすい「ガイア計画」。

言ってみれば、「混沌とした惑星を改造して自分たちが住みやすいように作り変える」ステップ。

  • パワートークンを一定以上消費し、次元横断星にガイアフォームを設置
  • 次のラウンドまでそれらは帰ってこない

代わりに、ガイア計画が済んでしまえば

  • 2クレジットと1鉱石(母星と同じコスト)で入植できる
  • ガイアフォームが設置された星は他の勢力に取られない

メリット持ち。また、研究タイル「ガイア入植ごとに3勝利点」を持っていれば、コンスタントに点数を稼ぐことができます。

地球人の場合

これはお手本通りに

  • 研究をガイア計画と航法のみに絞り
  • 積極的にガイア計画を実施
  • 地球人の能力により資源を得て
  • 「エリア2」に置かれるトークンでパワーアクションを取る

ことで盤面を制圧していきます。

「これと同じようなことが他の種族でもできないだろうか」

と、こちらを試しました。

アンバス人の場合

ゲームの最終目標(マジョリティ)が

  • 同盟に含まれる施設数
  • 入植している宙域数

でしたので、航法に優れるアンバスを選択し、途中途中に存在する次元横断星をガイアに変えつつ盤面を展開していく戦略を取っていきました。

  • 最優先で「ガイア3点」を取り
  • パワートークンはアクションやガイア計画研究時のボーナスで取得
  • 資源は研究タイルで補う

ことにより、惑星改造で余計な鉱石を支払うことがそれほど起きず、180点台で終わりました。

他にも同じような戦略は取れないか?

殆ど使っていないグリーン人やバルタックでも試してみるのが今後の課題です。

VNCを利用したLinuxへのリモートデスクトップ

概要

普段、宅内サーバにはSSHでログインしているものの、デスクトップで確認したいときがあります。そのため、リモートデスクトップ環境を整えました。

前提

Linuxデスクトップが動いていること。

接続先(Linux側)の手順

一般のユーザで行います。(root環境でリモートデスクトップ接続できてしまうため

VNCサーバのインストールを行います。

sudo aptitude install tigervnc-standalone-server 

インストール後の設定と起動を行います。

vncpasswd
#接続用のパスワードを設定します
vncserver -localhost no
起動確認を行います。
vncserver -list

TigerVNC server sessions:

X DISPLAY #     RFB PORT #      PROCESS ID
:1              5901            13062
# この:1は接続元で用います

のように表示されれば大丈夫です。

接続元(Windows)の手順

適当なVNCクライアントをダウンロード&インストールします。

RealVNCを用いました。

接続を行います。

  1. RealVNC(VNCビューア)を起動します。
  2. 接続先のホスト名/IPアドレス:(vncserver -listで出てきた番号)を入力します。
  • 例 hoge.hogehoge:1
  1. vncpasswdで設定したパスワードを入力します。(ユーザパスワードでないことに注意してください)

デスクトップ画面が出てくることを確認します。

クローズアップ・コンポーネント『Key to the City: London』再び

1年以上経っての続編です。

名所のタイル

この、ロンドンを舞台にしたボードゲーム。各種ヘックスタイルにロンドンの観光名所や歴史的遺産が描かれています。

タイルプレースメントとしてのKey to the City

そこでふと思い立ちました。「テムズ川を軸として、タイル同士つなげられる」と。

(一部怪しいところがありますが)

  • コヴェントガーデン
  • 大英博物館
  • 自然史博物館

など、滞在していた折によく訪れた場所がものの見事に地図として浮かび上がりました。

これを撮影に使います。

背景としてのKey to the City

前回同様、英国ゆかりのフィギュアを更に引き立ててくれました。

E-P7フィルタ「ネオノスタルジー」の効果検証。

OLYMPUSのデジタルカメラE-P7のアーティスティックフィルター「ネオノスタルジー」を試したときの記録です。

フィルタなしでの写真

こちらはA-X7、キャラホメでの撮影時に用いたものです。

フィルタ効果検証

Take 1:背景設定

まずは背景を設定。木枠に造花をまとめ、ワイヤーライトを背後に忍ばせました。

これで全体のイメージを掴んでみます。

Take 2:構図決め

カメラが背後のワイヤーライトを拾ってしまい、全体的に暗くなりました。

Take 3:ライティング

そこで、ライトを見直します。

  • リングライトを直上にセット
  • レフ板を左右に増やす

これで、全体的な明るさが格段に向上しただけではなく、フィルタ効果による「淡い色合い」を出すことができました。

フィードバックのロギング

この経過のTake 1→Take2で暗くなった過程、

自宅サーバ内のredmineに記入しました。プラグインRedminca UI Extensionのおかげで、添付ファイルのサムネイルができるようになったので過程を一瞥できるのが大きなアドバンテージです。

ソロとAI。(日曜日の『宝石の煌めき』)

「ほどほどの時間でしっかりと考えるボードゲームを行いたい」

ということで、これを選びました。

『宝石の煌めき』ソロバリアント

場を見て、「オニキスの5点カードが軸になりそうだ」と戦略を立てます。

これにより、無駄なカード取得を極力抑えました。

また、ボットの思考を利用して、得点源をカット。これが功を奏して

  • 貴族タイルの訪問で15点
  • 返しでボットも1点取られたものの、発展カードのタイブレークで勝利

と、実に濃密なゲームを楽しめました。

デジタル版AI対戦

2年ほど前にバンドルで購入していたSteam版『宝石の煌めき』をプレイ。

貴族カードがばらけているため、カードの素点で稼いでいく戦略が大当たり。AIと差をつけての決着となりました。

おぼろげなコツ

  • 「貴族を狙うか」と「カードで稼ぐか」は最初に決め打った方が無駄なカードを購入せずに済む。
  • 手数よりも効率。
  • Lv.3のカードを購入する最短手順を頭に入れる。

で、幾分か勝率が上がってきました。

rsyncdとlsyncdによるリアルタイム同期。

自宅サーバのredmineの耐障害性を高めるため、

flowchart LR Redmine -- rsyncによる転送--> Backup

を仕込みました。

環境

  • バックアップ元(Linux Mint 20.03)
  • バックアップ先(Kubuntu 20.04)

共にrsyncdはインストールされています。

参考:
https://www.server-world.info/query?os=Ubuntu_18.04&p=rsync
https://www.server-world.info/query?os=Ubuntu_18.04&p=lsync

バックアップ先の設定:

vi /etc/rsyncd.conf
ファイル内容
[backup]
path = /home/backup/redmine
hosts allow = [バックアップ元のIPアドレス]
hosts deny = *
list = true
uid = www-data
gid = www-data
read only = false

バックアップディレクトリ作成

mkdir /home/backup/redmine
chown -R www-data:www-data /home/backup/redmine

systemctl restart rsync.service

バックアップ元の設定:

rsyncのテストを行う。

rsync -avz --delete /home/hoge/test.txt バックアップ先::backup

バックアップ先にtest.txtが格納されることを確認しました。

lsyncdのインストール

aptitude install lsyncd
mkdir /etc/lsyncd
vi /etc/lsyncd/lsyncd.conf.lua

ファイル内容

settings{
    logfile="/var/log/lsyncd/lsyncd.log",
    statusFile = "/tmp/lsyncd.stat",
    statusInterval = 1,
}
sync{
    default.rsync,
    source="/var/lib/redmine/",
    # redmine配下をまるごとバックアップします。
    target="[バックアップ先]::backup",
}

lsyncdのログ設定

mkdir /var/log/lsyncd
vi /etc/logrotate.d/lsyncd
ローテーションファイルの内容
/var/log/lsyncd/*.log {
        missingok
        notifempty
        copytruncate
        compress
}

サービス反映

systemctl restart lsyncd
systemctl status lsyncd
systemctl enable lsyncd

リアルタイムの設定確認

tail -f /var/log/lsyncd/lsyncdlog
#別ウィンドウで開きます
cd /var/lib/redmine
touch test.txt

ファイル追加後、ログに以下を確認。

Fri Apr 15 20:38:41 2022 Normal: Calling rsync with filter-list of new/modified files/dirskup/ finished.
/test.txt
/
Fri Apr 15 20:38:41 2022 Normal: Finished a list after exitcode: 0
rm test.txt

ファイル削除後、ログに以下を確認しました。

Fri Apr 15 20:39:51 2022 Normal: Calling rsync with filter-list of new/modified files/dirs
/test.txt
/
Fri Apr 15 20:39:52 2022 Normal: Finished a list after exitcode: 0

まとめ

により、要のDBのバックアップとリストアができたことは確認済み。

後は復旧できるかどうかを試してみます。

Page 119 of 261

Powered by WordPress & Theme by Anders Norén