Службы
Цель состоит в том, чтобы работало как можно меньше служб. Если количество портов, открытых для внешнего мира, было сведено к минимуму, то это облегчит слежение. Если службы не могут быть отключены в локальной сети, постарайтесь хотя бы отключить их для внешних подключений.Эмпирическое правило таково, что если вы не узнаете конкретную службу, вы, вероятно, не нуждаетесь в ней. Также имейте в виду, что некоторые службы на самом деле не предназначены для использования через Интернет. Не полагайтесь на то, что запущено все, что должно быть запущено, проверьте, какие сервисы прослушиваются на TCP-портах, используя команду netstat:
[elly@mars ~] netstat -l | grep tcp tcp 0 0 *:32769 *:* LISTEN tcp 0 0 *:32771 *:* LISTEN tcp 0 0 *:printer *:* LISTEN tcp 0 0 *:kerberos_master *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:6001 *:* LISTEN tcp 0 0 *:785 *:* LISTEN tcp 0 0 localhost.localdom:smtp *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 ::1:x11-ssh-offset *:* LISTENЧего следует избегать:
- exec, rlogin, rsh и telnet просто на всякий случай.
- X11 на серверах.
- Отсутствие lp, если ни один принтер физически подключен.
- Нет MS Windows хостов в сети, не требуется Samba.
- Не допускайте FTP, если сервер FTP не требуется.
- Не позволяйте NFS и NIS через Интернет, отключите все сопутствующие службы на автономной установке.
- Не запускать MTA, если вы не находитесь на почтовом сервере.
- ...
Регулярное обновление
Способность быстро адаптироваться в постоянно меняющейся среде позволяет Linux процветать. Но это также создает вероятность того, что обновления безопасности выпускаются после того, как вы установили новую версию дистрибутива; поэтому первое, что нужно сделать (и это относится к любой ОС) после установки — получить и установить все доступные обновления.Некоторые обновления могут потребоваться новые конфигурационные файлы, а старые файлы могут быть заменены. Проверьте документацию и убедитесь, что все работает нормально после обновления.
Большинство Linux дистрибутивов предлагают сервисы списков рассылки для уведомления об обновлении безопасности и инструменты для применения обновлений к системе.
Обновление представляет собой непрерывный процесс, поэтому происходит почти ежедневно.
Брандмауэры и политики доступа
Что такое брандмауэр (фаервол)?
В предыдущем разделе мы уже упоминали возможности брандмауэра (межсетевого экрана) в Linux. Хотя управление им является одной из задач вашего сетевого администратора, вы должны знать некоторые вещи о фаерволах.Брандмауэр - не четко определенный термин, он может означать все, что действует как защитный барьер между нами и внешним миром, как правило, Интернет. Брандмауэр может быть встроенным в систему или отдельным приложением, которое обеспечивает подобную функциональность. Или это может быть сочетание компонентов, в том числе различные комбинации аппаратного и программного обеспечения. Межсетевые экраны построены из "правил", которые используются для определения того, чему позволено входить и/или выходить на данной системе или в сети.
После отключения ненужных служб, мы должны ограничить запущенные службы таким образом, чтобы позволить им только минимально необходимые соединения. Прекрасным примером является работа на дому: должно быть разрешено только строго определенное соединение между вашими офисом и дом, соединения с другими машинами в сети Интернет должны быть заблокированы.
Пакетные фильтры
Первой линией обороны является пакетный фильтр, который может просматривать содержимое IP-пакетов и принимать решения исходя из их содержания. Самым популярным является пакет Netfilter, предоставляющий команду iptables, следующее поколение пакетных фильтров для Linux.Один из самых примечательных усовершенствований в новых ядрах является способность проверять сохранность состояния, при этом сообщается не только о том, что находится внутри пакета, но и обнаруживается, если пакет принадлежит или связан с новым или существующим соединением.
Shoreline Firewall или Shorewall представляет собой интерфейс для доступа к стандартной функциональности брандмауэра в Linux.
Обертки TCP
Упаковка TCP обеспечивает во многом такие же результаты, как и фильтры пакетов, но работает по-другому. Обертка принимает попытки подключения, а затем проверяет файлы конфигурации и решает, следует ли принять или отклонить запрос на соединение. Она контролирует соединения на уровне приложений, а не на сетевом уровне.TCP-обертки, как правило, используются с xinetd для предоставления имени хоста и основанном на IP-адресе управлении доступа. Кроме того, эти инструменты включают регистрацию и использование возможностей управления, которые легко настроить.
Преимущества оболочек TCP в том, что подключившийся клиент не знает, что используются обертки, и что они работают отдельно от приложений, которые они защищают.
На хосте доступ контролируется в файлах hosts.allow и hosts.deny. Более подробную информацию можно найти в файлах документации обертки TCP в /usr/share/doc/tcp_wrappers[-/] или /usr/share/doc/tcp и в man-страницах для файлов контроля доступа хоста, там же содержатся примеры.
Прокси
Прокси-серверы могут выполнять различные задачи, и не все из них имеют непосредственное отношение к безопасности. Однако эти службы являются промежуточным звеном, которое делает прокси прекрасным местом для применения политики управления доступом, ограничения прямого соединения через брандмауэр и контроля того, как сеть после прохождения через прокси выглядит в Интернет.Обычно в сочетании с пакетным фильтром, но иногда и сами по себе, прокси-серверы обеспечивают дополнительный уровень контроля.
Доступ к отдельным приложениям
Некоторые серверы могут иметь свои собственные средства контроля доступа. Например, Samba, X Window, Bind, Apache и CUPS. Для каждой службы используются определенные файлы конфигурации.Файлы журналов
Во всяком случае UNIX-путь фиксации всех видов деятельности на всех видах файлов подтверждает, что "это что-то делает". Конечно, файлы журналов должны регулярно проверяться вручную или автоматически. Межсетевые экраны и другие средства контроля доступа, как правило, создают огромное количество log-файлов, так что проблема заключается в том, чтобы попытаться найти в них только ненормальную активность.Обнаружение вторжений
Системы обнаружения вторжений (Intrusion Detection Systems - IDS) предназначены поймать то, что, возможно, пропустил брандмауэр. Они могут также быть предназначены для улавливания активной попытки взлома или для обнаружения уже свершившегося вторжения. В последнем случае уже слишком поздно, чтобы предотвратить любое повреждение, но по крайней мере мы осознали проблему на ранней стадии. Существуют два основных типа IDS: защищающие сети и защищающие индивидуальные хосты.IDS хостов представляют собой утилиты, которые следят за файловой системой на предмет изменений. Системные файлы, которые так или иначе изменились, но не должны были меняться, привлекают к себе внимание. Это говорит о том, что кто-то вошел в систему с правами администратора, и вносит системные изменения.
Обнаруженное вторжений обрабатывается системой, которая видит весь трафик, который пропускает брандмауэр.
Дополнительные советы
Некоторые общеизвестные факты, которые следует иметь в виду:- Не входите в систему как администратор. Разработчики UNIX более двух десятилетий назад придумали команду su для дополнительной безопасности.
- Прямой доступ root всегда опасен и допускает человеческие ошибки, и не важно входите ли вы в систему как root или используете команду su. Поэтому вместо использования su, лучше использовать sudo для выполнения тех команд, которые требуют привилегий, и возвращаться потом к своей среде.
- Относитесь к паролям серьезно. Используйте теневые пароли. Регулярно изменяйте пароли.
- Старайтесь всегда использовать SSH или SSL. Избегайте telnet, FTP, E-mail клиентов и других клиентских программ, которые отправляют незашифрованные пароли по сети. Важно не только обеспечить безопасность вашего компьютера, но и безопасность ваших паролей.
- Ограничьте ресурсы с помощью quota и/или ulimit.
- Проверяйте подлинность нового ПО, берите его из надежного места/сайта. Проверьте новые пакеты перед установкой.
- При использовании непостоянного подключения к Интернет, отключайте его, как только вам оно больше не нужно.
- Запускайте личные службы на незанятых портах, а не тех, которые ожидают возможных атак хакеров.
- Знайте вашу систему. Спустя какое-то время вы сможете почти чувствовать, когда что-то происходит.
Меня хакнули?
Как вы можете об этом догадаться? Это контрольный список подозрительных событий:- Таинственные открытые порты, странные процессы.
- Системные утилиты (часто используемые команды) ведут себя странно.
- Войти в систему проблемно.
- Необъяснимое использование пропускной способности сети.
- Поврежденные или отсутствующие файлы журналов, странное поведение демона syslog.
- Интерфейсы в необычных режимах.
- Неожиданно изменение конфигурационных файлов.
- Странные записи в файлы истории оболочки.
- Неизвестные временные файлы.
Восстановление после вторжения
Итак, сохраняйте спокойствие. Затем выполните следующие действия в указанном порядке:- Отключите компьютер от сети.
- Постарайтесь выяснить, насколько это возможно то, каким образом безопасность была нарушена.
- Создайте резервную копию важных несистемных данных. Если это возможно, сравните эти данные с существующими резервными копиями, сделанными до того как системы была взломана, для обеспечения целостности данных.
- Переустановите систему.
- Используйте новые пароли.
- Восстановление резервные копии данных.
- Примените все доступные обновления.
- Пересмотреть систему: заблокируйте ненужные службы, проверьте правила брандмауэра и другие политики доступа.
- Подключитесь к сети.