Использование /conf/crontab
, как указал Долсон, звучит для меня как отличная идея. Это позволяет мне запускать скрипт раз в минуту, который гарантирует все, кроме http и ssh:
/etc/init.d/cdserver stop
/etc/init.d/fdserver stop
/etc/init.d/cim_sfcb stop
/etc/init.d/webgo stop
Это все еще оставляет мне веб-сервер с контролем доступа на основе паролей (я не вижу способа проверить его на клиентских сертификатах) и кто знает, какие удаленные уязвимости. Выключение, когда я им не пользуюсь (что происходит чаще всего), кажется разумным решением; добавление записи в crontab для выключения каждые пять или десять минут может привести к тому, что кто-то забудет выключить его, когда закончит.
Ssh daemon - это версия dropbear, которая выглядит довольно сильно модифицированной. Он считывает имена пользователей и незашифрованные пароли /conf/PMConfig.dat
(которые также используются веб-сервером), регистрирует любое действительное имя и пароль от имени пользователя root и игнорирует ~/.ssh/authorized_keys
файл. Эта последняя проблема раздражает; он вынуждает вас разрешить вход в систему с паролями и открывает возможность бэкдоров в зависимости от того, откуда он получает свои имена и пароли.
Итак, перед вами стоит дилемма: насколько вы действительно доверяете этому модифицированному демону ssh, установленному в системе, которая, очевидно, была разработана разработчиками-наивными разработчиками? Совсем немного, учитывая количество разбитых битков, которые я видел в их сценариях оболочки. Существуют необычные соглашения об именах (/etc/rc?.d/sshd - это символическая ссылка на /etc/init.d/ssh), огромный объем кода, который кажется неиспользуемым, и функции только в сценарии запуска ssh, такие как /conf/portcfg_ssh
файл и даже restart
команда полностью нарушены. (Не пытайтесь использовать их; sshd не будет перезагружаться, и вы будете испорчены, если у вас нет существующего имени пользователя. Мы перезагрузили BMC и в итоге пришлось его перепрошить.)
Наилучший вариант, который я могу придумать, если кто-то вообще собирается его использовать, - это запустить ssh на альтернативном порту, используя задание cron, так что, по крайней мере, он менее вероятен в portcancan.
Последний компонент - порты управления сетью IPMI; Я не вижу, как их отключить.