Как можно защитить телефон от вирусов. Как избежать заражения смартфона вредоносным ПО? iOS: небезопасная и без джейлбрейка

Thinstation — мини-дистрибутив Linux, позволяющий превратить стандартные ПК в бездисковые тонкие клиенты. Его можно загружать по сети с помощью Etherboot/PXE или со стандартного носителя — дискеты/CD/жесткого диска/flash-диска и т.п.

Схема Загрузки
Загрузка Linux с HDD (SATA или PATA) или Flash – Загружается операционная система Linux c диска на котором находятся образ системы и ядро.
Примечание: Если используется сборка собранная с опциями NET_USE_DHCP=off и NET_FILE_ENABLED=OFF, то запрос к DHCP серверу не происходит и используеться локальный файл конфигурации thinstation.profile/thinstation.conf.user
Запрос DHCP сервера – при инициализации сетевого интерфейса происходит запрос к DHCP сервера на получение IP-адреса клиента, маски подсети, IP-адреса TFTP сервера для получения конфигурационных файлов.
Ответ DHCP сервера – При получении ответа, клиенту назначается IP-адрес и передается информация, где необходимо искать конфигурационные файлы. – загрузочные скрипты системы Linux получают c TFTP-сервера конфигурационные файлы, в которых описаны необходимые параметры для соединения клиента с терминальным сервером.
Инициализация терминального клиента

Установка на Диск
Для установки необходимо создать на жестком диске раздел 100 Мб с файловой системой fat. Переписать содержимое архива на диск. Подправить файл конфигурации thinstation.profile/thinstation.conf.user, описание настроек можно посмотреть в статье Синтаксис конфигурационных файлов.
Прописать загрузчик, для чего в командной строке windows (Пуск — Выполнить — cmd) или загрузив DOS, набрать:

F:>syslinux.exe -ma f:

где f — диск с образом

Внесения изменений в файл конфигурации на уже установленной системе:
1. Загружаем терминального клиента, переходим на вторую консоль Alt+F2 или Alt+Ctrl+F2 (если AUTOSTART=On). Заходим под логином root, пароль secretword. В качестве редактора используем e3. Набираем:

E3 /mnt/disc/sda/part1/thinstation.profile/thinstation.conf.user

где sda — первый SATA диск, для PATA — hda. Чтобы не вбивать весь путь, используйте кнопку Tab после первых введенных букв. После редактирования нажмите Ctrl+K X — для сохранения.
2. Редактировать thinstation.conf.user можно удаленно по telnet. Для windows лучше использовать PuTTY
P.S. Если диск отформатирован в ext2/ext3/ext4, то для загрузки нужен extlinux Скачиваем архив syslinux и взять из него (/syslinux-6.02/bios/extlinux/). Раздел должен быть активным.
Открывем консоль и переходим на монтированный раздел с диском или флэшкой например cd /mnt/flash, копируем туда extlinux и выполняем: ./extlinux –install . точка в конце означает что устанавливаем в текущий каталог.
Файл конфигурации: extlinux.conf, точная копия syslinux.cfg


Как работает PXE
1.PXE запрос DHCP сервера:
2.Ответ DHCP сервера
– в зависимости от параметров конфигурационного файла запускается RDP или ICA клиент, который устанавливает соединение с терминальным сервером.

Настройка сервера DHCP и TFTP на linux.

Пример настройки на Freebsd.
В Freebsd чтобы inetd слушал запросы TFTP, нужно расcкомментировать строку в файле /etc/inetd.conf:

Tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot

И сделать рестарт сервиса inetd:

Dom:~# killall -1 inetd

Потом создать директорию tftpboot и дать права:

Dom:~# mkdir /tftpboot dom:~# chmod -R 777 /tftpboot

Option domain-name "example.com"; option domain-name-servers 192.168.0.1; server-identifier NAME_HOST; authoritative ; allow booting; allow bootp; max-lease-time 172800; ignore client-updates; ddns-domainname "example.com"; ddns-updates on; ddns-update-style interim; default-lease-time 86400; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 192.168.0.1; one-lease-per-client on; range 192.168.0.20 192.168.0.30; } group { filename "pxelinux.0"; next-server 192.168.0.1; host 1 { hardware ethernet 00:0E:8F:32:B6:C5; fixed-address 192.168.0.10; } host 2 { hardware ethernet 08:20:07:26:C0:A5; fixed-address 192.168.0.11; } }

