Пункт коллективного доступа в интернет :)

Приветствую уважаемый %USERNAME%

В наше время, не будет лишним еще раз озаботиться об ограничении доступа в интернет в пределах корпоративной сети. До сего момента в вверенных нам организациях мы внедряли достаточно распространенную схему доступа. А именно:

  • Выделенный прокси-сервер (squid, без вариантов), который собственно и связывал,в общих словах, сеть внутреннюю с внешней.
  • SAMS2 — решения для создания шаблонов и политик доступа в интернет.
  • Контроллер домена (samba+ldap)

Интегрируя эти три компонента получали неплохое сочетание удобства и надежности. Более того, этот способ многим будет подходить и до сих пор, но для нас реалии диктуют другие правила. Пока есть интернет на рабочем месте, есть вероятность утечки информации (способов уйма, хотите поспорить — welcome to comments..).

И было решено оставить доступ в интернет, но убрать его с рабочих машин o_O. Интересно?В своей работе мы активно используем Linux (обычно это C entOS 4-5-6, но бывает и другое, к примеру, Ubuntu) и удаленный доступ. Это совершенно разные технологии, для каждой своя сфера применения.

  • ssh с его туннелями позволяет делать практически все, что угодно. Если не требуется большего;
  • RDP, для Windows это необходимо, к сожалению;
  • HP Remote Graphic Software (HP RGS) иногда надо и такое;
  • FreeNX

Вот с помощью последней и решили творить чудеса. Мы должны получить систему отвечающую следующим требованиям

  1. Легко разворачиваемой, хорошей производительности;
  2. Изолированную от основной сети (на программного-логическом уровне);
  3. Доступ в интернет куда угодно — www, mail, ftp, im. Для экономии трафика, локальный прокси. Хранение своих файлов в определенных лимитах

Чтобы не зависить от железа и легко наращивать мощности, создали виртуальную машину в vmware фабрике (сейчас еще непонятно, какие именно мощности нам нужны, быть может в будущем перенесем на реальное железо). Для основы используем дистрибутив CentOS6 x86_64 с оконным менеджером XFCE4.8 — это даст нам неплохую экономию производительности (в отличии от KDE и прочих тяжелоатлетов). Кстати, для XFCE не найден был keyboard layout для русскоязычных пользователей. Пришлось пересобирать оный с alt linux и портировать в CentOS (rpm x64). После установки ОС, были поставлены максимальное количество знакомых пользователям программ, как то Opera, Firefox, Google Chrome, а также Pidgin, LibreOffice, Acrobat Reader и прочее, прочее, прочее..

Вход по ssh запретели всем, кроме доменных админов. Фаерволом (iptables) закрыли все возможные локальные сервисы оставляя лишь доступ к dns, cups. Все остальное внутрь сети нещадно попадает под -j Reject.

Локально был поставлен squid (в /etc/profile.d/ были положены скрипты в зависимости от шела выставляющие переменные *_proxy), который будет исключительно для кеша. Домашние папки пользователей выноли на отдельный раздел, включаем квотирование на нем (soft 1.5Gb / hard 2.0Gb).

Для freenx сервера разрешили 1 соединение per user. Отключили clipboard в обе стороны.

В результате у нас получается, система сама в себе. Доступ в нее только с помощью nx-клиента, вход только по ключу, с доменной аутентификацией. Никакой связи с локальными машинами нет. Что-либо передать на удаленную nx машину практически невозможно, а следовательно в интернет лишние данные не попадут.

Вот так мы максимально усложнили возможность утечки данных 🙂

Получившаяся схема доступа в интернет

Хочется заметить, это все сильно экспериментально и пока отлаживается, но первые результаты радуют.

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

Вот, что вышло. Есть вопросы? Милости прошу в комментарии 😉

Скриншот удаленный nx системы

Скриншот удаленной nx системы в окне Remmina

Из минусов данной реализации можно отметить дурно отображаемый youtube, да и вообще видео слабое звено любой «удаленки», ну и со звуком некоторые траблы. Но это не приортитетно в нашей задаче.