Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Интернет через терминальный сервер в локальной сети

Самый безопасный доступ в Интернет для пользователей локальной сети государственной организации (или не важно где), это использование браузера на терминальном сервере. В результате, пользователь будет получать только картинку от браузера с сервера, а рабочий компьютер сотрудника будет "белым и пушистым".

Рассмотрим требование начальства, что разрешить и запретить пользователям, при доступе в Интернет через браузер терминального сервера:

1. Обеспечить доступ к сайтам в Интернет, через прокси-сервер. (будем считать что прокси-сервер уже где то есть)

2. Разрешить или запретить использовать Adobe Flash Player на усмотрение начальника, так как он слишком прожорливый, и для работы в основном не нужен.

3. Разрешить копировать текст с сайтов в свой буфер обмена, что бы сохранять его у себя на компьютере.

4. Разрешить скачивать себе на компьютер файлы, но при этом запретить скачивать файлы с определённым расширением (exe,bat и такое прочее).

5. Запретить копировать текст из файлов своего компьютера и передавать его в Интернет.

6. Запретить передачу файлов со своего компьютера в Интернет.

Установка и операционной системы CentOS-6.7 и дополнительных пакетов

1. Для начала установим CentOS-6.7-x86_64-minimal (ничего лишнего)

Для удалённого доступа к Linux CentOS лучше использовать:

WinSCP - для создания и редактирования файлов

PuTTY - для выполнения команд в терминале

2. При желании отключим SELinux и Iptables и перегрузим компьютер.

shutdown -r now

3. Установка браузера

yum groupinstall "Internet Browser"

4. Установка Adobe Flash Player

rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl

Перегрузим компьютер

5. Установим сервер samba

yum install samba samba-client samba-common -y

поставим его в автозапуск

chkconfig smb on
chkconfig nmb on

6. Установим webmin для облегчения управления сервером.

yum install perl perl-Net-SSLeay openssl perl-IO-Tty
rpm -Uhv http://prdownloads.sourceforge.net/webadmin/webmin-1.760-1.noarch.rpm

Перегрузим компьютер

7. Обновим систему до актуальной.

yum update -y

Перегрузим компьютер

8. Добавим репозитории rpmforge и epel

rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

9. По желанию установить утилиты.

yum install htop iftop ifstat nmap -y

10. При желании, что бы наш сервер можно было выключить лёгким нажатием кнопки питания, установить

yum install acpid -y

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

yum install setxkbmap

Перегрузим компьютер

shutdown -r now

Установка терминального сервера X2Go Server

1. Создать файл: /etc/yum.repos.d/x2go.repo

[x2go-releases]
name=Upstream X2Go Packages (release builds)
baseurl=http://packages.x2go.org/epel/$releasever/main/$basearch
gpgcheck=0
enabled=1
protect=0
#[x2go-nightly]
#name=Upstream X2Go Packages (nightly builds)
#baseurl=http://packages.x2go.org/epel/$releasever/heuler/$basearch
#gpgcheck=0
#enabled=1
#protect=0
[x2go-extras]
name=Upstream X2Go Packages (extra packages)
baseurl=http://packages.x2go.org/epel/$releasever/extras/$basearch
gpgcheck=0
enabled=1
protect=0

2. Как позже выяснилось, нужно доставить ещё один пакет, так что поставим его сразу

yum install perl-File-BaseDir -y

3. На случай если начальство передумает, и разрешит двухсторонний обмен файлами. Для этого нам пригодится монтирование папок с компьютера пользователя на сервер, добавим пакеты,  (для этого добавить пользователя в группу fuse ).

yum install fuse fuse-libs fuse-sshfs -y

4. Теперь установим x2goserver

yum install x2goserver
yum install x2goserver-xsession

5. Раскомментировать строку в файле /etc/x2go/x2goagent.options

#X2GO_NXAGENT_DEFAULT_OPTIONS+=" -clipboard both"

и указать нужное значение

both - по умолчанию разрешить буфер обмена между клиентом и терминальным сервером
client - разрешить передачу данных через буфер обмена (clipboard) только от клиента на терминальный сервер
server - разрешить передачу данных через буфер обмена (clipboard) только от терминального сервера клиенту
none - запретить передачу данных через буфер обмена (clipboard) от клиента на терминальный сервер и наоброт