Распаковываем образ thinstation с pxe в /tftpboot

PXE-совместимые прошивки используются производителями при изготовлении сетевых карт и BIOS материнских плат с интегрированными сетевыми картами. Поэтому для бездисковой загрузки потребуется сетевая карта укомплектованная прошивкой PXE. Если у вас сетевая карта без прошивки, но Вы желаете сделать бездисковую загрузку, то как единственный выход в использовании прошивок Etherboot. Этот вариант здесь не рассматривается.
Как работает PXE
1.PXE запрос DHCP сервера: сетевая карта с поддержкой PXE запрашивает DHCP сервер на получение параметров, таких как IP-адрес клиента, маска подсети, IP-адрес TFTP сервера, на котором находится образ, а также — имя образа.
2.Ответ DHCP сервера – сервер назначает IP-адрес и затем передает его для использования клиенту вместе с другими параметрами. – клиент загружает с указанного DHCP-сервером IP-адреса TFTP сервера сначала PXE загрузчик — pxelinux. 0, с помощью которого загружается уже ядро операционной системы Linux — vmlinuz и образ файловой системы — initrd, включающий все необходимое для работы клиента. – загрузочные скрипты системы Linux получают c TFTP-сервера конфигурационные файлы, в которых описаны необходимые параметры для соединения клиента с терминальным сервером.
5.Инициализация терминального клиента – в зависимости от параметров конфигурационного файла запускается RDP или ICA клиент, который устанавливает соединение с терминальным сервером.

Настройка сервера Windows 2003

Службы и сервисы, необходимые для работы «тонких» клиентов

Вы можете использовать в качестве терминального сервера:

Microsoft® Windows® Terminal Server

Citrix® MetaFrame®

Если Вы используете в качестве терминального сервера Windows® Terminal Server, выберите следующие службы и сервисы:

Terminal Server

Если Вы используете в качестве терминального сервера Citrix® MetaFrame®, выберите следующие службы и сервисы:

Citrix® MetaFrame®

Пакет файлов для загрузки по PXE

Настройка DHCP Server

Для настройки DHCP Server выполните следующие действия:

2. Нажмите кнопу Add or remove a role.

3. В открывшемся диалоговом окне Preliminary Steps нажмите кнопку Next.

4. В открывшемся диалоговом окне Configuration Options выберите элемент Custom Configuration и нажмите кнопку Next.

5. В списке Server Role выберите DHCP Server и щелкните на кнопке Next дважды.

6. В диалоговом окне Welcome to the new Scope Wizard нажмите кнопку Next.

7. В диалоговом окне Scope Name в полях Name и Description введите имя и описание, после чего нажмите кнопку Next.

8. В диалоговом окне IP Address Range выполните следующие действия для выдачи DHCP сервером IP адресов для тонких клиентов:

Введите Start IP Address (Начальный IP адрес)

Введите End IP Address (Конечный IP адрес)

Нажмите кнопку Next.

9. В открывшемся диалоговом окне Add Exclusions допускается указать диапазон адресов, которые не будут выделяться DHCP сервером. Нажмите кнопку Next.

10. В открывшемся диалоговом окне Lease Duration можете указать время использования IP-адреса тонкими клиентами. Нажмите кнопку Next.

11. В диалоговом окне Configure DHCP Options выберите No, I will configure these options later. Нажмите кнопку Next, затем кнопку Finish.

12. Подтвердите действие очередным нажатием кнопки Finish.

13. Выберите Start→Programs→Administrative Tools→Manage Your Server.

14. В открывшемся диалоговом меню выберите элемент Manage this DHCP server

15. В диалоговом окне выберите элемент Server Options. Нажав правую клавишу мыши, в открывшемся контекстном меню выберите Configure Options.

16. В списке выполните следующие действия:

Выберите пункт 066 Boot Server Host Name и укажите IP адрес TFTP сервера, на который устанавливали DHCP сервер

Выберите пункт 067 Bootfile Name и введите имя pxe-загрузчика, а именно pxelinux.0

