id: Гость   вход   регистрация
текущее время 12:04 25/04/2024
создать
просмотр
ссылки

Защита от взлома


Всем привет! Я не новичёк, но и не спец, так что прошу строго не судить. Есть компьютер, который выходит в сеть через тор, больше ни для каких целей не используется. Установлен линукс, все стандартные правила безопасности соблюдены: нет простых паролей, iptables настроен на пропуск только тор-трафика, все лишние компоненты отрезаны, сам тор запускается в chroot. Стоит патч GRsecurity. Но есть некоторые вещи, которые меня смущают. Мне нужен очень высокий уровень безопасности, так что шутки про неуловимого Джо будут неуместны. Сейчас я работаю над освоением SELinux, чтобы максимально усложнить противнику задачу, но в этом нелёгком процессе у меня возникла крамольная мысль, что я что-то упустил. Порылся на этом форуме, но хочется конкретики. Оправдано ли использование такой архитектуры, как например в Whonix? (2 виртуальные машины, на одной запущен Тор и через неё выход в интернет, вторая через внутреннюю сеть соединяется с первой). Сам Whonix использовать не хочу, так как не знаю, что туда запихнули, но самому организовать такое не составит труда для меня, стоит ли такое делать перед Selinux? И ещё, как влияет на безопасность установка suid бита на Xorg? Можно ли избежать этого? И наконец, сам Тор недостаточно защищён на мой взгляд. Уверен, такое проделывалось до меня, но всё-таки прошу совета. Реально ли запустить ботнет, в котором каждая машина будет превращена в прокси-сервер и с помощью такого ботнета ходить в сеть? Какие минусы у такого способа? Может, есть какие-то дополнительные советы по поводу безопасности на Linux?


 
Комментарии
— Гость (27/04/2014 01:32)   <#>
1) Оправдано ли использование такой архитектуры, как например в Whonix?
2) стоит ли такое делать перед Selinux?
3) как влияет на безопасность установка suid бита на Xorg?
4) Можно ли избежать этого?
5) Реально ли запустить ботнет, в котором каждая машина будет превращена в прокси-сервер и с помощью такого ботнета ходить в сеть?
6) Какие минусы у такого способа?
7) Может, есть какие-то дополнительные советы по поводу безопасности на Linux?

Хороший вопрос! Емкий. SATtva и unknown спешат на помощь ...
— Гость (28/05/2014 23:34)   <#>
SATtva и unknown wwwспешат на помощь ...

Это чё? Местные авторитеты? Что=то их не видно.
— Гость (29/05/2014 04:47)   <#>

А как иначе изолировать информацию, доступную ОС, о железе, на котором она запущена?


Это правильно.


Использовать виртуалки было бы гибко и неплохо.