В моем случае это так

X2GO_NXAGENT_DEFAULT_OPTIONS+=" -clipboard server"

6. Создать файл /bin/runff.sh

#!/bin/bash
# запускаем все в одной оболочке
/bin/bash << EOF
# если возникают проблемы с клавиатурой, то раскомментируем строку ниже:
#/etc/nxserver/fixkeyboard
# настройка переключения с русской клавиатуры на английскую через Ctrl+Shift
setxkbmap -rules xorg -model pc105 -layout "us,ru,ua" -option "grp:ctrl_shift_toggle"
#setxkbmap -rules xorg -model pc105 -layout "us,ru(winkeys)" -option "grp:ctrl_shift_toggle"
# установка точки вместо запятой на дополнительной клавиатуре
xmodmap -e "keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal"
# Команда запуска firefox:
firefox
#
EOF

Сделаем его исполняемым

chmod +x /bin/runff.sh

Перегрузим компьютер

shutdown -r now

Настроить сервер samba через webmin

Службы -> Файл-сервер Samba

Менеджер ресурсов Samba

homes -> Управление безопасностью и доступом -> -> Разрешена запись? - нет

Сохранить и Вернуться к список ресурсов

Пользователи Samba

Синхронизация пользователей

Добавлять пользователя Samba при добавлении пользователя Unix -    Да
Изменить пользователя Samba при изменении пользователя Unix -    Нет (если Да, то при изменении профиля пользователя, учётная запись пользователя блокируется для Samba)
Удалить пользователя Samba при удалении пользователя Unix -    Да
Удаление перемещаемого профиля при удалении пользователя Unix -    Да
Переименовать перемещаемый профиль, когда пользователь Unix переименован - Да
Группы SID или RID для новых пользователей - По умолчанию

Применить

Перезапуск серверов Samba

Создание ключей для подключения из Windows

Что бы работала авторизация по ключу без пароля, отредактируйте файл /etc/ssh/sshd_config, раскомментировать строки

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys

Перезапустить сервис sshd

service sshd restart

1. Создать личный ключ и открытый ключ

Запустить PuTTYgen (входит в состав PuTTY )

Выбирать ключ SSH -2 RSA и длину 1024 или 2048 бит. Жмем «Генерировать». Лучше использовать нестандартную длину ключей, типа 2047 бит.

Хаотично перемещайте мышкой внутри окна

При создании личного ключа, Вам будет предложено ввести парольную фразу. Как поступать, решайте сами. Если да, то пишем парольную фразу на 12 символов - PaSSw0rd1234

Сохраняем открытый ключ как mykeyrsa2.pub и личный ключ как mykey.ppk

После этого созданный личный ключ mykey.ppk надо импортировать в PuTTYgen и экспортировать в формат  OpenSSH

Сохраним его как mykeyx2go.ppk

Теперь открытый ключ надо скопировать на сервер и импортировать в authorized_keys формата OpenSSH

Скопировать ключ mykeyrsa2.pub в /tmp/

Создать папку .ssh в директории, откуда копируются файлы для нового пользователя

mkdir -m 700 /etc/skel/.ssh

Теперь выполнить

ssh-keygen -i -f /tmp/mykeyrsa2.pub >> /etc/skel/.ssh/authorized_keys
chmod 600 /etc/skel/.ssh/authorized_keys

Теперь можно удалить файл mykeyrsa2.pub, он нам больше не понадобится.

rm -f /tmp/mykeyrsa2.pub

Ключ для пользователя на сервере готов к использованию

Примечание: если Вы желаете для каждого пользователя свой ключ, то эти команды надо выполнять от имени пользователя и создавать папки и файлы именно в директории пользователя

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

Система -> Пользователи и группы -> Локальные группы

Создать новую группу -> Имя группы  - internet

Настройка модуля

Права на новые домашние каталоги - 700
Создавать новую группу для новых пользователей? - Нет
Основная группа для новых пользователей - internet
Оболочка для новых пользователей - /bin/bash

Для начала, лучше создать одного пользователя, например user.

Система -> Пользователи и группы -> Создать нового пользователя

Имя - user
Настоящее имя - Имя фамилия
Пароль - Вход запрещен (Это то, что нам надо, так как для авторизации на сервере будем использовать ключ.)