17. Нажмите кнопку Apply.

18. В диалоговом окне выберите элемент Scope . Нажав правую клавишу мыши, в открывшемся контекстном меню выберите Activate.

Настройка DHCP сервера завершена.

Настройка TFTP Server

1. Выберите Start→Settings→Control Panel→Add or Remove Programs.

2. Нажмите кнопку Add/Remove Windows Components.

3. В списке Components выберите Remote Installation Services и нажмите кнопку Next.

4. Нажмите кнопку Finish и на запрос о перезагрузке выберите No. Перезагрузку сервера осуществите позднее.

Настройка Terminal Server

1. Выберите Start→Programs→Administrative Tools→Manage Your Server.

2. нажмите кнопку Add or remove a role.

3. В диалоговом окне Preliminary Steps нажмите кнопку Next.

4. В списке Server Role выберите элемент Terminal Server и нажмите кнопку Next дважды.

5. В открывшемся диалоговом окне Configure Your Server Wizard появится предупреждение о перезагрузке сервера. Нажмите кнопку Ok.

6. После перезагрузки нажмите кнопку Finish.

Настройка TFTP Server на автоматический запуск

2. Раскройте список Services and Applications и выберите элемент Services.

3. Справа в появившемся списке нажмите правую клавишу мыши на пункте Trivial FTP Daemon и в контекстном меню выберите Properties.

4. В закладке General в выпадающем меню Startup type выберите Automatic. Нажмите кнопку Apply, затем кнопку Ок.

Создание пользователей терминальных сессий

1. Нажмите правую клавишу мыши на ярлыке My Computer и выберите Manage.

2. В раскрывающемся списке Local Users and Groups выберите папку Users.

3. В появившемся справа списке пользователей нажмите правую клавишу мыши и в открывшемся контекстном меню выберите New User.

4. В диалоговом окне New User введите User name (Имя пользователя) и Password (Пароль). Допустимо отменить выделение User must change password at next logon (Пользователь должен изменить пароль при следующем подключении) и установить необходимые вам пункты: User cannot change password (Пользователь не может изменить пароль), Password never expires (Срок действия пароля никогда не истекает), Account is disabled (Учетная запись отключена). Нажмите кнопку Apply, затем кнопку Ок.

5. В списке выберите папку Groups, и в списке справа нажмите правой клавишей мыши на имени группы Remote Desktop Users, далее выберите Propeties.

6. В появившемся меню выберите General, нажмите кнопку Add и введите имя пользователя, которому Вы хотите разрешить терминальный доступ к серверу. Затем щелкните на кнопке Check Names и подтвердите свой выбор нажатием на кнопку Ок.

7. Нажмите кнопку Apply и кнопку Ок.

Копирование файлов, необходимых для загрузки «тонких» клиентов

1. Создайте папку C:tftpdroot.

2. Скопируйте в нее файлы pxelinux.0, vmlinuz, initrd, thinstation.conf.network.

3. Создайте папку с:tftpdrootpxelinux.cfg.

4. Скопируйте файл default в папку c:tftpdrootpxelinux.cfg

5. Теперь необходимо отредактировать конфигурационные файлы. Подробное опи¬са¬ние действий представлено в части 3. «Изменение параметров конфи¬гура¬ци¬он¬ных файлов».

Настройка сервера для передачи звука тонким клиентам
Внимание!
Для передачи звука «тонким» клиентам необходимо, чтобы на сервере была установлена ОС Microsoft® Windows® 2003, звуковая карта и необходимые драйверы.

1. Выберите Start→Settings→Control Panel

2. Откройте Sounds and Audio Devices и установите выделение в пункте Enable Windows Audio. Нажмите кнопку Ok.

3. На запрос о перезагрузке нажмите кнопку Yes.

4. После перезагрузки вызовите Microsoft® Management Console (Start→Run→mmc).

5. Затем выполните следующие действия: File→Add/Remove Snap-in и нажмите кнопку Add.

6. Выберите Group Policy Object Editor и нажмите кнопку Add, затем последовательно нажимайте на кнопки Finish, Close,Ok.