В OpenBSD долго ходили слухи про то, что они планируют отвязаться от рута для ключевых сервисов, включая Xenocara (их форк X'ов). Сделали ли они это в итоге — не в курсе. Для sshd вроде сделали, и теперь он у них не от root'а.

Мне сложно к этому что-то добавить. Есть способ запуска иксовых приложений без иксов (через framebuffer). Недостаки, минусы и ограничения этого метода известны.


Против червя в Tor'е [1], [2] попытка защиты от такой утечки — фиговый листок.

Если вы об этом.


Дорого, сложно, небезопасно, противозаконно. Обсуждение нарушает правила сайта.


Есть по Tor'у, по отрицаемому шифрованию, по удалению данных [1], [2], [3], по работе с паролями, например.
— Чертополох (29/05/2014 20:54)   <#>
За ответ спасибо!
Я подозревал об этом, извиняюсь и закрюгляю данное обсуждение.

Насчёт виртуальных машин и xorg разорался. Как раз этот метод с виртуалками и есть таблетка, или я чего-то недопонимаю и даже если xorg будет запущен в виртуалке, которая ходит в сеть через другую виртуалку (на которой уже xorga не будет в принципе), то это будет недостаточно секбюрно и нужно смотреть в сторону консольных браузеров (w3m, links, lynx и т.д.)?


Ещё раз большое спасибо за ответ.
— Гость (30/05/2014 02:14)   <#>

Но не стоит об этом кричать.


Tablet PC? При чём тут он?


Конечно, при прочих равных лучше вообще не держать иксов, но если для роутеров это нормальная оправданная практика, то, что касается десктопных ОС, понятно же, что мы не можем отказаться от всего этого (видео, фото, pdf- и прочие документы, работа с графиками и т.д.).

Для себя я этот вопрос толком не изучил, чтобы понятно объяснить другим, но итог, если исходить из моего текущего неполного понимания, примерно такой:

  1. Понятно, что какая-то из ОС должна иметь нативный доступ к видеовыводу, по сути — к видеокарте. Обычно это так называемая хостовая ОС.

  1. Пишут, что можно на уровне гипервизора пробросить видеокарту в какую-то из гостевых ОС, тогда последняя будет иметь к ней полный доступ. Это, конечно, нетривиально, но потенциально можно настроить систему так, чтобы после старта хостовой ОС в гипервизоре автоматически подключалась и запускалась гостевая ОС, которая уже будет отрисовывать всё на дисплее (а остальные ОС, включая хостовую, работать с графикой через неё).

  1. Допустим, какая-то ОС владеет видеокартой (п.1 или п.2). Вы хотите запустить графические приложения из другой ОС, к которой можете подконнектиться, естественно, только по сети (раз речь идёт о виртуалках, а физически компьютер один). В этом случае есть несколько способов:

    1. Самый простой и работающий из коробки способ — что-то типа ssh -X или ssh -Y. При этом удалённо запущенное приложение будет работать с текущими иксами, а не со своими. Для безопасности это не очень хорошо, зато удобно: общий буфер, общие окна и т.п.

    2. Можно запустить Xnest или Xephyr в текущих иксах. Это создаст дополнительное окно в уже существующей графической среде. Фактически это запуск других иксов в тех же самых иксах, но суть та же: иксы физически запущены на той же ОС, которая имеет доступ к видеокарте.

    3. Пункты A и B можно компановать с заходом под юзером под другими иксами, запущенными на иных дисплеях. Конечно же, главное остаётся тем же: иксы везде запущены на основной системе, имеющей доступ к видеокарте, поэтому дыра в иксах может быть достаточно фатальной для любых программ и ОС, которые работают через эти же самые иксы.

    4. Есть более умный способ, чем предыдущие, когда в доступной бездисплейной ОС запускаются свои виртуальные иксы, а во внешку нам передаётся только готовая картинка. При этом программы, умеющие эксплуатировать ошибки в иксах, не смогут дотянуться до основных иксов, запущенных на реальном железе, и раздающих доступ всем остальным «клиентам». Вроде именно так работает VNC, но надо разбираться, чтоб сказать точно. Наверное, можно вообразить, что через передачу картинки что-то тоже можно похакать, но считается, что прямого доступа к основным иксам при этом у уязвимых программ нет.

      Технически это выглядит примерно так: вы запускаете X-сервер в той ОС, которая имеет прямой доступ к видеокарте, логинитесь в неё под каким-то юзером, а потом от него запускаете VNC client. Последний открывает какое-то окно, которое и будет отрисовывать всю ту графику, которая нужна конкретной удалённой (доступной только по сети) ОС.

      Понятно, что для разных удалённых ОС и юзеров на них можно открыть разные VNC-клиенты под одним и тем же юзером на основной ОС (имющей доступ к видеокарте). Понятно, что к разные VNC-клиенты для пущей безопасности можно запускать под разными иксами. Наверняка есть, в том числе, и способ сделать так, чтобы вместо xdm или иного login manager'а на соответствующем дисплее (Ctrl+Alt+Fn) сразу запускался VNC-клиент к нужной удалённой ОС и т.д.

Обрывочно это всё обсуждалось, включая проброс разных PCI-устройств [1], [2], [3], [4], [5], но без деталей.


Пожалуйста.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3