Гарантия доступа по SSH на защищенном сервере

Некоторое время назад у меня возникла проблема с сервером, на котором Apache и Snort занимали 100% процессора, из-за чего sshd не отвечал через удаленный доступ. Мне пришлось физически перейти на сервер, чтобы войти в локальный TTY, а затем остановить apache/snort.

Мне интересно, есть ли способ гарантировать подключение по SSH в ситуации, когда процессор / память загружены на 100%. Установка "хорошего" приоритета будет достаточно?

Спасибо!

3 ответа

Решение

Кроме использования внеполосного метода, нет никакого способа гарантировать, что SSH будет доступен на полностью загруженном сервере. Если ваш сервис настолько загружен, что он даже не может обслуживать базовый терминал SSH, у вас есть другие проблемы.

Да, renice и давая ему понизить nice Значение увеличит производительность при больших нагрузках, но вместо этого использование чего-то вроде pam_security (пример, показанный здесь) предотвратит Apache/ что-либо еще неуправляемым с самого начала.

Вашим универсальным решением для этого является инструмент внешнего управления, такой как Dell iDRAC, IBM Remote Supervisor или HP iLO. Он всегда может отображать консоль (зависит от того, может ли ОС на нее реагировать, зависит от вашей конкретной ситуации) и при необходимости применять требуемые состояния питания.

Я добился некоторого успеха в предоставлении привилегий в реальном времени для sshd, однако это происходит за счет необходимости перезагрузки компьютера, если один из процессов реального времени завершается.

Поэтому, если вы хотите пойти по этому пути, запустите второй демон ssh, предназначенный только для экстренных случаев.:)

Другие вопросы по тегам