7. Откройте элемент Local Computer Policy→Computer Configuration→Administrative
Templates→Windows Components→Terminal Services→Client/Server data redirection.

8. В списке справа правой клавишей выберите Properties в пункте Allow audio redirection.

9. Выделите пункт Enabled и нажмите кнопку Apply, затем кнопку Ок.

Требования ПК:
Оперативная память не меньше 256 Mb
Флешка не меньше 128 Mb


Чтобы Флешку сделать загрузочной используйте файл →

Как это работает

После старта тонкого клиента управление передаётся PXE-загрузчику, который находится в ПЗУ сетевой карты.
PXE-загрузчик по протоколу BOOTP получает:

  • сетевые настройки
  • IP адрес TFTP-сервера
  • путь к образу ОС тонкого клиента для загрузки

Далее загружается образ ОС Thinstation Linux и управление передаётся ему. Thinstation Linux при загрузке ещё раз получает найстройки сети и IP адрес TFTP-сервера и пытается загрузить конфигурационный файл.
Если такой файл есть, то он загружается и применяется, если нет - применяются настройки по умолчанию.

Тонкий клиент готов к использованию

Настройка тонкого клиента (аппаратное обеспечение)

Устройство, выступающее в роли Тонкого клиента, должно поддерживать загрузку по сети. Как правило, эта функция включается в настройках BIOS.

Настройка окружения

Настройка окружения состоит из двух составляющих: DHCP-сервер и TFTP-сервер. Как правило, в большинстве локальных сетей DHCP-сервер уже есть и используется для выдачи сетевых настроек рабочим станциям. Необходимо только настроить его таким образом, чтобы кроме сетевых настроек он так же отдавал IP адрес TFTP-сервера и путь до образа ОС Thinstation Linux. TFTP сервер должен обеспечивать доступ к каталогу, в который необходимо скопировать образ ОС Thinstation Linux и конфигурационные файлы тонких клиентов, если такие необходимы.

Настройка тонкого клиента (программное обеспечение)

В простейшем случае, чтобы заставить тонкие клиенты соединяться с терминальным сервером по RDP, необходимо в корне TFTP-сервера создать папку ts5.4, в которой содержится файл thinstation.conf.network, с содержимым:

SESSION_0_RDESKTOP_SERVER=IP_АДРЕС_ТЕРМИНАЛЬНОГО_СЕРВЕРА
SESSION_0_TYPE=rdesktop

Этот конфигурационный файл загружается всеми тонкими клиентами сети. Более специфичные настройки можно указать в файлах с именами в формате thinstation.conf-MAC, например thinstation.conf-0040CAB514DD, или для станций с зарезервированным IP-адресом thinstation.conf-IP, например thinstation.conf-192.168.0.33

Настройка DHCP-сервера

Содержимое файла /etc/default/dhcp3-server:

