Из-за серьезной уязвимости я перекомпилировал apache с неуязвимым последним openssl (мне пришлось оставить старый уязвимый openssl из-за некоторой проблемы с зависимостями). Он работает нормально, и при выполнении теста heartbleed для mydomain.com он говорит: «Кажется, исправлено или нет». Но если я сделаю apachectl graceful
и пройти тест на heartbleed, он говорит, что mydomain.com уязвим. Если я сделаю /usr/local/etc/rc.d/apache2 restart
или apachectl restart
нет проблем.
1) Мой вопрос в том, почему при выполнении требуется старая библиотека openssl apachectl graceful
только?
2) В чем разница между apachectl restart
и apachectl graceful
при доступе к библиотекам openssl?
Нет разницы между apachectl restart
и graceful
с точки зрения загрузки библиотек. apachectl graceful
отправляет сигнал SIGUSR1 вместо SIGTERM, чтобы открытые соединения имели возможность закрыться, а не прерваться. видеть страница руководства apachectl
В вашей системе может быть 2 установки apache. Если apache был установлен через ваш диспетчер пакетов, и вы не удалили его до перекомпиляции, это может объяснить странные результаты тестирования. Вы можете запустить apache с /usr/local/etc/rc.d/apache2 restart
который запустит ваш перекомпилированный экземпляр. Затем, когда вы использовали apachectl
что на самом деле /usr/sbin/apachectl
он запустил вашу уязвимую установку, и вы не прошли проверку.