Я могу взять базовый дистрибутив Linux (стабильный сервер Ubuntu) и установить все, что мне нужно для запуска и работы моих веб-приложений. (Django, Rails, PHP и т.д.) Но после всего этого я был бы признателен за совет по безопасности.
Вот мой текущий контрольный список: 1. Измените назначенный мне пароль root. 2. Добавьте пользователя с правами администратора, чтобы мне не приходилось входить в систему как root. 3. Измените порт ssh на какой-нибудь случайный, который я придумал и требует ключа SSH 4. Настройте IPTables для блокировки почти всего, кроме (80, моего порта ssh и, возможно, пары других, в зависимости от
по требованиям)
Что теперь? Как мне поддерживать сервер в актуальном состоянии? Я действительно не хочу ежедневно читать список рассылки ubuntu-security-announce. Я просто хочу создавать веб-приложения.
Убедитесь, что вы настроили IPTables, чтобы также ограничивать ssh и все остальное, что не должно быть общедоступным для локальной подсети или определенных рабочих станций. Вы можете ограничить исходящий трафик а также, если вы работаете с более чем одним сервером, чтобы ограничивать ущерб в случае компромисса. apt-get update
для выполнения базовых обновлений, устанавливает из исходников нужно сделать самому. При установке из исходного кода файл README обычно сообщает вам то, что вам нужно знать, и часто есть матрицы миграции или руководства по обновлению. Во всяком случае, процедура почти всегда заключается в простой переустановке из исходного кода (./configure [options]
, make
, make install
)
Вы также можете сделать ограничение скорости с iptables, чтобы облегчить грубое принуждение и базовая DOS (Отказ в обслуживании). Вы, наверное, хотите убедиться, что вы УДАЛИТЬ(ing) пакеты вместо ОТКАЗАТЬ(ing) их в ваших iptables. Отклонить отправляет ответ отправителю что они были .... хорошо отвергнуты. Просто брось действует так, как будто он так и не получил пакет.
http://www.cyberciti.biz/faq/how-do-i-update-ubuntu-linux-softwares/
Пример ограничения скорости можно найти здесь:
Как долго длится заблокированное соединение от Iptables? Есть ли способ установить тайм-аут?
Я настоятельно рекомендую прочитать некоторые другие статьи на сайте выше. Вивек Гите довольно искусен в изложении основных моментов, и он много рассказывает о безопасности.
Добавление пользователя-администратора, чтобы вам не приходилось входить в систему вообще так как корень это минимальный выигрыш в безопасности - делать что-то от имени root - это нормально, если вы принимаете риск допустить, что ваши собственные ошибки будут больше, например, при случайном удалении / boot. Более важным является отключение входа root через SSH. (в / etc / ssh / sshd_config), поэтому получить root можно только su
или разрешить только физический доступ \ определенным пользователям возможность переключиться на root.
Я хочу подчеркнуть, что пользователь-администратор по-прежнему хорош как ступенька для входа в систему (например, ssh в качестве администратора, а затем переключитесь на root), просто создание пользователя-администратора, чтобы вам не приходилось входить в систему, немного напрасно в контексте безопасности.
Вы также можете заглянуть в брандмауэр приложения. Брандмауэры приложений защищают от различных атак более высокого уровня, чем что-то еще, например, IPTables, который работает с пакетами. Если вы используете Apache в качестве веб-сервера, Mod_Security2 (от Ivan Ristic) - хороший выбор.
Если вам нужно еще больше ловушек / средств защиты, вы можете заглянуть в Системы обнаружения вторжений, популярной из них является Snort.
Убедитесь, что у вас установлен антивирус. Хороший бесплатный - Clam AV.
Если вышеперечисленное превышает минимальные требования к вашей среде:
Прошлое это попадает в расплывчатый сложные детали, на которые вам нужно обратить внимание, например, убедиться, что права доступа к файлам и папкам не слишком свободны, плохо написанные программы не работают с правами root и т. д.