Как подключиться к терминальному серверу X2Go из Windows ?

Для подключения к терминальному серверу X2Go из Windows есть специально клиентское приложение, скачать его можно с официального сайта.
http://wiki.x2go.org/doku.php/start
http://code.x2go.org/releases/binary-win32/x2goclient/releases/

На некоторых ОС Windows 7 у меня не запускался pulseaudio и не работал звук, проблему решил клиент с old pulseaudio
http://code.x2go.org/releases/binary-win32/x2goclient/with-old-pulseaudio-0.9.6/releases/

Программа X2Go Client for Windows почти вся русифицирована и не требует описания, там всё понятно.

Запустить клиент, и ввести данный для авторизации

Создать ярлык на рабочем столе

После открытия Mozilla Firefox сделать все пользовательские настройки, а именно:

Настройки

Установить стартовую страницу, отключить историю, указать прокси-сервер и так далее

Дополнения

Отключить плагины - Adobe Flash Player и так далее (можно включать кому это необходимо)

Установить расширения - Adblock Plus, Window and Tab Limiter, Menu Filter, Public Fox

Adblock Plus - что бы оградить пользователей от рекламы, но учитывая что при использовании Adblock Plus используется на порядок больше оперативной памяти, лучше это сделать на прокси-сервере, если он это позволяет.

Window and Tab Limiter - что бы пользователи не наглели, и не открывали большое количество вкладок, для экономии оперативки ограничим их количество

Menu Filter - отключим все пункты меню, которые не нужны пользователю или могут навредить (например "Перезапустить без дополнений")

Public Fox - Запретить доступ к настройкам браузера Mozilla Firefox (about:config, about:addons, about:preferences)

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

После того как Вы настроите всё что надо для пользователя user, можно отключиться от терминального сервера.

Что бы для новых пользователей применялись настройки браузера, скопируем их в директорию /etc/skel/

mv /etc/skel/.mozilla /etc/skel/.mozilla.bak
cp -a /home/user/.mozilla /etc/skel/

Теперь можно создавать новых пользователей.

Как получить доступ к файлам на сервере, которые пользователи скачали с Интернет

Для этого мы установили, настроили сервер Samba и дали доступ только для чтения.

Пользователь может подключить сетевой диск, указать что надо восстанавливать при входе в систему. (при необходимости)

Папка: \\192.168.100.101\homes\

Ввести имя пользователя (пароль не требуется) и запомнить это подключение.

Всё, все требования для работы пользователя в Интернет выполнены.

Примечание: если доступ браузера в Интернет настроен без прокси-сервера, желательно настроить Iptables и запретить нежелательные соединение для локальной сети. Так как пользователь сможет скачивать браузером файлы на сервер из локальной сети и передавать их в Интернет.

Заключение:

Если Вы при создании ключа, не ввели парольную фразу, то есть риск от внутренних хулигнов. На всякий случай усложним жизнь тем, кто захочет зайти через другую дверь (WinSCP или PuTTY).

chmod 700 /usr/libexec/openssh/sftp-server
chmod 700 /usr/bin/sftp
chmod 700 /usr/bin/curl
chown root:fuse /usr/bin/ssh
chown root:fuse /usr/bin/scp
chmod 750 /usr/bin/ssh
chmod 750 /usr/bin/scp

Примечание:  если chmod 750 /usr/bin/scp, то по непонятным причинам перестаёт работать переключение языков. Так что я не применял эти chown и chmod, а написал исключительно для примера.

На всякий случай запретим авторизацию по паролю и разрешим для root только по ключу (для root сделать свои ключи)

/etc/ssh/sshd_config

PasswordAuthentication no
PermitRootLogin without-password

Запретим пользователю использовать команду su (кому можно, должны быть в группе wheel)

/etc/pam.d/su

Раскомментировать строку

auth        required    pam_wheel.so use_uid

Автоматическая вставка парольной фразы (или пароля) при авторизации.

Если Вы ввели парольную фразу при создании ключа, то при авторизации по ключу, будет окно с предложением ввести пароль. Что бы автоматически вставить пароль, напишем небольшой скрипт

Так как это отдельная тема, я написал отдельную статью

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

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить