После сбоя FW на оборудовании, на двух машинах с linux ubuntu 16.04 server, были открыты наружу все порты, на одной из машин крутился только dockerd. В итоге был подхвачен майнер. При поиске файлов измененных в день заражения, был найден бекдор и удален. Так же атакующий прикрыл порт докера iptables в rc.local и сделал автозапуск бекдора.
Сам вредононый скрипт добавлял себя в крон на ежеминутное срабатывание и добавлял себя в запуск, если экземпляр его отсутствовал. При чем после перезагрузки эта дрянь все равно скачивалась и запускалась.
Сейчас прикрыто FW все пути к скачиванию, но после перезагрузки все равно запускается cron с заданием на скачивание и выполнение скрипта.
Причем все известные пути я проверил, rc.local, /etc/crontab, /etc/cron.d, dayly, weekly, mounthly, /var/spool/cron,
/etc/systemd/ и /lib/systemd а так же /etc/init и init.d
я убил cron, но кто-то добавляет записи в crontab. Как проверить какое приложение это делает?
В логах полно записей:
Jun 19 19:28:52 DEV crontab[20141]: (root) DELETE (root)
Jun 19 19:28:52 DEV crontab[20142]: (root) REPLACE (root)
Jun 19 19:29:02 DEV crontab[20330]: (root) DELETE (root)
Jun 19 19:29:02 DEV crontab[20331]: (root) REPLACE (root)
Виновник найден через пристальное изучение ps -aux, файл висел в памяти но физически был удален, поэтому не находился через find.
Задеплоить не проблема, проблема как раз в том, что не понятно как через него ломают систему.
Я могу ограничить FW доступ только внутри сети, но изнутри - его тоже могут хакнуть.
Единственное решение - сделать авторизацию по tls, но придется переписывать кучу кода в dev скриптах.
```By default, it will listen on unix:///var/run/docker.sock to allow only local connections by the root user. You could set it to 0.0.0.0:2375 or a specific host IP to give access to everybody, but that is not recommended because then it is trivial for someone to gain root access to the host where the daemon is running.```
Вы конфиг докеру меняли? Если нет - то жди - опять сломают