Re[12]: В чем польза DMZ для защиты
От: GarryIV  
Дата: 04.09.17 09:08
Оценка:
Здравствуйте, Слава, Вы писали:

GIV>>Я вообще то про другое спрашивал но раз уж ты затронул эту тему расскажи как dmz не позволит шару создать на веб сервере.


С>Шару-то создадут. Но поскольку веб-сервер будет за внешним файрволлом(не на самом сервере), который разрешает обращение к серверу снаружи только по портам 80 и 443, то шара не будет доступна снаружи.


Ты путаешь DMZ и фаервол. Внешний фаервол есть в любом случае, безотносительно наличия DMZ и именно он оганичивает доступ по портам.
WBR, Igor Evgrafov
Re[10]: В чем польза DMZ для защиты
От: GarryIV  
Дата: 04.09.17 09:16
Оценка: :))
Здравствуйте, wildwind, Вы писали:

GIV>>И как DMZ поможет против sql injection?


W>Ты прикидываешься или на самом деле? Если нет доступа по сети, как ты будешь эксплуатировать sql injection? Во внутренней сети может быть десяток серверов с десятком сервисов на каждом. Sql injection может быть в любом из них.


ок, уговорили, DMZ помогает против SQL injection...
WBR, Igor Evgrafov
Re[13]: В чем польза DMZ для защиты
От: Слава  
Дата: 04.09.17 09:22
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Ты путаешь DMZ и фаервол. Внешний фаервол есть в любом случае, безотносительно наличия DMZ и именно он оганичивает доступ по портам.


Нет, не путаю. Просто оно идёт в комплексе, как например у защищенного SIP имеется SIP over TLS + SRTP, можно и по частям делать, но нет в этом смысла.
Re[3]: В чем польза DMZ для защиты
От: wildwind Россия  
Дата: 04.09.17 09:31
Оценка: +1
Здравствуйте, Stalker., Вы писали:

S>мой вопрос изначально касался аппсервера с бизнес логикой, не сервера базы данных.


Мой пример всего лишь один из примеров.

S> Каким образом выставив аппсервер наружу можно слить всю базу?


Разным. Понимаешь, infosec это не школьная математика, где все теоремы доказаны и все особые случаи давно рассмотрены в учебниках.
Например, аппсервер обычно подключается к базе от имени пользователя с весьма широкими правами, часто даже полными. А пароль этого пользователя часто лежит рядом, в конфиге. Подключился и сливай что хочешь. Или удаляй.

S>Ну хакнут аппсервер, получат доступ к методам бизнес-логики. Уровень взлома будет примерно таким-же, как и хакнутый веб сервер. В чем разница-то?


Совсем не таким же. На аппсервере можно выполнять действия с любыми аккаунтами, заметать следы и т.д.
С другой стороны, взломав веб-сервер, можно заняться фишингом. Везде свои угрозы.

Если вернуться к исходному вопросу, то смысл DMZ не в том, чтобы защитить конкретно аппсервер или сервер БД. А в том, чтобы изолировать всю внутреннюю сеть, защитить ее от проникновения через хосты в DMZ, которые определенно могут быть скомпрометированы.
Re[14]: В чем польза DMZ для защиты
От: GarryIV  
Дата: 04.09.17 10:01
Оценка:
Здравствуйте, Слава, Вы писали:

GIV>>Ты путаешь DMZ и фаервол. Внешний фаервол есть в любом случае, безотносительно наличия DMZ и именно он оганичивает доступ по портам.


С>Нет, не путаю. Просто оно идёт в комплексе, как например у защищенного SIP имеется SIP over TLS + SRTP, можно и по частям делать, но нет в этом смысла.


Понял, фаервол без ДМЗ безсмысленен, я много нового узнал сегодня.
WBR, Igor Evgrafov
Re: В чем польза DMZ для защиты
От: Candle  
Дата: 04.09.17 19:08
Оценка:
Здравствуйте, Stalker., Вы писали:

S>Предположим есть стандартная схема системы — общедоступный вебсайт, который в своем коде не имеет никакой логики и для доступа к бизнес-логике обращается к application серверу (скажем через WCF) спрятанному в локальной сети. Т.е. вроде как аппликейшн сервер находится в безопасности (как и база данных) в локальной сети и его типа не взломать.

