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

На этот вопрос уже есть ответ здесь:

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

  • nginx 1.27
  • php5-fpm
  • php 5.4.14
  • mysql 5.5
  • postgresql 9.1
  • redis
  • proftpd
  • bind9
  • ssh

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

1
задан 15 April 2013 в 08:26
1 ответ

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

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

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

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

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

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

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

  • Sandboxing

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

  • Ведение журнала

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

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

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

Аналогично тому, в чем вам поможет ведение журнала, но более автоматизировано. Проведите небольшое исследование программного обеспечения IDS и IPS, например http://www.snort.org/ или http://www.tripwire.com/ . Это'

1
ответ дан 4 December 2019 в 00:43

Теги

Похожие вопросы