Безопасность FreeBSD сервера

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
vindi4i
проходил мимо
Сообщения: 1
Зарегистрирован: 2007-10-06 11:45:58

Безопасность FreeBSD сервера

Непрочитанное сообщение vindi4i » 2007-10-06 11:48:07

Привет всем. Я пишу диплом по FreeBSD серверу. Задача следующая: поставить шлюз на FreeBSD и что самое важное установить программу, которая при попытке атаки на сервер отправляла бы емейл системному администратору. Если кто-то сталкивался с подобными задачами - напишите плиз несколько вариантов такой программы(если есть возможность с сылками). Если у кого-нибудь есть информация о настройке шлюза под фряку скиньте плиз на мыло:vindi4i@gmail.com, а то в книгах описано далеко не всегда так точно, как бы хотелось. Всем спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kmb
лейтенант
Сообщения: 680
Зарегистрирован: 2007-02-20 8:30:03
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение kmb » 2007-10-06 14:50:33

Странная какая-то у тебя дипломная)) Ну атаки разные бывают, и нету такой универсальной программы которая все виды атаки распознавала и сообщала об этом)
truth is out there...

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-06 15:31:15

Насколько я знаю в книгах написано ipfw add allow ip from any to any. Атаки ? Бред какой-то. Ну пару тысяч в день китайских ботов стукнется в SSH, да мне не жалко :) Apache ? Так PHP скрипты я сам писал, там preg_replace(); отметается любая "атака", более того он в клетке

Аватара пользователя
-cat-
сержант
Сообщения: 202
Зарегистрирован: 2007-07-31 0:05:56
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение -cat- » 2007-10-06 15:36:04

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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-06 16:07:43

Попробую представить себя хакером:

Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.

Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.

Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.

После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.

Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.

И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
romzes
мл. сержант
Сообщения: 85
Зарегистрирован: 2007-09-05 22:17:34
Откуда: Київ
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение romzes » 2007-10-06 16:21:34

Это тебе поможет:
http://ipfw.ism.kiev.ua/bezop.html
TMTOWTDI

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-06 16:24:30

Из статьи:
Для защиты от хакерских атак необходимо знать и понимать методы, используемые хакерами.
Ай да молодец я. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-06 20:12:12

dikens3 писал(а):Попробую представить себя хакером:

Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.

Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.

Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.

После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.

Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.

И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ? nmap - детсад, ну просканирует пусть, так я и сам могу сказать какая у меня ОС и демоны запущены :)

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-06 20:25:09

Атаки говорите :) да это как 2 пальца извиняюсь обоссать. Четвертый сайт по счету, где я нашел MySQL Injection (перебирая именно по MI) за час (!). Это не зависит от платформы.http://www.forcom.ru/index.php?sub='36223 введите в браузере. А теперь напишите скрипт на bash том же, который отправит 100 запросов такого вида туда http:// http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))

MySQL сервер хостинг провайдера умрет от DOS такой. А вы все про атаки какието...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение Alex Keda » 2007-10-06 22:25:10

reLax писал(а):Атаки говорите :) да это как 2 пальца извиняюсь обоссать. Четвертый сайт по счету, где я нашел MySQL Injection (перебирая именно по MI) за час (!). Это не зависит от платформы.http://www.forcom.ru/index.php?sub='36223 введите в браузере. А теперь напишите скрипт на bash том же, который отправит 100 запросов такого вида туда http:// http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))

MySQL сервер хостинг провайдера умрет от DOS такой. А вы все про атаки какието...
да... это как раз то, чего я больше всего боялся когда писал сайт...
кстати - универсального решения, кроме addslashes да не забывать просталять кавычки - нет?
Убей их всех! Бог потом рассортирует...

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 8:15:18

lissyara писал(а):
reLax писал(а):Атаки говорите :) да это как 2 пальца извиняюсь обоссать. Четвертый сайт по счету, где я нашел MySQL Injection (перебирая именно по MI) за час (!). Это не зависит от платформы.http://www.forcom.ru/index.php?sub='36223 введите в браузере. А теперь напишите скрипт на bash том же, который отправит 100 запросов такого вида туда http:// http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))

MySQL сервер хостинг провайдера умрет от DOS такой. А вы все про атаки какието...
да... это как раз то, чего я больше всего боялся когда писал сайт...
кстати - универсального решения, кроме addslashes да не забывать просталять кавычки - нет?
Ну почему же нет ? Вот смотри, у тебя же все переменные $_GET состоят из цифр. Так ? Заюзай функцию preg_replace(); например для удаления всех знаков, не отвечающих требованию ^[^0-9]$ в глобальном массиве $HTTP_GET_VARS перебором этого массива функцией foreach(); например. И сделай инклуд например в каждый файл. ХЗ, Лис, я давно на PHP ничего не писал, просто не помню уже всего этого чтобы рабочую функцию тут дать :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение Alex Keda » 2007-10-07 8:38:58