S>Однако чем конкретно это безопаснее? Ведь если взломан пользовательский аккаунт на общедоступном сайте мы-ж все равно транзитивно получили доступ к бизнес-логике и сможем совершить какие-то действия с ним.

Если все сделано "по уму" — взламывать веб-сервер затея бессмысленная и (почти) бесполезная
— логики там практически 0 — распарсить/минимально отвалидировать запрос/куки, отправить его практически как есть на app server, получить его ответ и отрендерить его в HTML
— это отдельная VM, которых 3 и больше (обычно намного), работающая в режиме read-only (даже логи "пишутся" в сокет а не в FS) и рестартующая как регулярно так и вообще по каждому чиху — реальный пример: "забыли" выставить разные лимиты по пейджнгу для разных типов пользователей — рендер для обычного пользователя "взорвется по памяти" на тысячах записей и соотв копия веб-сервера будет прибита и перезапущена, а рендер site-map спокойно переварит и 100k
— взломав пользовательский аккаунт намного проще использовать штатный веб-интерфейс, чем подделывать/перехватывать все необходимые ID пользователя, сессии, и подписи для "особо-критических" обращений к app server-у
— даже возможность RCE на случайном веб-сервере не даст злоумышленнику никакого преимущества в сравнении с "если взломан пользовательский аккаунт"

S>Яркий пример — интернет-банкинг, я больше чем уверен что база данных с сервером бизнес логики в банках запрятана весьма глубоко, однако что-бы пользователь смог что-то делать со своим аккаунтом цепочка от веб браузера до базы данных должна все равно существовать.

S>Вопрос можно сформулировать более прямо, вот есть скажем метод MakePayment() в WCF или WebAPI апп сервере. Какую именно пользу мы получаем спрятав его в локальную сеть а не выставив наружу в интернет?

В отличии от общедоступного веб-интерфейса (веб сервера) — "web API" (app server)
— намного проще заДДОС-сить сравнительно небольшим количеством запросов
— отреверсить/найти ошибки позволяющие создавать проблеммы всем пользователям, "ронять" весь сервер в целом и т.д.
— в конце-концов веб-сервер "не жалко" — ресурсов почти не использует, автоматически мониторить и рестартовать значительно проще, рестартует считанные секунды и совершенно прозрачно для пользователей, самое худшее что с ним может случиться — временный дефейс одного из его инстанцов, который заметит только часть пользователей
— app sever же вещь намного более тяжеловесная, возможность "прозрачного" рестарта требует дополнительных усилий/программирования, сам рестарт тоже процесс небыстрый

По большому счету DMZ — дополнительный барьер на пути к гораздо-более уязвимому app-server-у и упрощение разработки app server.
Re[2]: В чем польза DMZ для защиты
От: Stalker. Австралия  
Дата: 04.09.17 23:36
Оценка:
Здравствуйте, Candle, Вы писали:

C>В отличии от общедоступного веб-интерфейса (веб сервера) — "web API" (app server)

C> — намного проще заДДОС-сить сравнительно небольшим количеством запросов
C> — отреверсить/найти ошибки позволяющие создавать проблеммы всем пользователям, "ронять" весь сервер в целом и т.д.
C> — в конце-концов веб-сервер "не жалко" — ресурсов почти не использует, автоматически мониторить и рестартовать значительно проще, рестартует считанные секунды и совершенно прозрачно для пользователей, самое худшее что с ним может случиться — временный дефейс одного из его инстанцов, который заметит только часть пользователей
C> — app sever же вещь намного более тяжеловесная, возможность "прозрачного" рестарта требует дополнительных усилий/программирования, сам рестарт тоже процесс небыстрый

C>По большому счету DMZ — дополнительный барьер на пути к гораздо-более уязвимому app-server-у и упрощение разработки app server.