# Список сетевых интерфейсов через пробел на которых будет работать DHCP-сервер.
INTERFACES="eth0"
Содержимое файла /etc/dhcp3/dhcpd.conf:
default-lease-time 14400;
max-lease-time 86400;
# маска подсети
option subnet-mask 255.255.255.0;
# шлюз по умолчанию
option routers 192.168.0.1;
# DNSoption domain-name-servers 192.168.0.1; authoritative;
# Описание настроек подсети
subnet 192.168.0.0 netmask 255.255.255.0 {
# Диапазон адресов, который будет выдавать DHCP сервер
range 192.168.0.50 192.168.0.254;
# Путь до образа Thinstation Linux
filename "/pxelinux.0";

Настройка TFTP-сервера

Содержимое файла /etc/default/tftpd-hpa:

# Запускать tftpd при запуске системы yes/no
RUN_DAEMON="yes"
# Параметры, передаваемые tftpd. Параметр -s указывает на каталог, который будет корнем tftpd.
# Для получения более полной информации по параметрам используйте команду "man tftpd"
OPTIONS="-l -s /var/lib/tftpboot"

Настройки тонких клиентов

Необходимо распаковать архив с образом тонкого клиента в /var/lib/tftpboot таким образом, чтобы pxe-загрузчик был доступен по пути "/var/lib/tftpboot/pxelinux.0". Далее создадим общий файл настроек для тонких клиентов:
Содержимое файла/var/lib/tftpboot/ts5.4/thinstation.conf.network:

# IP адрес терминального сервера
SESSION_0_RDESKTOP_SERVER=192.168.0.10
# Протокол доступа к терминальному серверу
SESSION_0_TYPE=rdesktop

Настройка разрешения экрана в Thinstation Linux

В простейшем виде разрешение задаётся параметром SCREEN_RESOLUTION:

SCREEN_RESOLUTION="1280x1024"

Работы по настройке и установке сервера терминалов, а так-же тонких клиентов Вы можете поручить специалистам нашей компании. звоните по телефону +7 812 3366024 ,

Для получения скидки напишите нам

Доброго времени суток!

Относительно недавно в свет вышла новая версия популярного тонкого клиента Thinstation , а именно 2.5. И, конечно же, несет в себе как новые плюшки, так и новые грабли плюс минимум документации по новой версии.

В этой статье (а она расчитана на новичков , особенно для тех, кто слабо знаком с Linux) я опишу как быстро собрать тонкого клиента и сделать его использование достаточно безопасным, с использованием смарт-карт , RDP-клиента фирмы и хэппи-эндом. Добро пожаловать!

Постановка задачи

Итак, у нас имеется:

  • Несколько железяк, гордо именуемых «тонкими клиентами». Например, пара десятков уже давно не новых машинок HP HSTNC-001L-TC .
  • Настроенный терминальный сервер, к которому тонкие клиенты будут цепляться. Пусть будет MS Windows Server 2003 или 2008.

А теперь чего, собственно, хотим:

  • Загружать тонкие клиенты по сети (то есть бездисково).
  • Поддержку тонкими клиентами MS RDP версий 6+ или даже 7, т.к. это более безопасно.
  • И не просто MS RDP, а с поддержкой TLS 1.0 .
  • Авторизацию пользователей с помощью смарт-карт (т.е. проброс смарт-карты c тонкого клиента на сервер).

С чего начнем?

Для бездисковой загрузки наших тонких клиентов (а грузиться они будут по протоколу PXE) нам потребуется настроить DHCP-сервер и TFTP-сервер. Что это, для чего, как происходит загрузка по сети (PXE) и как это настроить хорошо и подробно написано . В качестве TFTP-сервера под Windows могу порекоммендовать tftpd32, который можно скачать . Несмотря на название, есть версии и для платформы x64.

Далее, если есть желание, можно немного почитать о Thinstation , и (под списком файлов для загрузки). На русском языке информацию можно найти , хотя она уже несколько устаревает. Там расписывается создание и настройка образов Thinstation версии 2.2.2, многое актуально и для 2.5. Непосредственно версии 2.5 посвящена пока лишь . Итак, начнем.

Первая сборка

Так как Thinstation основан на Linux’е, значит для сборки тонкого клиента нам потребуется компьютер с установленным Linux’ом (спасибо, КО!). Я использовал Ubuntu 11.10. Также нам понадобится установить Git (если его еще нет) и с его помощью склонировать себе репозиторий с генератором образов:

    sudo apt-get install git

    cd / home/ user/

    git clone --depth 1 git :// thinstation.git.sourceforge.net/ gitroot/ thinstation/ thinstation

    cd thinstation

После того, как генератор образов скачан, необходимо запустить скрипт:

    ./ setup-chroot

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

Пришла пора собрать наш первый, пока что «толстый», образ. Этот большой образ с поддержкой очень широкого списка аппаратки нужен, чтобы сгенерировать затем небольшой профиль для поддержки нашего конкретного железа. Хочу отметить, что в этом и заключается одна из главных плюшек новой версии Thinstation: теперь не надо самому руками составлять список драйверов, которые следует включить в образ - он сгенерируется автоматически скриптом.

Как советуют разработчики, сборку надо производить «inside chroot session», поэтому из скрипта setup-chroot.sh не выходим (нажимаем лишь «Q», чтобы скрыть приветственное сообщение скрипта) и пишем следующие команды в тамошней консоли:

    cd ts/ 2.5

    nano build.conf

В файле build.conf раскомментируем строчку «package extensions «. Если у вас интернет через прокси, то еще раскомментируем строчку «param httpproxy » и укажем в ней свои настройки прокси-сервера (например, так: «param httpproxy user :password@proxy:port «), сохраним файл и продолжим сборку:

    ./ build --allmodules

Смотрим на длинную портянку лога скрипта сборки, соглашаемся на скачивание дополнительных пакетов, если он попросит, и дожидаемся окончания процесса. Теперь копируем содержимое директории «/home/user/thinstation/ts/2.5/boot-images/pxe » (а это и есть наш собранный загрузочный образ) в корень TFTP-сервера и пробуем первый раз загрузить тонкого клиента по сети.

И вот тут мы можем встретить первые долгожданные грабли. Если оперативной памяти у вашего тонкого клиента мало, то мы возвращаемся к редактированию файла build.conf и закомментируем какой-нибудь тяжелый пакет, например «#package chrome «, повторяем сборку и видим уменьшение обзаза почти в 2 раза. Теперь загрузка должна пойти.

Даже после этого с вероятностью, близкой к 100%, полной загрузки тонкого клиента не произойдет. Но нам этого и не надо. Ждем, когда загрузчик покажет нам картинку с надписью «Thinstation» и прогрессбаром. После этого нажимаем Ctrl+Alt+F3 и видим консоль с приглашением войти. Вводим следующую пару логин-пароль «root - pleasechangeme » и запускаем скрипт:

Этот скрипт сгенерирует нам файлы профиля для конкретного железа нашего тонкого клиента. Обычно их два: «module.list » (список драйверов для нашего железа) и «vbe_modes.list » (графические режимы). Теперь их нужно скопировать на Linux-машину. Сделать это можно, например, через TFTP-сервер (он должен позволять запись). В консоли тонкого клиента вводим:

    cd /

    tftp -p -l module.list -r module.list 192.168.0.1

    tftp -p -l vbe_modes.list -r vbe_modes.list 192.168.0.1

Где 192.168.0.1 - адрес нашего TFTP-сервера. Вернемся к Linux-машине, создадим там папку «/home/user/thinstation/ts/2.5/machine/my_machine » и скопируем в нее из корня TFTP-сервера наши два полученных файла.

Страшный зверь - смарт-карта

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

Теперь нам необходимо найти и собрать драйвера для картридера под Linux. На сайте производителя находим драйвера , качаем и распаковываем:

    cd / home/ user/

    wget http:// www.athena-scs.com/ downloads/ asedriveiiie-usb-3.7 .tar.bz2

    tar -xjf asedriveiiie-usb-3.7 .tar.bz2

    cd asedriveiiie-usb-3.7

Читаем README и видим, что для сборки нам понадобится установить пакет PCSC Lite (есть , я ставил последнюю на тот момент версию ccid-1.4.5 ), а также нам понадобятся исходники (с более старшими версиями не собирается ).

Ставим PCSC Lite, в папку с исходниками драйверов для картридера копируем файл usb.h из исходников libusb . Теперь запускаем обычное:

    ./ configure

    make

    make install

Так как Thinstation уже содержит в себе пакет PCSC Lite, мы можем просто скопировать наши драйвера в сборщик Thinstation, вот так:

    cp -LR / usr/ lib/ pcsc/ drivers/ ifd-ASEDriveIIIe-USB.bundle / home/ user/ thinstation/ ts/ 2.5 / packages/ ccidreader/ lib/ pcsc/ drivers cp / etc/ udev/ rules.d/ 50 -pcscd-asedriveiiie.rules / home/ user/ thinstation/ ts/ 2.5 / packages/ ccidreader/ etc/ udev/ rules.d

Все, готово! Теперь картридер при загрузке тонкого клиента будет определяться и работать нормально. В версии 2.5 такие извращения для работы со смарт-картами, как для 2.2.2, больше не нужны.

RDP-клиенты

Теперь немного о том, каким клиентом мы будем подключаться к терминальному серверу.

На данный момент самыми известными клиентами для Microsoft RDP для Linux-систем являются rdesktop и его форк - FreeRDP . Но! rdesktop не поддерживает TLS 1.0, а FreeRDP не умеет работать со смарт-картами. И это вызывает откровенную печаль!

После продолжительных поисков был обнаружен еще один RDP-клиент фирмы 2X. Скачать его можно . Оказалось, что он умеет все вышеперечисленное, бесплатен и к тому же еще поддерживает MS RDP версии 7.0 и активно развивается. Каково же было мое счатье, когда я узнал, что этот клиент входит в Thinstation!

Финишная прямая: конфигурируем и собираем

Тщательная конфигурация - тема большая, поэтому читаем в разделе «Конфигурационные файлы » для чего нужен каждый файл и где он должен лежать. В той статье описана конфигурация Thinstation версии 2.2.2. Здесь я расскажу про то, что изменилось в новой версии и приведу примеры своих конфигурационных файлов: build.conf , thinstation.conf.buildtime и thinstation.conf.network .

Итак, комментирую параметры из конфигураций в примерах:

build.conf:

  • machine my_machine - помните, мы сгенерировали профиль для железа и сложили его в папку «my_machine «? Это она и есть!
  • package xorg7-vesa - выбираем Xorg-драйвер. Вот тут возникли проблемы, потому что родной драйвер для моего чипсета SIS не подошел и пришлось на практике выяснять, какой из оставшихся подойдет. Vesa работает с моим чипсетом хорошо. Возможно тут придется параметр подбирать на практике.
  • package ccidreader - пакет PCSC Lite, который позволит нам работать со смарт-картами.
  • package 2x, package alsa-lib - это и есть наш замечательный RDP-клиент. Правда на практике было выявлено, что ему для работы нужен пакет Alsa, поэтому включаем и его.
  • param fastboot false - если этот параметр выставлен в true , то наш загрузочный образ будет разбит на основной и подгружаемую часть. К сожалению моя сетевая карта нецелый образ грузить отказалась, поэтому генерируем образ целым.
  • param basepath config - указывает, в какой папке на TFTP-сервере будут находиться конфигурационные файлы для клиентов (thinstation.conf.network , например).
  • #param rootpasswd и т.д. - комментируем параметры, которые задают какие-либо пароли. Если пароль рута закомментирован, то никто, даже если он читерски получит доступ к консоли Thinstation, не сможет залогиниться под рутом. И это хорошо)
  • param 2xurl - задает откуда будет скачан клиент 2X. Он будет скачан только один раз при первом запуске скрипта сборки.

thinstation.conf.buildtime:

  • DONT_VT_SWITCH_STATE=TRUE - не позволит пользователю через Ctrl+Alt+F3 переключиться в консоль.
  • DONT_ZAP_STATE=TRUE - не позволит пользователю через Ctrl+Alt+Backspace переинициализировать графический режим и опять же попасть в консоль.

И, наконец, пример описания запуска сессии для клиента 2X (thinstation.conf.network ):

    SESSION_0_TITLE ="2X"

    SESSION_0_TYPE =2X

    SESSION_0_2X_OPTIONS ="-m MX -C -u user -p password -s ssl://myTerminalServerIp"

    SESSION_0_AUTOSTART =ON

  • -m MX - режим клиента, MS RDP, полноэкранный.
  • -C - редирект смарт-карты.
  • -u user -p password - логично, юзер-пароль. Но! Мы ведь хотим авторизоваться по смарт-карте, а не по паролю! Все просто: дело в том, что текущий 2X клиент не запустится без параметров юзера и пароля, а выплюнет вас Segmentation fault. И это полный бред. Однако после длительных разговоров со службой поддержки они эту проблему в следующем релизе обещали решить. Пока же просто пишем несуществующего пользователя и пароль наобум и спокойно авторизуемся по смарт-карте, как будто так и надо.
  • -s ssl://myTerminalServerIp - адрес сервера, к которомы будем подключаться. ssl указывает на то, что будет использован TLS 1.0.

С конфигурированием закончили. Теперь собираем клиента: запускаем скрипт setup-chroot.sh и вводим:

    cd ts/ 2.5

    ./ build

Полученный образ складываем в корень TFTP-сервера. Также в корне TFTP-сервера создаем папку «config » (та, которую мы указали в build.conf ) и копируем в нее файл thinstation.conf.network .

Все готово! Запускаем, проверяем, видим окошко логина терминального сервера и радуемся!