Безопасность FreeBSD сервера
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2007-10-06 11:45:58
Безопасность FreeBSD сервера
Привет всем. Я пишу диплом по FreeBSD серверу. Задача следующая: поставить шлюз на FreeBSD и что самое важное установить программу, которая при попытке атаки на сервер отправляла бы емейл системному администратору. Если кто-то сталкивался с подобными задачами - напишите плиз несколько вариантов такой программы(если есть возможность с сылками). Если у кого-нибудь есть информация о настройке шлюза под фряку скиньте плиз на мыло:vindi4i@gmail.com, а то в книгах описано далеко не всегда так точно, как бы хотелось. Всем спасибо.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
- Контактная информация:
Re: Безопасность FreeBSD сервера
Странная какая-то у тебя дипломная)) Ну атаки разные бывают, и нету такой универсальной программы которая все виды атаки распознавала и сообщала об этом)
truth is out there...
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Насколько я знаю в книгах написано ipfw add allow ip from any to any. Атаки ? Бред какой-то. Ну пару тысяч в день китайских ботов стукнется в SSH, да мне не жалко Apache ? Так PHP скрипты я сам писал, там preg_replace(); отметается любая "атака", более того он в клетке
- -cat-
- сержант
- Сообщения: 202
- Зарегистрирован: 2007-07-31 0:05:56
- Контактная информация:
Re: Безопасность FreeBSD сервера
Вопрос на самом деле очень не простой. Что понимать под атакой- пожалуй ключевое определение. К примеру пингование хоста ещё не есть атака, так же как попытка подключится к какому нибудь открытому сервису, сканирование портов так же еще не есть атака, а вот попытка подбора пароля - это однозначно атака.
Соответственно однозначных решений нет.
Соответственно однозначных решений нет.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
Попробую представить себя хакером:
Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.
Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.
Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.
После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.
Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.
И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.
Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.
Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.
После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.
Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.
И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
- romzes
- мл. сержант
- Сообщения: 85
- Зарегистрирован: 2007-09-05 22:17:34
- Откуда: Київ
- Контактная информация:
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
Из статьи:
Ай да молодец я. :-)Для защиты от хакерских атак необходимо знать и понимать методы, используемые хакерами.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ? nmap - детсад, ну просканирует пусть, так я и сам могу сказать какая у меня ОС и демоны запущеныdikens3 писал(а):Попробую представить себя хакером:
Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.
Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.
Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.
После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.
Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.
И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Атаки говорите да это как 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 такой. А вы все про атаки какието...
MySQL сервер хостинг провайдера умрет от DOS такой. А вы все про атаки какието...
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Безопасность FreeBSD сервера
да... это как раз то, чего я больше всего боялся когда писал сайт...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 да не забывать просталять кавычки - нет?
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Ну почему же нет ? Вот смотри, у тебя же все переменные $_GET состоят из цифр. Так ? Заюзай функцию preg_replace(); например для удаления всех знаков, не отвечающих требованию ^[^0-9]$ в глобальном массиве $HTTP_GET_VARS перебором этого массива функцией foreach(); например. И сделай инклуд например в каждый файл. ХЗ, Лис, я давно на PHP ничего не писал, просто не помню уже всего этого чтобы рабочую функцию тут дать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 да не забывать просталять кавычки - нет?
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Безопасность FreeBSD сервера
да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
я про глобальность, а не разбирать индивидуальные случаи ...
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Почему индивидуальные ? Разрешить Regex'ом только разрешенные символы в адресной строке и все Уж там явно кавычки быть не можетlissyara писал(а):да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
За пример сразу спасибо - очень интересен будет.
При получении всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535
И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
Не, ну детсад ей богу.http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
При получении всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535
И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает.На шлюзе изнутри все банится, то что не разрешено.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
=O Чем проверяются, неужели самим препроцессором PHP ?:) не знаешь PHP не говори. Проверь-$_GET[$a]=""; в теперь в браузере набери http://www.domain.com/index.php?a=<script>alert ('хехе');</script> при условии register_globals=ON. проверяет непосредственно вэбмастер !dikens3 писал(а):За пример сразу спасибо - очень интересен будет.Не, ну детсад ей богу.http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
При получении всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535
И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает.На шлюзе изнутри все банится, то что не разрешено.
про знаки я уж промолчу твои, бред интерпретировать количество портов системы в GET запросы браузера (любые между прочим, необязательно цифры).
Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
Причём тут занят. Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_
По остальному не понял что хочешь мне сказать.
Код: Выделить всё
http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
В переменной $_GET['sub'] будет BENCH
И что это тебе даст?
Далее смотрим, только цифры? Нет. Блок на сутки IP-Адреса.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Подожди, я ваще не понимаю о чем ты речь ведешь.При чем здесь трояны вообще ? Ну лезет на 80, так же и на 25-й может лезть, да куда угодно. При чем тут они ?dikens3 писал(а):Причём тут занят. Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?Да, троян может работать на 80-м порту локальной машины при условии что он не _занят_
По остальному не понял что хочешь мне сказать.Теперь обработаем sub ограничением в 5 знаковКод: Выделить всё
http://www.forcom.ru /index.php?sub=BENCHMARK(10000000,BENCHMARK(10000000,md5(current_date)))
В переменной $_GET['sub'] будет BENCH
И что это тебе даст?
Далее смотрим, только цифры? Нет. Блок на сутки IP-Адреса.
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
Про трояны ты начал:
И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.
А я пояснил работу троянов.Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ?
Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?
Если только цифры, тогда ничего. А вот откуда там возьмутся буквы? Как появятся аномалии - блок. Что-то ещё нужно рассказать?Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
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 сервера
Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Безопасность FreeBSD сервера
Заканчивая наше обсуждение приходим к выводу, необходимо проверять все входящие данные. (Пусть регулярными выражениями)И кстати в 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;
Поступающая переменная только одна (sub).
Вот как сломать такое?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Да да, только проверяет их человек, непосредственно пишущий код. Больше добавить нечего про "взлом" через GETdikens3 писал(а):Заканчивая наше обсуждение приходим к выводу, необходимо проверять все входящие данные. (Пусть регулярными выражениями)И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была
О чём мной и было сказано выше:При получении всегда проверяются переменные.
-
- лейтенант
- Сообщения: 638
- Зарегистрирован: 2007-04-08 5:50:16
Re: Безопасность FreeBSD сервера
Почитал pf. Трудно конечно назвать безопасным с "10-ю" правилами пакетного фильтра роутером, но нормально...-cat- писал(а):Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.