LINUX.ORG.RU
ФорумAdmin

Концептуальные пути взлома и защиты сервера интересуют


0

0

Есть много руководств и howto по безопасности, в которых разъясняется, ЧТО надо делать:
закройте то, не ставьте это, уберите лишнее, это настройте вот так и т.д.
Но вот я пока не встречал howto, в котором разъяснялись бы концепты, подобные нижеследующим.
Далее предполагается ОС Linux и что в настройке компонентов нет ошибок (администратора).
Локального физического доступа у нападающего нет, системных аккаунтов - тоже, DOS-атаки не рассматриваются.
Итак меня, как админа, интересуют три следующих ситуации и пути (теоретические и практические)
УДАЛЕННОГО (через сеть) взлома.
Кто владеет знаниями или ссылками на соответствующие источники - прошу прокомментировать, правильны ли эти рассуждения.

1. "Компьютер полностью изолированный firewall'ом"
  Компьютер, подключен к сети, на нем могут присутсвовать некие работающие сервисы и
  при помощи firewall полностью запрещен входящий и исходящий трафик
  (например iptables -P DENY/DROP для всех цепочек или явными правилами DENY/DROP в PREROUTING/POSTROUTING).
  Конечно его можно физически отключить от сети, но интересует именно когда он подключен.
  Я считаю что удаленный взлом системы невозможен (нет путей проникновения, не на что воздействовать).
  Теоретическая возможность появляется, только если есть грубая ошибка в сетевом коде ядра,
  позволяющая обойти firewall, т.е. некий пакет будет проходить дальше на обработку, несмотря на запрет.
  Только так появляется хотя-бы какая-то возможность воздействовать на что-то.
  Такое маловероятно. Т.е. я считаю такую машину невзламываемой удаленно.

2. "Маршрутизатор"
  Компьютер, подключен к сети, он выполняет роль МАРШРУТИЗАТОРА, на нем могут присутсвовать некие
  работающие сервисы и при помощи firewall полностью запрещен INPUT и OUTPUT трафик и разрешен только FORWARD.
  Ситуация примерно как в первом варианте, но чуть хуже. Непосредственно воздействовать на
  процессы (сервисы), работающие на машине невозможно, а можно только попытаться сконструировать
  некие пакеты использующие уязвимости в сетевом коде ядра и только.
  Если их там нет то и путей удаленного взлома маршрутизатора не существует.

3. "Компьютер, предоставляющий сервис"
  Компьютер, подключен к сети, на нем, для примера, работает SMTP-сервер tcp/25 и POP3-сервер tcp/110.
  При помощи firewall закрыто все (и все протоколы и все порты) кроме вот этих двух TCP-портов.
  Т.е. есть соответствующие ALLOW и ESTABLISHED.
  В данной ситуации, кроме как на сетевой код ядра, можно воздествовать ТОЛЬКО на эти два сервера.
  Т.е. если, теоретически, в этих сервисах нет уязвимостей, такую машину по прежнему нельзя взломать.
  Практическая возможность взлома, повляется только при наличии уязвимостей в одном из сервисов.
  Опять же, для собственной уверенности, в такой конфигурации, достаточно "контролировать" только эти пути взлома,
  так как они единственные.
Правильны ли эти рассуждения.
Спсб.

На вскидку несколько вариантов.

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

б) Атаки типа man-in-middle, которые могут привести к утечке чувствительной информации, что может совсем не лучше, чем прямой взлом машины.

3. Взлом возможен не только в случае, если есть ошибки в самих сервисах, но и в библиотеках и сторонних приложениях, которые данный демон может задейстовать. Пример - сервисы, которые используют какие-то определенные механизм авторизации. sasl,kerberos etc.

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

Valmont ★★★
()
Ответ на: комментарий от Valmont

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

Valmont ★★★
()
Ответ на: комментарий от Valmont

Общие уточнения. - Интересуют так сказать "точки входа" с точки зрения "крупных компонентов системы". Т.е. то что сервисы могут использовать какие-то библиотеки и в них есть уязвимости это понятно. Я предлагаю рассматривать сервис просто как единый компонент для анализа ("как одну дырку в стене").

- Больше интересуют потверждения постулируемой невзламываемости при отсутвии уязвимостей, чем взламываемости при наличии оноых.

- Утечку информации не учитывать. Т.е. различные косвенные последствия от подобных событий не интересуют (типа там потеря/утечка паролей и т.п.).

И по варианту 1. Я подразумеваю запрет и ИСХОДЯЩЕГО и ВХОДЯЩЕГО трафика, т.е. приложения, работающие на данном компе не могут что-то посылать/получать в сети/из сеть. Т.е. эта некая "закрытая firewall'ом (программно) коробка", в отличии от коробки, физически отключенной от сети.

gapsf2
() автор топика

Какой ешё концепт? Одни люди делают ошибки в коде прогамм и в настройке сервисов/оборудования, другие эти ошибки используют. Задача безопасника, соответственно, не делать ошибки, хотя бы, в настройках и по возможности пастись на security-рассылках ключевых приложений предприятия.

Здесь не существует панацеи и универсальных решений спасающих от всего. Единственное универсальное решение - не делать ошибок. По этому-то в HOWTO и описывают конкретные вещи.

Lego_12239 ★★
()
Ответ на: комментарий от Valmont

Это понятно - я имел ввиду копьютер в целом. Надо было озаглавить "Концептуальные пути взлома компьютера интересуют". Просто я пошел от "максимально закрытой системы" (1) до "реально использующегося варианта" (2) и (3).

gapsf2
() автор топика
Ответ на: комментарий от Lego_12239

Я панацеи и не ищу. Вопрос не об этом. Вот скажите, мне пожалуйста, как можно взломать (т.е. получить shell или выполнить на нем произвольный код) вариант номер 2, если:

a) предположить что в сетевом стеке нет уязвимостей б) предположить что в сетевом стеке есть уязвимость

gapsf2
() автор топика
Ответ на: комментарий от gapsf2

Да, миллион вариантов в зависимости от _конкретных_ версий и разновидностей приложений и ОС :-). Что на шлюзе, какие настройки, какие приложения, какие версии? Просто то, что Вы называете концептом - это наиболее часто встречающиеся часности.

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

В каждом конкретном случае, рассматриваются конкретные приложения/системы/ОС, а не сферические кони в вакууме.

Lego_12239 ★★
()

Это не совсем подходит под описанные Вами условия, но всё же:

ftp://ietf.org/rfc/rfc3128.txt

А? Каково? И кто бы ждал ошибку от туда...

Lego_12239 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.