Электронная библиотека » Алексей Стахнов » » онлайн чтение - страница 14

Текст книги "Linux"


  • Текст добавлен: 14 ноября 2013, 04:55


Автор книги: Алексей Стахнов


Жанр: ОС и Сети, Компьютеры


сообщить о неприемлемом содержимом

Текущая страница: 14 (всего у книги 60 страниц) [доступный отрывок для чтения: 17 страниц]

Шрифт:
- 100% +
Пароли и шифрование

Стандартным атрибутом безопасности системы в наше время является пароль. Наиболее общие рекомендации по выбору паролей приведены ниже:

• длина пароля не должна быть менее, чем 8 символов;

• пароль должен состоять из букв, набираемых в разных регистрах, символов типа # $ @ /. , и цифр;

• не рекомендуется использовать что-либо обозначающие слова;

• желательно периодически изменять пароли.

Семейство Linux для шифрования паролей использует односторонний алгоритм шифрования, называемый DES (Data Encription Standard, стандарт шифрования данных). Хэши паролей затем сохраняются в файле /etc/shadow. Использование одностороннего алгоритма шифрования исключает возможность провести расшифровку /etc/shadow для получения паролей. Однако наличие у взломщика файла /etc/shadow значительно облегчает подбор пароля пользователя программами типа John the Ripper. На современных машинах шестисимвольный пароль подбирается этой программой за пару часов. РАМ-модули (такие как MD5 или подобные) позволяют использовать различные алгоритмы шифрования для паролей.

Протоколы шифрования трафика

Для надежной (в плане безопасности) передачи данных в Интернете используются следующие методы и протоколы:

• 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-адресом вашей машины;

• атака Ping о Death использует тот факт, что поступающие ICMP-пакеты ECHO REQUEST могут быть больше, нежели может вместить структура данных ядра, которая сохраняет эту информацию. Из-за приема единичного большого (65 510 байтов) ping-пакета многие системы зависали, поэтому эта атака быстро обрела свое название;

• Teardrop/New Tear – атака, основанная на ошибке, присутствующей в коде фрагментации IP в Linux– и Windows-платформах. Она была исправлена еще в ядре версии 2.0.33.

Безопасность NFS

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

Firewall

Firewall (брандмауэр, сетевой экран), используя определенный набор правил, ограничивает прохождение информации как внутрь, так и за пределы вашей локальной сети. Обычно компьютер, выполняющий роль брандмауэра, соединен с Интернетом и вашей локальной сетью, и доступ к Интернету из локальной сети выполняется только через него. Брандмауэр является полезным инструментом в обеспечении безопасности вашей сети. Однако не следует забывать о безопасности только из-за того, что у вас установлен брандмауэр. Если нарушитель прорвался через брандмауэр или действует изнутри сети, у него будет огромное поле деятельности.

Существует большое количество типов и методов организации брандмауэра. Более подробную информацию вы получите, прочитав великолепную книгу "Брандмауэры в Linux" (см. приложение 5).

Администрирование системы

После установки и настройки системы вы сделали ее настолько безопасной, насколько это было возможно. Теперь необходимо выполнить несколько действий, чтобы быть подготовленным на случай ее взлома или аварии.

Резервная копия системы

Администрированию и резервированию операционной системы посвящено много интересных публикаций, так что особо останавливаться на этом процессе мы не будем. Однако рассмотрим несколько общих соображений.

В настоящее время существует несколько малобюджетных вариантов резервирования системы:

• использование жестких IDE-дисков. Сегодня приличный жесткий диск емкостью 20 Гбайт стоит порядка восьмидесяти долларов. Как представляется, это небольшая плата за систему, которую отлаживали долго и упорно, а тем более, если в ней хранятся важные данные. Еще одно преимущество резервного копирования на жесткий диск – его можно сконфигурировать так, чтобы было достаточно подключить винчестер в сервер, и система практически сразу становится полностью работоспособна;

• использование привода CD-RW. Очень экономичный вариант. При стоимости одного диска CD-R менее шестидесяти центов, а диска CD-RW около доллара, это, пожалуй, самый экономичный вариант;

• использование привода DVD-RAM. Позволяет резервировать достаточно большие объемы данных;

• привод Zip. Удобен тем, что существует внешний вариант исполнения;

• привод Jazz. Емкость диска порядка одного гигабайта;

• накопители на магнитооптике. Существуют разные модели с разной емкостью дисков. Достаточно дороги;

• ленточные накопители. Существуют разные модели с разной емкостью. Достаточно дороги.

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

Режим резервирования

Существует несколько стратегий резервирования, и только вам решать, какая стратегия резервирования подходит. Достаточно универсальной является следующая стратегия:

• в конце рабочей недели делается полная резервная копия системы;

• в течение недели делается нарастающее резервирование системы (то есть резервируется изменение данных по сравнению с прошлым днем);

• при особо важных изменениях в системе резервная копия делается немедленно.

Однако достаточно часто используется резервирование не всей системы, а только особо важных данных (например, базы данных), но с совершенно другим интервалом (к примеру, каждый час).