так ведь аппсервер — это тоже вебсервер. Вот возьмем все тот-же MakePayment() пример. Вот есть у нас на вебформе кнопка Платеж. Она вызывает метод MakePayment_Click() на вебсервере, который просто перенаправляет полученное DTO в метод POST /payment {json body} на WebAPI внутри ДМЗ.
1) ДОС атаки — почему ДМЗ здесь поможет? Если пришло 1000 запросов — они просто перенаправились в аппсервер и он так-же также упадет как и без ДМЗ. Максимум что вебсервер сделает — автоматически отсечет невалидные запросы (обязательные поля или тип данных), но нет-же никаких проблем досить валидными запросами.
2) Найти какие-то ошибки в бизнес-логике — опять-же как нам тут ДМЗ помогло-то? Ошибка точно также будет видна и через вебсайт, он-же просто передаст ответ от аппсервера хакеру
3) Непонятно почему есть какие-то проблемы с рестартом, и вебсервер и аппсервер оба хостяться на IIS и рестарт там вещь тривиальная

Вообще мой вопрос проистекает из такой ситуации, что для создания ДМЗ (физической или в облаке) потребуется написание таких-вот прокладок которые ничего по-сути не делают кроме перенаправления запроса внутрь ДМЗ. Тот-же платеж может совершатся как через вебформу так скажем и через телефон, и если в случае только вебформы нет никакой разницы где захостить аппсервер, то для телефона, которому нужен метод MakePayment() бизнес-логики придется создавать полную копию интерфейса которая смотрит в интернет и затем просто перенаправляет запросы внутрь ДМЗ настоящему аппсерверу. Как-то меня берут большие сомнения что системы делаются таким-вот образом
Re[4]: В чем польза DMZ для защиты
От: Stalker. Австралия  
Дата: 04.09.17 23:42
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Разным. Понимаешь, infosec это не школьная математика, где все теоремы доказаны и все особые случаи давно рассмотрены в учебниках.

W>Например, аппсервер обычно подключается к базе от имени пользователя с весьма широкими правами, часто даже полными. А пароль этого пользователя часто лежит рядом, в конфиге. Подключился и сливай что хочешь. Или удаляй.
W>Совсем не таким же. На аппсервере можно выполнять действия с любыми аккаунтами, заметать следы и т.д.
W>С другой стороны, взломав веб-сервер, можно заняться фишингом. Везде свои угрозы.

W>Если вернуться к исходному вопросу, то смысл DMZ не в том, чтобы защитить конкретно аппсервер или сервер БД. А в том, чтобы изолировать всю внутреннюю сеть, защитить ее от проникновения через хосты в DMZ, которые определенно могут быть скомпрометированы.


если хакер запустил вирус на вебсервер способный захватить файловую систему с конфиг файлами, то что именно в ДМЗ остановит этот вирус от захвата теперь уже аппсервера с его конфиг файлами? Я как максимум вижу что здесь хакеру надо делать еще один шаг, это важно конечно и чем больше телодвижений надо сделать для захвата — тем выше безопасность, но непонятно насколько создание подобных прокладок реально усложняют захваты систем. Вот из разработку усложнят
Re: В чем польза DMZ для защиты
От: Mr.Delphist  
Дата: 05.09.17 10:00
Оценка:
Здравствуйте, Stalker., Вы писали:

S>Предположим есть стандартная схема системы — общедоступный вебсайт, который в своем коде не имеет никакой логики и для доступа к бизнес-логике обращается к application серверу (скажем через WCF) спрятанному в локальной сети.


Это уже дырявый DMZ. Т.е. вроде бы каменная стенка есть, но сбоку калитка и ключ под половичком, чтоб веб-сервер ходил. При компрометации веб-сервера, как внутренняя сеть сможет распознать: это запрос от веб-сервака или forged request?

Настоящий DMZ всегда однонаправленный: т.е. из внутренней сетки в него достучаться можно (скажем, для деплоя, бэкапов и т.п.), а из DMZ — доступа в локалку нет.
Re[5]: В чем польза DMZ для защиты
От: wildwind Россия  
Дата: 05.09.17 15:46
Оценка:
Здравствуйте, Stalker., Вы писали:

S>если хакер запустил вирус на вебсервер способный захватить файловую систему с конфиг файлами, то что именно в ДМЗ остановит этот вирус от захвата теперь уже аппсервера с его конфиг файлами?


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

S>Я как максимум вижу что здесь хакеру надо делать еще один шаг, это важно конечно и чем больше телодвижений надо сделать для захвата — тем выше безопасность, но непонятно насколько создание подобных прокладок реально усложняют захваты систем.


Именно так. Все меры в комплексе надежно отсекают хакеров из разряда "нажми на кнопку, получишь результат", узнавших вчера про Metasploit, а более серьезным ребятам сильно осложняют жизнь. Если интересно, почитай отчеты о пентестах, которые иногда публикуют. Весьма познавательно.

S>Вот из разработку усложнят


Разработку они усложняют при плохо организованном процессе. При правильно организованном разработчики отвечают за код, а за деплой и работоспособность боевого сервера отвечают админы.
Отредактировано 05.09.2017 22:44 wildwind . Предыдущая версия .
Re: В чем польза DMZ для защиты
От: VladCore  
Дата: 05.09.17 16:48
Оценка:
Здравствуйте, Stalker., Вы писали:

S>Предположим есть стандартная схема системы — общедоступный вебсайт, который в своем коде не имеет никакой логики и для доступа к бизнес-логике обращается к application серверу (скажем через WCF) спрятанному в локальной сети. Т.е. вроде как аппликейшн сервер находится в безопасности (как и база данных) в локальной сети и его типа не взломать.

S>Однако чем конкретно это безопаснее? Ведь если взломан пользовательский аккаунт на общедоступном сайте мы-ж все равно транзитивно получили доступ к бизнес-логике и сможем совершить какие-то действия с ним.
S>Яркий пример — интернет-банкинг, я больше чем уверен что база данных с сервером бизнес логики в банках запрятана весьма глубоко, однако что-бы пользователь смог что-то делать со своим аккаунтом цепочка от веб браузера до базы данных должна все равно существовать.
S>Вопрос можно сформулировать более прямо, вот есть скажем метод MakePayment() в WCF или WebAPI апп сервере. Какую именно пользу мы получаем спрятав его в локальную сеть а не выставив наружу в интернет?

Дикий ветер написал же что сокращается attack surface. Но это неполный ответ.

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

И безопасность не страдает и архитекторы ничем не ограничены. На пальцах примерно так.
Re[6]: В чем польза DMZ для защиты
От: Stalker. Австралия  
Дата: 05.09.17 23:19
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Разработку они усложняют при плохо организованном процессе. При правильно организованном разработчики отвечают за код, а за деплой и работоспособность боевого сервера отвечают админы.


разработку это усложняет в том смысле, что при таком подходе для всех "смотрящих" в интернет сервисов надо создавать прокладки, просто принимающие запросы и перенаправляющие их внутрь к настоящим сервисам. Это стоит время и деньги. Поэтому я и пытаюсь выяснить насколько эти прокладки полезны. А то может действительно есть вирусы, которыми легко заразить общедоступный сайт, а потом начинать пинговать внутреннюю сеть
И кстати софт этих прокладок будет таким-же, как и у настоящих сервисов в ДМЗ, никто-ж не будет писать прокладку на web api, а потом вызывать какой-нибудь wcf в надежде запутать хакера.
Отредактировано 05.09.2017 23:25 Stalker. . Предыдущая версия .
Re[7]: В чем польза DMZ для защиты
От: wildwind Россия  
Дата: 06.09.17 12:34
Оценка:
Здравствуйте, Stalker., Вы писали:

S>Здравствуйте, wildwind, Вы писали:


W>>Разработку они усложняют при плохо организованном процессе. При правильно организованном разработчики отвечают за код, а за деплой и работоспособность боевого сервера отвечают админы.


S>разработку это усложняет в том смысле, что при таком подходе для всех "смотрящих" в интернет сервисов надо создавать прокладки, просто принимающие запросы и перенаправляющие их внутрь к настоящим сервисам.


Не знвю, из чего ты сделал такой вывод, но явно не из того, что написали в этой теме. Прокладка, просто принимающая и перенаправляющая запросы, называется прокси сервером. И создавать их не нужно, их полно готовых. А, к примеру, сервер реализующий веб интерфейс к системе, это просто один из слоев в многозвенной архитектуре. И выделяется этот слой в отдельный сервис далеко не только для того, чтобы "запутать хакера". А главным образом для эффективного масштабирования.

S>Это стоит время и деньги.


Безопасность стоит недешево, да. Тут ты Америку не открыл. Как и масштабируемость.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.