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

Как заблокировать веб-сервер Ubuntu 12.04

Все мои серверы только что были взломаны, и теперь я готов начать блокировку своих веб-серверов. В настоящее время они работают под управлением Ubuntu 12.04 с

Понятия не имею, как их взломали. Какие рекомендации помогут снизить вероятность повторной потери серверов?

Когда у вас так много технологий, трудно сказать конкретные проблемы, на которые следует обратить внимание с каждым инструментом. В общем, для каждого из них выполните поиск в Google lock down <technology> ubuntuи прочтите первые пять-десять результатов. Выполнение этих действий для каждой из ваших служб должно значительно снизить уязвимость вашей системы.

Ниже приведены некоторые общие вещи, о которых вы можете подумать / сделать. Поскольку ваш вопрос довольно широкий, я думаю, что работы уже будет много. Ведение вкладок на ServerFault и http://security.stackexchange.com/ также повысит вашу осведомленность.

  • Осведомленность о ваших сетевых сервисах

Полностью осознавайте все, что подвергается воздействию внешнего мира. Я заметил, что ты не упомянул ssh, что может означать, что есть другие службы, которые вы используете, но не упомянули. Бегать netstat -lntp и посмотрите, есть ли какие-либо службы, о которых вы не подозревали, и удалите / убейте их, если они не нужны.

  • Межсетевые экраны

Учиться iptables чтобы вы могли контролировать входящий и исходящий сетевой трафик на свои машины. Например, вы можете занести в белый список только порты 80 и 443, если хотите иметь только веб-трафик. Вы получаете больше контроля, чем если бы вы просто отключили каждую службу, работающую с использованием портов, потому что вам может потребоваться использовать порты и ваш петлевой интерфейс, чтобы службы на одной машине соединялись друг с другом.

Например, php может потребоваться связь с redis, и вы можете сделать это через интерфейс обратной связи. Вы можете разрешить входящим соединениям redis только через интерфейс обратной петли, не позволяя внешним машинам подключаться к порту redis.

  • Песочница

Это относится к глубокоэшелонированной защите. Настройте свои службы так, чтобы использование одной службы имело низкий шанс повлиять на другие службы или остальную часть вашего компьютера. Одно из действий, которое вы можете предпринять, - создать отдельную учетную запись пользователя для запуска каждой службы. Если злоумышленник нарушит работу этой службы, чтобы получить оболочку, он может получить привилегии только одного не очень привилегированного пользователя. В этих руководствах по блокировке для каждой службы будет рассказано, как это сделать.

  • логирование

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

Например, вы заметили, что кто-то взломал и были изменены файлы, которые не должны были быть изменены. Проходя через ваш auth.log, вы заметили, что было несколько десятков тысяч попыток войти на ваш компьютер через ssh, которые в конечном итоге завершились успешным входом. Тогда вы понимаете, что ваш пароль состоит всего из пяти символов, и вам, вероятно, следует его изменить.

  • Обнаружение вторжений и предотвращение вторжений

Похоже, в чем вам поможет ведение журнала, но более автоматизировано. Изучите программное обеспечение IDS и IPS, например http://www.snort.org/ или http://www.tripwire.com/. Приятно, когда у тебя есть инструменты, которые кричат ​​тебе, что тебя атакуют.

Надеюсь, что эти общие советы помогут, и имейте в виду, что есть много других вещей, которые вы можете сделать, чтобы защитить себя (о чем вы узнаете со временем, если будете достаточно часто посещать serverfault и itsecurity :)).