да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
Убей их всех! Бог потом рассортирует...

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 9:04:35

lissyara писал(а):да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
Почему индивидуальные ? Разрешить Regex'ом только разрешенные символы в адресной строке и все :) Уж там явно кавычки быть не может ;)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-07 9:51:22

За пример сразу спасибо - очень интересен будет.
http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
Не, ну детсад ей богу.

При получении всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535

И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
На шлюзе изнутри все банится, то что не разрешено.
Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 10:20:38

dikens3 писал(а):За пример сразу спасибо - очень интересен будет.
http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
Не, ну детсад ей богу.

При получении всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535

И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
На шлюзе изнутри все банится, то что не разрешено.
Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает.
=O Чем проверяются, неужели самим препроцессором PHP ?:) не знаешь PHP не говори. Проверь-$_GET[$a]=""; в теперь в браузере набери http://www.domain.com/index.php?a=<script>alert ('хехе');</script> при условии register_globals=ON. проверяет непосредственно вэбмастер !
про знаки я уж промолчу твои, бред интерпретировать количество портов системы в GET запросы браузера (любые между прочим, необязательно цифры).
Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-07 10:56:25

Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_
Причём тут занят. Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?

По остальному не понял что хочешь мне сказать.

Код: Выделить всё

http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
Теперь обработаем sub ограничением в 5 знаков
В переменной $_GET['sub'] будет BENCH

И что это тебе даст?
Далее смотрим, только цифры? Нет. Блок на сутки IP-Адреса.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 15:35:48

dikens3 писал(а):
Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_
Причём тут занят. Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?

По остальному не понял что хочешь мне сказать.

Код: Выделить всё

http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
Теперь обработаем sub ограничением в 5 знаков
В переменной $_GET['sub'] будет BENCH

И что это тебе даст?
Далее смотрим, только цифры? Нет. Блок на сутки IP-Адреса.
Подожди, я ваще не понимаю о чем ты речь ведешь.При чем здесь трояны вообще ? Ну лезет на 80, так же и на 25-й может лезть, да куда угодно. При чем тут они ?
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-07 15:56:21

Про трояны ты начал:
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ?
А я пояснил работу троянов.
Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
Если только цифры, тогда ничего. А вот откуда там возьмутся буквы? Как появятся аномалии - блок. Что-то ещё нужно рассказать?

И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 16:39:23

dikens3 писал(а):Про трояны ты начал:
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ?
А я пояснил работу троянов.
Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
Если только цифры, тогда ничего. А вот откуда там возьмутся буквы? Как появятся аномалии - блок. Что-то ещё нужно рассказать?

И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.

Про трояны ты начал - "Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает." :)
И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была

Аватара пользователя
-cat-
сержант
Сообщения: 202
Зарегистрирован: 2007-07-31 0:05:56
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение -cat- » 2007-10-07 16:48:17

Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение dikens3 » 2007-10-07 16:55:53

И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была
Заканчивая наше обсуждение приходим к выводу, необходимо проверять все входящие данные. (Пусть регулярными выражениями)
О чём мной и было сказано выше:
При получении всегда проверяются переменные.
И наполедок реальный пример из жизни:
Есть база c полями:
OID | ip | text |
777 | 192.168.1.4 | Привет |
888 | 192.168.2.4 | Привет |
999 | 192.168.3.4 | Привет |

Предположим:
В переменной sub у нас OID (Уникальный идентификатор) и допустим sub=777
Не помню переменную, но можно взять IP-Адрес подключившегося клиента. (ip)

Запрос:

Код: Выделить всё

select text from table where oid=sub and ip=ip;
Выбрать поле text из строки, где OID (тот самый sub) равен 777 (полученный из sub)

Поступающая переменная только одна (sub).
Вот как сломать такое?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 16:58:40

dikens3 писал(а):
И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была
Заканчивая наше обсуждение приходим к выводу, необходимо проверять все входящие данные. (Пусть регулярными выражениями)
О чём мной и было сказано выше:
При получении всегда проверяются переменные.
Да да, только проверяет их человек, непосредственно пишущий код. Больше добавить нечего про "взлом" через GET :)

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: Безопасность FreeBSD сервера

Непрочитанное сообщение reLax » 2007-10-07 17:06:55

-cat- писал(а):Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.
Почитал :) pf. Трудно конечно назвать безопасным с "10-ю" правилами пакетного фильтра роутером, но нормально...