Назад | Перейти на главную страницу

Исследование и предотвращение сбоев службы DNS

Я использую VPS на капле цифрового океана и сталкиваюсь со сбоями службы DNS за последние три недели. Первый раз это случилось в конце мая, сайт не разрешался по IP и был недоступен. То же самое произошло вчера, и я не знал об этом, пока не открыл сайт, к сожалению, он не работал около 24 часов. :(

За очень короткий промежуток времени (3-5 минут) до сбоя появляется около 3500 сообщений. Вот несколько записей, связанных с уничтожением именованной службы:

Jun 17 09:33:49 server kernel: Out of memory: Kill process 31644 (/usr/sbin/amav
i) score 21 or sacrifice child
Jun 17 09:33:49 server kernel: Killed process 31644 (/usr/sbin/amavi), UID 990, 
total-vm:376848kB, anon-rss:108kB, file-rss:0kB, shmem-rss:0kB
Jun 17 09:33:49 server kernel: php-cgi invoked oom-killer: gfp_mask=0x201da, ord
er=0, oom_score_adj=0
Jun 17 09:33:49 server kernel: [<ffffffffb89c0e84>] oom_kill_process+0x254/0x3e0
Jun 17 09:33:49 server kernel: [<ffffffffb89c092d>] ? oom_unkillable_task+0xcd/0
x120
**Jun 17 09:33:52 server kernel: Out of memory: Kill process 2539 (named) score 19
 or sacrifice child
Jun 17 09:33:52 server kernel: Killed process 2539 (named), UID 25, total-vm:235
396kB, anon-rss:12kB, file-rss:0kB, shmem-rss:0kB**
Jun 17 09:33:53 server systemd: amavisd.service: main process exited, code=kille
d, status=9/KILL
Jun 17 09:33:53 server systemd: named.service: main process exited, code=killed,
 status=9/KILL
Jun 17 09:33:54 server systemd: lfd.service: main process exited, code=killed, s
tatus=9/KILL

Дополнительная информация:

  1. Запуск CentOS 7 с CWP
  2. Сервис был разбился потому что сервер был недостаточно памяти.
  3. Похоже, злоумышленник нацелился на службы php-cgi, imap-login и imap (я предполагаю, что из-за слишком большого количества записей в журнале, связанных с этими службами)

Вопросы:

  1. Как мне предотвратить это?
  2. Как я могу узнать основную причину? (Я знаю, журналы, но какие записи искать и в каком файле?)
  3. Есть ли способ получить уведомление в такой ситуации? (чтобы минимизировать время простоя)