11419-1 (Безопасность Linux. Удаленные атаки)

2016-07-31СтудИзба

Описание файла

Документ из архива "Безопасность Linux. Удаленные атаки", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "11419-1"

Текст из документа "11419-1"

Безопасность Linux. Удаленные атаки

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

Я не буду описывать то, что пароль может быть просто подобран или увиден на листочке, который вы забыли на работе. Пароли следует делать легкими для запоминания, однако наиболее сложными для подбора(использовать цифры, буквы разных регистров и спецсимволы; длинной от 9 до 14 символов). Так же лучше запретить подключение с помощью пользователя root с удаленного компьютера (файл etc/security)

Default

Не забывайте изменять настройки, которые стоят по умолчанию. Не следует оставлять пароли 12345 на какой-нибудь сервис. Ненужные папки из веб-сервера (например документы по нему), следует удалить.

Для получения подробной информации настроек "по умолчанию" лучше смотреть в мануал используемого Вами ОП.

DoS и DDoS

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

Сканирование мною специально для этой статьи 100 сравнительно крупных сайтов показало, что 92 из них подвержены "легкому" (достаточно даже небольшого кол-ва компьютеров, а иногда даже одного) Dos.

Я также хочу упомянуть о том, что существует атака-smurf: компьютер отправляет запрос(ping) на несколько крупных серверов с подложным адресом отправителя(адрес жертвы), после чего каждый компьютер отправляет ответ жертве. Легко понять, что таким образом жертву очень легко вывести из строя. Программу для использования могу посоветовать nemesis.

Лично я советую отключать службы echo, chargen и парочку других служб. Для этого закомментируйте несолько строк в etc/inetd.conf

Желательно также поставить firewall и ограничить кол-во возможных запросов с удаленных компьютеров.

Противостоять нескольким сотням компьютеров, засылающих сервер практически невозможно (даже при недавней атаке novarg на www.microsoft.com последний не отвечал на запросы)

Sniffers

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

К сожалению (а для кого-то к счастью), многие службы передают информацию в незашифрованном виде. Это относится к таким известным и часто используемым вещам, как telnet, http и ftp.

Единственным спасением может быть коммутатор, (существует еще концентратор) т.к. коммутатор позволяет отправить нужную информацию прямиком на необходимый компьютер.

Приводить примеры и описание снифферов я здесь приводить не буду, т.к. таких статей очень много (www.dago.org, www.xakep.ru и др.).

Buffer Overflow

Ну это общеизвестная ошибка некомпетентности программистов.

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

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

etc/exports и etc/dfs/dfstab

Используется этот файл для указания того, какой компьютер имеет право смонтировать себе удаленную файловую систему.

В ранних версиях использовался файл etc/exports, в более новых - etc/dfs/dfstab.

Если администратор забыл или поленился изменить параметры этого файла, то злоумышленник может без проблем смонтировать себе жесткий диск своей жертвы простой командой

root@localhost: mount hostname:file system(nfs for example) directory_he_need

Убрать возможность подобного взлома можно запретив firewallом порт 2049. Следует так же отредактировать файл экспорта так, чтобы не все компьютеры имели право это сделать, а те, что могли бы, монтировали бы только необходимые им данные (а не папку etc/passwd).

Кому доверять?

Необходимо запретить всех хостам, кроме указанных подключаться к Вашей машине. Делается это благодаря редактированию файлов etc/hosts.allow и etc/hosts.deny

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

Сделать ему это иногда может быть просто(подменить refer при обращении).

Такой же обман может быть применен к NFS и NIS.

Лучше избегать использование telnet и ftp, а пользоваться современным ssh. Данный протокол лучше защищен криптографически и его процесс идентификации оставит злоумышленнику намного меньше шансов обмануть вас. NFS лучше заменить AFS, а NIS использовать как можно меньше.

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

Желательно поставить firewall.

Теперь о том, как надо настраивать firewall.

а)Во-первых, необходимо проверить, включен ли tcpd (именно он работает с файлами hosts.allow и hosts.deny). Для этого рассмотрим файл etc/inetd.conf. К каждой строке, где указывается включение службы должен стоять такой фрагмент:

/usr/sbin/tcpd

Кстати, расскажу подробнее про inetd. Данный демон запускает различные сетевые службы (telnet и др.) при запросе к ним, он указывает к какому порту они подключены и необходим для работы в сети.

Файл hosts.allow лучше настроить так:

All: 127.0.0.01

All: компьютеры, которым вы доверяете.

Файл hosts.deny настраивается аналогично.

В новую версию inet - xinet уже встроен такой проверщик. Для работы с ним лучше почитайте документацию.

К сожалению, не все службы запускаются через демон inetd. Однако они поддерживают запуск с tcpd. Рассмотрим пример на ssh. Для того, чтобы она запускалась с включенным tcpd необходимо запустить ее configure с ключом -with-tcp-wrappers Осталось только в hosts.allow (.deny) добавить строку:

sshd: имена_компьютеров_которым_можно_доверять

Что делать, если программный продукт не поддерживает tcpd? Мы же под linux! А линукс - синоним открытого исходного кода! Лично я бы не смог написать необходимый код, если бы не одна книга. Привожу листинг из нее:

// В начале заголовка программы необходимо разместить:

#ifdef USE LIBWRAP

#include

int allow_severity=LOG_NOTICE;

int deny_severity=LOG_WARNING;

#endif

// В функции, которая управляет соединением, добавим следующую

// строку при объявлении переменной:

#indef USE_LIBWRAP

struct request_info request;

#endif;

// После установки соединения, но перед выполнением каких-либо действий с данными:

#ifdef USE_LIBWRAP

request_init(&request, RQ_DAEMON, options.servername, RQ_file, local, 0);

fromhost(&request);

if (!hosts_access(&recuest)) {

log(LOG_WARNING, "Connection from %s:%d REFUSED by libwrap",

inet_ntoa(addr.sin_addr),ntohs(addr.sin_port));

log(log_debug,"See hosts_access(5) for detailes");

goto cleanup_local;

}

#endif;

// лично я разобрался с этим кодом, однако это заняло много времени,

// надеюсь это поможет и вам. (ком. автора статьи)

б)Вспомним вышеописанную возможность взлома благодаря dns. Нам необходимо выполнять обратное преобразование по ip: сначала tcpd проверит имя компьютера по адресу, а потом адрес по имени компьютера. Если ip-результат не совпадет с ip, который был указан изначально - злоумышленник не получит доступа. Для такой проверки необходимо скомпилировать tcpd с ключом -dparanoid (обычно он установлен по умолчанию, однако нельзя надеяться на default, надо быть точно уверенным).

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

г)Вспомним предыдущую статью. Для запрета traceroute и ping можно использовать встроенный набор правил ipchains.

Строка /sbin/ipchains -A input 0/0 echo-request -d ip.ip.ip.ip -p icmp -j DENY (я не объясняю здесь, что делает каждый параметр этой команды, так как набор правил ipchains достаточно велик, а прочитать его можно в мануале по linux).

д) Переходим к непосредственному описанию настройки firewall на основе ipchains.

-)/sbin/ipchains -p input deny //запрет всех входящих пакетов

-)/sbin/ipchains -a input -s 0/0 -d В.А.Ш.IP www -p tcp -j ACCEPT //разрешает прохождение пакетов на порт 80.

Вместо www может быть указана другая // служба(ftp,ssh);

-)/sbin/ipchains -a input -j deny -l //регистрируем то, что пакет был заблокирован.

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

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.bugtraq.ru/

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее