Алексей Стахнов - Linux
Протоколы шифрования трафика
Для надежной (в плане безопасности) передачи данных в Интернете используются следующие методы и протоколы:
• SSL – Secure Sockets Layer, метод шифрования, разработанный Netscape для обеспечения безопасности в сети. Он поддерживает несколько различных протоколов шифрования и обеспечивает идентификацию как на уровне клиента, так и на уровне сервера. SSL работает на транспортном уровне и создает безопасный шифрованный канал данных. Чаще всего он используется при посещении пользователем защищенного Web-узла;
• S-HTTP – интернет-протокол, реализующий сервис безопасности;
• S/MIME – Secure Multipurpose Internet Mail Extension, стандарт шифрования, используемый в электронной почте или других типах сообщений в Интернете.
SSH
SSH (Secure Shell) – программа, позволяющая зарегистрироваться на удаленном сервере и иметь шифрованное соединение. SSH используется вместо устаревших и небезопасных утилит rlogin, rsh и rep. Применяемый протокол использует шифрование с помощью открытого ключа как для шифрования соединения между двумя машинами, так и для опознавания пользователей. Существует также несколько бесплатных реализаций SSH-клиентов для Windows.
РАМ
РАМ (Pluggable Authentication Modules) – унифицированный метод идентификации. Практически все современные приложения, которые используют идентификацию пользователя, имеют соответствующий модуль РАМ. Это позволяет пользователю «на лету» изменять методы идентификации, требования, инкапсулировать все локальные методы идентификации без перекомпиляции программ.
Вот что можно делать с РАМ:
• использовать различные алгоритмы шифрования для своих паролей;
• устанавливать лимиты на ресурсы для пользователей;
• «налету» активизировать теневые пароли (shadow password);
• разрешать определенным пользователям регистрироваться только в определенное время и/или из определенного места.
CIPE
CIPE – криптографическая IP-инкапсуляция, шифрует данные на сетевом уровне. Шифруются пакеты, которые передаются между компьютерами в сети. CIPE можно также использовать при тунелировании (tunnelling) для создания виртуальных частных сетей (VPN, Virtual Private Networks). Преимущество низкоуровневого шифрования состоит в том, что оно разрешает прозрачную работу между двумя сетями, соединенными в VPN, без каких-либо изменений в программном обеспечении.
Kerberos
Kerberos является идентификационной системой, разработанной по проекту Athena в Массачусетском технологическом институте (MIT). Kerberos представляет сервер идентификации, услугами которого могут пользоваться компьютеры, подключенные к сети. Таким образом нет необходимости заводить на всех компьютерах учетную запись пользователя. Очень часто используется при модемном соединении провайдерами, имеющими несколько удаленных площадок.
CFS и TCFS
CFS – криптографическая файловая система. Это метод шифрования всей файловой системы, позволяющий пользователям сохранять в ней зашифрованные файлы. Метод использует NFS-сервер, запущенный на локальной машине.
TCFS – прозрачная криптографическая файловая система, является улучшенным вариантом CFS, поскольку более интегрирована с файловой системой и, таким образом, прозрачна для всех пользователей, использующих зашифрованную файловую систему.
Безопасность ядра
Поскольку ядро контролирует поведение компьютера в сети, очень важно, чтобы ядро было максимально защищено от взломов. С этих позиций крайне желательно использовать последние стабильные версии ядер, а при компиляции ядра максимально исключить ненужные вам опции и драйверы устройств.
Устройства ядра
Устройства /dev/random и /dev/urandom служат для получения случайных чисел в любой момент времени. Эти числа используются в генераторах PGP-ключей (Pretty Good Privacy – общедоступная система кодирования информации с открытым ключом), SSH-вызовах и других аналогичных приложениях.
Устройство /dev/random является высококачественным генератором случайных чисел, основанным на временно-зависимых параметрах системы.
Работа устройства /dev/urandom подобна, однако она более быстра, но менее надежна.
Сетевая безопасность
Все наверняка слышали, как кто-то по сети взломал Web-cepвep и испортил его содержимое или украл номера кредиток. Таких случаев становится все больше, поэтому крайне важно обеспокоиться сетевой безопасностью. Не следует, однако, забывать, что атака может проистекать в равной мере как из Интернета, так и из внутренней сети фирмы, поэтому крайне неразумно защищать сеть от атак снаружи и ничего не предпринимать для защиты от атак из внутренней сети.
Packet Sniffers
Одним из наиболее общих методов взлома сетевых машин является применение сниферов (Packet Sniffer – в дальнейшем просто снифер – программа, позволяющая перехватывать сетевые пакеты, предназначенные для других компьютеров. Первоначально использовалась для анализа сетевого трафика) с уже взломанного компьютера вашей сети. Эта программа перехватывает все Ethernet-пакеты сети и сканирует их на наличие слов Password, Login или su. Таким образом без особых усилий взломщик получает множество паролей для систем, которые он даже и не пробовал пока взламывать. Поэтому крайне нежелательно использовать сетевые сервисы, передающие пароли в незашифрованном виде. Этот способ взлома напрямую связан с обеспечением физической безопасности, т. к. посторонний может просто принести с собой ноутбук и подключиться с его помощью к внутренней сети фирмы.
Использование SSH или других методов шифрования паролей сводит к нулю эффективность этого способа взлома.
Системные сервисы
Прежде чем подключить систему к сети, следует подумать, какие сервисы будут предоставляться системой. Чем меньше запущенных сервисов, тем меньше вероятность взлома системы. Можно также ограничить список компьютеров, для которых разрешено использование сервисов вашего компьютера. Для этого в файле /etc/hosts.allow необходимо прописать только те компьютеры, которым разрешено иметь доступ к сервисам на вашем компьютере. Для запрещения доступа «подозрительных» систем следует использовать файл /etc/hosts.deny. Также проверьте ваши каталоги /etc/rc.d/rcN.d на предмет наличия запуска сервисов, которые вам не нужны.
Однако нельзя огульно выбросить все, что, как вам кажется, не используется. К примеру, удаление сервиса в файле /etc/services приводит к тому, что локальный клиент также не сможет использовать этот сервис.
DNS
Поддержка достоверной DNS-информации о всех компьютерах в сети также помогает повысить безопасность. Зачастую при атаке производится подмена DNS-информации, что облегчает взломщику проникновение в систему.
identd
Программа identd фиксирует информацию о том, какой пользователь запускает какой TCP-сервис. С точки зрения повседневной жизни задача, вроде бы, бесполезная, однако выдаваемая ей информация может пригодиться при анализе взлома системы.
Сетевые сканеры
Существует целый класс программных пакетов, которые выполняют сканирование портов и сервисов в компьютерных сетях. Сетевые сканеры используются администратором системы для определения уязвимых мест системы, однако никто не мешает воспользоваться ими и злоумышленнику. Наиболее известными, хотя уже и устаревшими, представителями этого класса программ являются SATAN и ISS. SATAN (инструмент администратора безопасности для анализа сетей) является сканером портов с Web-интерфейсом. Он может быть полезен для выполнения легкой, средней или тщательной проверки машины или сети машин. ISS (сканер безопасности Интернета) также является сканером портов. Он быстрее чем SATAN, но SATAN предоставляет больше информации.
Электронная почта
Одним из наиболее важных сетевых сервисов является сервер электронной почты. К сожалению, это наиболее часто атакуемый взломщиками сервис, поскольку он уязвим просто из-за огромного числа задач, которые выполняет, и привилегий, которые ему обычно нужны. Поэтому крайне желательно обновлять свой сервер электронной почты.
«Отказ в предоставлении доступа»
Очень популярный в последнее время вид атаки. Смысл ее напоминает пословицу – «Сам не гам, и другому не дам». Взломщик пытается искусственно загрузить некоторые сервисы настолько, чтобы они не могли отвечать на запросы или запрещали доступ к вашей машине законным пользователям. Имеется несколько разновидностей такой атаки:
• SYN flooding – сетевая атака "отказ в предоставлении доступа". Использует преимущества «лазейки» (loophole) в методе создания ТСР-соединения. Последние версии ядер Linux имеют несколько конфигурационных настроек для предотвращения SYN Flooding-атак;
• Ping flooding – простая грубая реализация атаки "отказ в предоставлении сервиса". Взломщик посылает компьютеру «поток» ICMP-пакетов. Если атака происходит с компьютера с большей полосой пропускания, нежели имеет ваш компьютер, или с нескольких компьютеров одновременно, то ваша машина будет лишена возможности посылать что-либо в сеть. При вариации этой атаки, называемой «smurfmg», на определенный сервер посылается поток ICMP-пакетов с обратным IP-адресом вашей машины;