Страница 1 из 1
Безопасность FreeBSD сервера
Добавлено: 2007-10-06 11:48:07
vindi4i
Привет всем. Я пишу диплом по FreeBSD серверу. Задача следующая: поставить шлюз на FreeBSD и что самое важное установить программу, которая при попытке атаки на сервер отправляла бы емейл системному администратору. Если кто-то сталкивался с подобными задачами - напишите плиз несколько вариантов такой программы(если есть возможность с сылками). Если у кого-нибудь есть информация о настройке шлюза под фряку скиньте плиз на мыло:
vindi4i@gmail.com, а то в книгах описано далеко не всегда так точно, как бы хотелось. Всем спасибо.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 14:50:33
kmb
Странная какая-то у тебя дипломная)) Ну атаки разные бывают, и нету такой универсальной программы которая все виды атаки распознавала и сообщала об этом)
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 15:31:15
reLax
Насколько я знаю в книгах написано ipfw add allow ip from any to any. Атаки ? Бред какой-то. Ну пару тысяч в день китайских ботов стукнется в SSH, да мне не жалко
Apache ? Так PHP скрипты я сам писал, там preg_replace(); отметается любая "атака", более того он в клетке
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 15:36:04
-cat-
Вопрос на самом деле очень не простой. Что понимать под атакой- пожалуй ключевое определение. К примеру пингование хоста ещё не есть атака, так же как попытка подключится к какому нибудь открытому сервису, сканирование портов так же еще не есть атака, а вот попытка подбора пароля - это однозначно атака.
Соответственно однозначных решений нет.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 16:07:43
dikens3
Попробую представить себя хакером:
Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.
Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.
Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.
После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.
Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.
И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 16:21:34
romzes
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 16:24:30
dikens3
Из статьи:
Для защиты от хакерских атак необходимо знать и понимать методы, используемые хакерами.
Ай да молодец я. :-)
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 20:12:12
reLax
dikens3 писал(а):Попробую представить себя хакером:
Какова цель будущей атаки? Отказ в обслуживании? Похищение данных? И т.д.
Анализ атакуемой системы.
Определение типа ОС?
Пассивное:
Некогда писалось, что можно определить тип ОС на основании ответов и их изучения. (На тот же ПИНГ или просто зайдя на сайт как обычный пользователь).
Активное:
Различными анализаторами типа XSpider.
Nmap и т.д.
Определение открытых сервисов можно произвести как в активном, так и пассивном режимах.
После получения некоторой информации (возможно неверной :-) ) приступать к выяснению ПО и версий открытых сервисов. Поиск уязвимостей данного сервиса.
В случае WWW определение PHP и т.д.
Произвести атаку. (К примеру на форум автоматически писать сообщения, пока там место не закончится. :-) )
И т.д. Достаточно обширная область вобщем.
И самое важное, в случае цели - кража данных, наиболее выгодное - это заманить пользователя из внутренней сети (В которой хранятся данные) на спец. сайт и запустить ему троян. Или попросить установить что-нибудь. А потом уже дело в шляпе.
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ? nmap - детсад, ну просканирует пусть, так я и сам могу сказать какая у меня ОС и демоны запущены
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 20:25:09
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 такой. А вы все про атаки какието...
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-06 22:25:10
Alex Keda
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 да не забывать просталять кавычки - нет?
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 8:15:18
reLax
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 ничего не писал, просто не помню уже всего этого чтобы рабочую функцию тут дать
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 8:38:58
Alex Keda
да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 9:04:35
reLax
lissyara писал(а):да не - это-то понятно - сам так пишу - даже в функцию отдельную вынес...
я про глобальность, а не разбирать индивидуальные случаи ...
Почему индивидуальные ? Разрешить Regex'ом только разрешенные символы в адресной строке и все
Уж там явно кавычки быть не может
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 9:51:22
dikens3
За пример сразу спасибо - очень интересен будет.
Не, ну детсад ей богу.
При получении
всегда проверяются переменные.
Аля: sub это:
- Число
- С количеством знаков не более 5.
- Может быть от 1 до 65535
И вводи что хочешь. :-) (Особенно если лочить IP-Адрес на сутки после таких приёмов)
На шлюзе изнутри все банится, то что не разрешено.
Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 10:20:38
reLax
dikens3 писал(а):За пример сразу спасибо - очень интересен будет.
Не, ну детсад ей богу.
При получении
всегда проверяются переменные.
Аля: 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-м порту локальной машины при условии что он не _занят_
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 10:56:25
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-Адреса.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 15:35:48
reLax
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 от Марь Иванны ?
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 15:56:21
dikens3
Про трояны ты начал:
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ?
А я пояснил работу троянов.
Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на
http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
Если только цифры, тогда ничего. А вот откуда там возьмутся буквы? Как появятся аномалии - блок. Что-то ещё нужно рассказать?
И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 16:39:23
reLax
dikens3 писал(а):Про трояны ты начал:
Троян как правило занимает незанятый порт. На шлюзе изнутри все банится, то что не разрешено. Что будешь делать ?
А я пояснил работу троянов.
Попал в сеть троян (Занял любой порт на клиентском компе). Периодически лезет на
http://www.xxx.ru/troyan/index.php и качает инфу о своих действиях. Закроешь всем 80 порт наружу?
Ограничение в 5 знаков ? Ну и зачем ? Бан ? А если у тебя $_GET генерится из БД по id к примеру (возьмем случай только с цифрами), _например_ когда id - уникальный номер сообщения на форуме, тут сам понимаешь - номер может быть и 333 и 3333333 - id тут добавляется автоматом. И что, ты отправишь в бан за то, что человек захотел просмотреть сообщение под номером 3333333 от Марь Иванны ?
Если только цифры, тогда ничего. А вот откуда там возьмутся буквы? Как появятся аномалии - блок. Что-то ещё нужно рассказать?
И кстати, можно генерировать по OID (В postgresql - это уникальный идентификатор каждой строки), тогда можно действовать по усмотрению, блочить, прикалываться. :-)
Сам понимаешь, если ссылка идёт на OID, то генерируется только по реально существующему на данный момент.
Про трояны ты начал - "Уууу. Как всё запущено. Троян может работать по 80 порту? Лезть на какой-нибудь сайт и получать команды. Трояну не нужно, чтобы к нему подключались. Он сам это делает."
И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 16:48:17
-cat-
Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 16:55:53
dikens3
И кстати в 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).
Вот как сломать такое?
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 16:58:40
reLax
dikens3 писал(а):И кстати в MySQL есть тоже свой уникальный идентификатор. Строка GET запроса может состоять и не только из цифр. Считаю достаточным ограничить разрешенные символы в GET массиве регулярными выражениями, о чем тут и речь была
Заканчивая наше обсуждение приходим к выводу, необходимо проверять все входящие данные. (Пусть регулярными выражениями)
О чём мной и было сказано выше:
При получении всегда проверяются переменные.
Да да, только проверяет их человек, непосредственно пишущий код. Больше добавить нечего про "взлом" через GET
Re: Безопасность FreeBSD сервера
Добавлено: 2007-10-07 17:06:55
reLax
-cat- писал(а):Ребят вы тему топика не забыли?
Автору рекомендую посмотреть журнал "Системный администратор" №01-2003. Статья так и назвается: "Общий обзор наиболее часто применяемых техник компьютерных атак и методы защиты от них". Также можно посмотреть №10-2003.
По поводу настройки в принципе на сайте все что нужно, в сжатом виде можешь посмотреть статью "Настраиваем безопасный роутер на базе FreeBSD" опять же Системный администратор №06-2006.
Почитал
pf. Трудно конечно назвать безопасным с "10-ю" правилами пакетного фильтра роутером, но нормально...