Существуют специальные программные пакеты, позволяющие писать сценарии автоматизированного сохранения и восстановления данных. Для простых схем резервирования достаточно часто используются скрипты, написанные администратором системы.

Резервирование RPM-базы

При взломе системы взломщик обычно модифицирует для своих нужд несколько файлов, устанавливаемых при инсталляции из пакетов RPM. Если есть подозрение на взлом системы – одним из первых действий будет проверка целостности этих файлов. Однако, если работал опытный взломщик, велика вероятность того, что он подправит нужным ему образом базу установленных RPM-пакетов или, вообще, уничтожит ее. На функциональности системы отсутствие или повреждение базы установленных RPM-пакетов не влияет, но при этом теряется возможность проверки целостности установленных пакетов. Поэтому крайне желательно периодически копировать базу RPM (/var/lib/rpm/*) на съемный носитель и хранить его отдельно.

Для проверки целостности установленных пакетов можно воспользоваться командой


rpm -Va


Но не забывайте после установки или удаления пакетов обновлять резервную копию базы RPM.

Файлы регистрации

Первое, что делает опытный взломщик системы после успешного проникновения в нее – заметает следы. А поскольку ведутся специальные файлы регистрации пользователей в системе, подключений к сетевым сервисам и тому подобных событий, вполне очевидным действием взломщика является уничтожение или модификация файлов журналов. Поэтому крайне важно сохранить эти файлы в неприкосновенности. Начинать надо с ограничения списка пользователей, способных читать и писать в каталог /var/log.

Регулярно инспектируйте свои журнальные файлы. Большое количество неудачных попыток регистрации или сканирование портов с одного и того же компьютера может указывать на попытку вторжения. Чтобы узнать, где ваш дистрибутив ведет системные журналы, нужно посмотреть в файл /etc/syslog.conf, который указывает syslog, куца записывать различные сообщения. Если вы заметили, что в журнальных файлах кто-то похозяйничал, необходимо определить, когда это началось и каких процессов касалось. Лучше всего в такой ситуации восстановить журналы с резервных копий и определить момент взлома.

Можно настроить syslog так, чтобы он отсылал копию наиболее важных данных на безопасную систему. Это предотвратит попытки взломщика скрыть свою деятельность путем удаления информации о его действиях в системе. Более подробную информацию по syslog.conf можно найти на соответствующей странице помощи (man-странице).

Обновляйте операционную систему

Большинство систем Linux устанавливаются с компакт-дисков. Но жизнь не стоит на месте, выходят различные обновления и исправления программ. К примеру, к дистрибутиву Red Hat только официальных обновлений за четыре месяца набралось более ста тридцати мегабайт. И это далеко не все обновления! Однако в погоне за номером версии не стоит устанавливать самое свежее программное обеспечение. Есть одно неплохое правило «Работает – не трогай!» Нашли в программе ошибку – обновите. Хотите получить самую свежую версию программы – подождите неделю-другую после ее выхода. Пусть на грабли наступают другие. За это время наверняка в безопасности системы найдутся прорехи или в программе ошибки. Однако после обнаружения ошибки в безопасности программы, не затягивайте с ее обновлением – велик шанс, что вашу систему попытаются взломать, используя именно эту брешь.

Действия во время и после взлома системы

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

Нарушение безопасности

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

Если обнаружено вторжение в сеть, первым делом отсоедините вашу сеть. Если это представляется невозможным, запретите доступ из сети взломщика или заблокируйте пользователей в системе. После того как будет сделано что-либо из вышеперечисленного (отсоединена сеть, запрещен доступ из сети взломщика или заблокированы его учетные записи), следует ликвидировать все его пользовательские процессы.

Некоторое время после этого необходимо отслеживать состояние системы, поскольку попытка взлома может повториться, причем необязательно от имени этого же пользователя или с того же сетевого адреса.

Взлом системы произошел

Взлом обнаружен. Что дальше?

Закрытие бреши

Если вы четко знаете, каким образом взломщик проник в систему, постарайтесь сразу же закрыть эту брешь. К примеру, взлом произошел через сервер Samba. Самый простой выход – завершить процесс и отправиться в Интернет искать решение проблемы. Как правило, существует обновленная версия программы или какой-либо список исправлений известных ошибок.

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

Оценка повреждений

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

Так как Linux достаточно легко инсталлировать, рекомендуется создать специальный конфигурационный файл kickstart, содержащий список установленных в системе пакетов, который затем используется при инсталляции системы. А конфигурационные файлы следует заранее переписать. Рекомендуется также восстановить систему из резервной копии, поскольку наверняка резервная копия содержит важные данные. Однако нужно очень точно определить момент взлома системы, чтобы не случилось так, что восстановленная из резервной копии система уже содержит «закладки» взломщика.

Выслеживание взломщика

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

Опытные взломщики используют большое количество промежуточных, посреднических систем. Поэтому не стоит сразу предъявлять претензии администратору системы, откуда произошел взлом. Как говорят китайцы: "Не теряйте лицо". Будьте очень вежливы с администраторами других систем при выслеживании взломщика, и они сделают все возможное для его поимки.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации