top
logo


Категория - FAQ/Общие вопросы
Безопасность в туннеле, или stunnel на страже коммуникаций PDF Печать E-mail
02.01.13 11:03

Безопасность в туннеле, или stunnel на страже коммуникаций

Filed under: Практика — timothy_ha @ 20:18

На днях столкнулся реальной проблемой, которая отняла у меня немало часов возни со своим Linux’ом – я отправился в отпуск с ноутбуком (конечно, отпуск это отрада, а не проблема). Вроде Wi-Fi интерфейс есть, Linux работает и подсоединяется с Интернетом везде. Но все коммуникации (почта, Web, ICQ, Yahoo Messenger) идут по тем каналам, которые я совсем не знаю – кто их прослушивает, как они фильтруются и т.п. Совсем не хотелось в какой-нибудь гостинице “случайно” потерять свои пароли, которые в случае FTP, ICQ или многих веб-сайтов (например, форумов, где я участвую, или блогов, где пишу) идут открытым текстом в TCP/IP трафике. Ведь в наше время любой администратор сети может поставить программу-сниффер для прослушивания локальной сети и автоматического сбора паролей. Вот и пришлось повозиться, решая данную задачу.

С почтой кое-как разобрался. Настроил почтовый сервер в компании на работу с SSL как при получении, так и при отправке. Но что делать с другим трафиком? Было два варианта: настроить VPN-сервер на сервере фирмы и ходить через этот канал (поверх канала, который предоставляет местный провайдер), или же построить шифрованный туннель посредством маленькой программы stunnel. Почему-то OpenVPN не получилось настроить даже после двух дней изучения – признаюсь, был занят отпускными хлопотами, не разобрался – поэтому я вспомнил про stunnel.

Stunnel (веб-сайт stunnel.org) это маленькая программа, которая сидит как на серверной, так и на клиентской стороне, чтобы соединить два порта (клиентский и серверный) шифрованным каналом. Ее часто используют, чтобы добавить “секурный” порт веб-серверу, который не поддерживает SSL, или то же самое – почтовому серверу, работающему только по POP3 и только на 110-м порте. Серверный скрипт “вешается” на порт 443 и передает (внутри сервера) все запросы на порт 80 – в случае веб-сервера. Весь трафик от клиента до сервера идет по надежному каналу, а внутренний трафик никто прослушать уже не сможет, не взломав сам сервер.

Что же надо сделать на стороне клиента? Поставив stunnel на клиентскую машину, можно запрашивать не 80-й порт сервера, а 80-й порт локальной машины, а уже с этого порта будет туннель на 443-й порт сервера. Конечно, тут пример неудачный получился, потому что современные браузеры и так умеют общаться с 443-ми портами веб-серверов. Но в моем случае надо было защитить еще и “аську”. По этой причине я решил, что все программы, работающие с Интернетом, будут использовать прокси, а общаться с прокси буду по защищенному каналу. Следовательно, была выбрана такая архитектура:

  1. на сервере прокси-сервер squid слушает запросы на порте 3128, как обычно. Прокси запрашивает пароль при первом входе
  2. на сервере stunnel слушает порт 3129 (взят с потолка), перенаправляя все запросы на 3128
  3. на клиенте stunnel слушает порт 3128 и соединяется с сервером на 3129 защищенным образом
  4. все программы настроены на работу с “прокси-сервером” по адресу 127.0.0.1: 3128.

Теперь все программы общаются с местным прокси “открытым текстом”. Этот текст затем шифруется и отправляется по туннелю на сервер и там обрабатывается. Результат запроса (страницы веба, сообщения от людей и т.п.) возвращаются по туннелю на мою машину. Теперь ни один человек не сможет это перехватить! Конечно теоретически :-) , а практически, может быть, моя машина дырявая.

Но теперь работать стало значительно спокойнее. Думаю, что и дома буду продолжать использовать установленный туннель. Зачем ломать то, что работает, при том, что оно еще и надежнее, чем обычно.

Кому интересно, как я все настроил, то настройки были произведены следующие. Напомню, что работаю в основном с Redhat-серверами и Fedora на десктопе. На обоих концах я установил stunnel (up2date -i stunnel на сервере и yum install stunnel на десктопе). У меня версия 4, поэтому конфигурационные файлы приводятся для этой версии. Внимание! На сайте stunnel.org пока что устаревшая документация, формат команд от третьей версии…

Сервер: файл /etc/stunnel/stunnel.conf

[root@www root]# more /etc/stunnel/stunnel.conf
# Provide the full path to your certificate-key pair file
cert = /etc/stunnel/stunnel.pem
# lock the process into a chroot jail
chroot = /var/run/stunnel/
# and create the PID file in this jail
pid = /stunnel.pid
# change the UID and GID of the process for security reasons
setuid = nobody
setgid = nobody

# Configure our secured services
##debug = 7
##output = /var/log/stunnel.log
[ssquid]
accept = 3129
connect = 3128

Всего несколько строчек (не считая комментариев)!

Клиент: тоже /etc/stunnel/stunnel.conf

[tim@localhost ~]$ sudo more /etc/stunnel/stunnel.conf
Password:
cert = /etc/stunnel/stunnel.pem
# chroot = /var/tmp/stunnel

# PID is created inside chroot jail
# pid = /stunnel.pid

#setuid = stunnel
#setgid = stunnel

client = yes

##debug = 7
##output = /var/log/stunnel.log

[3129]
accept = 3128
connect = адрес_IP_сервера:3129

Тоже всего чуть-чуть! Разница только в флаге client=yes и адресе для параметра connect. Архитектура очень прозрачная.

Я также хотел бы помочь тем, кто устанавливает это впервые – я сам испытал это на себе – не сразу понятно, откуда взять нужный stunnel.pem – ключ для шифрования канала. Его можно сгенерировать из веб-интерфейса на stunnel.org, но это если совсем туго и у меня полученный ключ не работал – видимо, сайт генерит его для старой версии 3. Но затем я нашел простое решение для redhat-подобных дистрибутивов. Это, опять же, всего две команды:

cd /usr/share/ssl/certs

make /etc/stunnel/stunnel.pem

Надо только ответить на несколько вопросов скрипта make – отвечать можно произвольным образом, если этот сертификат больше нигде не будет использоваться. На моей локальной машине папки /usr/share/ssl/certs не нашлось (видимо, нужно установить openssl-devel), поэтому я поступил еще банальнее – скопировал на локальную машину файл stunnel.pem, полученный на сервере. :-)

После всего этого надо просто добавить в автозапуск – в redhat-подобных дистрибутивах можно использовать файл /etc/rc.local – я в конец файла добавил строчку stunnel – и все!

После запуска команды stunnel на сервере и на клиенте (это только один раз нужно) туннель устанавливается и можно общаться без боязни прослушивания. Ура!

источник: http://www.prolinux.ru/linux-practice/stunnel-secure-communication/

ссылка на материал: http://thin.kiev.ua/categoryblog/726-stunnel.html

{jcomments on}

Последнее обновление 02.01.13 11:11
 
Виртуализация сервера 1С с HASP-ключом на Hyper-V PDF Печать E-mail
30.12.12 18:40

Виртуализация сервера 1С с HASP-ключом на Hyper-V

Сегодня, в рамках проекта по виртуализации парка аппаратных серверов, встал вопрос о корректной миграции сервера 1С в виртуальную среду. Как известно, 1С: Предприятие требует работы аппаратного ключа для LPT-порта или USB, как в моем случае. После обращения в компанию 1С с вопросами по поводу виртуализации, было предложено приобрести электронный ключ у франчайзеров, но уже с новой версией программного продукта. Ориентировочная стоимость такого решения - 40 тысяч рублей, а это многовато за виртуализацию одного сервера.




Пришлось искать более экономичное решение.


К сожалению, в Hyper-V не реализовано полноценного механизма подключения USB-устройств к виртуальным машинам. Это создает некоторый дискомфорт, в случае использования оборудования, без возможности работы по локальной сети. В процессе виртуализации(P2V) физического сервера, отрезаются все упоминания о шине USB и устройствах, подключенных к ней.



У основного конкурента - VMWare, механизм подключения USB-устройств реализован, однако имеет некоторые нюансы в настройке. Да и сам факт проброса USB сводит к нолю преимущества, получаемые от виртуализации физических серверов. При перемещении виртуальной машины с одного гипервизора на другой, необходимо будет каждый раз перетыкать ключ и заново настраивать переадресацию.



В данном случае, нам на помощь придет отличная программа USB-Redirector, осуществляющая проброс любого USB-устройства по локальной сети с одного сервера на другой. Стоимость самой скромной редакции - 65 евро, а для осуществления задуманного больше и не надо.

Программа работает как клиент-серверное решение, где сервер предоставляет доступ к одному или нескольким USB-девайсам, а клиент подключает их как собственные локальные ресурсы. В качестве клиентского приложения можно использовать бесплатный USB Redirector Lite. В качестве USB-сервера можно использовать любой компьютер, под управлением ОС Windows.







После установки серверной части, мы должны выбрать те устройства, которые нужно сделать доступными по сети. В моем случае, HASP определился как неизвестное устройство на порту 0001 хаба 0001. Для проброса, программе не требуется даже драйвера для устройства, он понадобится только на сервере 1С с клиентским приложением.







Для корректного клиентского - необходимо разрешить на обоих серверах доступ по порту 32032 для USB Redirector Service. Сама программа не создает правила для встроенного брандмауера, так что правила придется настраивать вручную.







После удачного дистанционного подключения нашего HASP-ключа, в диспетчере устройств появятся виртуальные USB-девайсы, драйвера на которые уже должны стоять на сервере. В случае LTP-ключа можно воспользоваться переходником LTP-to-USB, которые достаточно легко найти в розницу.


Вот в общем-то и все.

За 65 евро, мы получаем возможность виртуализировать до двух серверов 1С.


Надеюсь, что материал окажется для кого-то полезным.

 

источник: http://www.ivashentsev.ru/2009/12/1-hasp-hyper-v.html

ссылка на материал: http://thin.kiev.ua/categoryblog/720-1-hasp-hyper-v.html

{jcomments on}

Последнее обновление 30.12.12 18:43
 
О пробросе USB PDF Печать E-mail
30.12.12 18:37

Один из наиболее задаваемых вопросов - а может ли ESX пробрасывать USB порты в ВМ?

Я уже писал о том, почему не нужно делать подобный проброс, но частично все же повторюсь.

Использование портов хоста жестко привязывает ВМ к хосту. Она больше не может никуда мигрировать. Она даже не перезапустится в HA кластере при смерти хоста, на котором выполнялась - ведь нужный ей порт USB вместе с USB ключом, или что там было подключено, находится на недоступном хосте. Более того, как только появилась привязка к аппаратным ресурсам сервера, можно сказать "до свидания" снапшотам, а следовательно, и бэкапу данной ВМ. Впрочем, вполне возможно, что при цене 499$ за vSphere Essentials непосредственный проброс USB в ВМ (по слухам появится в июне в vSphere 4.1) в секторе SMB будет востребован. Решать, разумеется, вам.

Моя же рекомендация - в любом случае использовать USB-over-IP. И здесь есть варианты как аппаратные, так и в программные.


Аппаратные решения:

  • Digi AnywhereUSB - от 300$ за 2 USB порта.
  • Lantronix - производство прекращено, но есть шансы найти на вторичном рынке

Программные решения:


Upd: бесплатный вариант USB-over-IP возможен на базе Incentives Pro USB Redirector. Сервер USB Redirector бесплатен при установке под Linux, и при этом совместим с Windows клиентами.

{jcomments on}

Последнее обновление 30.12.12 18:40
 
ZFS лучше чем UFS, для файлового хранилища PDF Печать E-mail
27.12.12 15:03

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

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

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

Т.е. в после случайного удаления нужных файлов в ZFS достаточно восстановить состояние файловой системы до удаления. И всё.

Особенно приятно, что приличная реализация ZFS существует не только для Solaris, но и для FreeBSD. Для Linux же полного счастья с ZFS, на сколько я понимаю, наступить не может. По лицензионным ограничениям невозможно сделать ZFS частью ядра. Хорошо, что я выбрал FreeBSD в качестве операционной системы своего хранилища.

К сожалению, даже разработчики ZFS не волшебники. И если вы хотите сделать надёжное хранилище из двух дисков, то единственный путь — зеркалирование, как и в RAID-1.

{jcomments on}

 
Копируем открытые файлы при помощи Volume Shadow Copy Service. PDF Печать E-mail
27.12.12 14:55

Копируем открытые файлы при помощи Volume Shadow Copy Service.

Я думаю, все администраторы сталкиваются с задачей резервного копирования файловых серверов.
Если вы не резервируете ваши серверы – срочно подумайте о смене профессии.
Кто-то использует для этого специализированный софт от Symantec, HP и других производителей, но иногда дополнительный софт либо нет возможности приобрести, либо приобретение нецелесообразно.

Тогда на помощь приходят многочисленные утилиты копирования файлов – robocopy, SyncToy, Rsync, но существует определенное ограничение – они не могут копировать заблокированные и открытые на запись файлы (например, файлы личных папок PST, или файловые базы 1С).

Начиная с Windows XP и Server 2003, в клиентские и серверные ОС входит технология Shadow Copy , позволяющая делать «мгновенный снимок» тома. Эта технология автоматически задействуется когда, например, утилита ntbackup создает архив system state, или создается снимок для общей папки (Volume Shadow Copy for Shared Folders).

Есть возможность создавать снимки вручную при помощи vssadmin.exe, однако содержимое такого снимка можно просмотреть только при помощи клиента для “Volume Shadow Copy for shared folders”.

Для целей резервного копирования гораздо интереснее утилиты командной строки, входящие в пакет Volume Shadow Copy Service SDK, который можно скачать здесь.

Из всего пакета нас в первую очередь интересует утилита vshadow.exe. Она позволяет

- создавать и удалять снимок тома
- просматривать списки созданных снимков
- монтировать снимок
- экспортировать, импортировать снимки и восстанавливать состояние тома

Существует две версии vshadow с различным функционалом.

Для Windows 2003, Windows 2008 и Vista необходимо использовать эту версию:
«C:\Program Files\Microsoft\VSSSDK72\TestApps\vshadow\bin\release-server\vshadow.exe»

Для XP используется
«C:\Program Files\Microsoft\VSSSDK72\TestApps\vshadow\bin\release-xp\vshadow.exe»

Версия для XP, в первую очередь, отличается от «серверной» тем, что не может создавать «хранимые» (persistent) snapshot’ы, то есть по окончанию процесса резервирования snapshot удаляется. Это ограничение накладывает реализация VSS в XP.

Утилиту можно копировать на серверы, не устанавливая SDK.

В комплект SDK входит целый набор скриптов, выполняющих различные действия. Но они достаточно сложны для понимания, поэтому предлагаю рассмотреть максимально простой скрипт, который сделает резервную копию открытых файлов через VSS.

vshadow.exe –p –script=vars.cmd d:
call vars.cmd
xcopy x:\some_locked_file.pst c:\backup\
vshadow –ds=%SHADOW_ID_1%

По шагам:

1. Создаем хранимый snapshot тома

vshadow.exe –p –script=vars.cmd d:

-p хранимый snapshot

-script=vars.cmd командный файл, в который vshadow сохранит название снапшота

vshadow записывает в файл, указанный в параметре -script следующее:

@echo.
@echo [This script is generated by VSHADOW.EXE for the shadow set
@echo {6b228a73-f8bf-4254-90e7-0d58219bc554}]
@echo.
SET SHADOW_SET_ID={6b228a73-f8bf-4254-90e7-0d58219bc554}
SET SHADOW_ID_1={8d14c5fe-87c1-4dac-8459-9a46b2874ef1}
SET SHADOW_DEVICE_1=\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy16

D: том, для которого создается snapshot

2. Подключаем snapshot как диск

call vars.cmd
vshadow.exe -el=%SHADOW_ID_1%,X:

call vars.cmd – загружаем переменные окружения с именем снапшота
vshadow.exe -el=%SHADOW_ID_1%, X: — подключаем созданный snapshot как логический диск X:

3. Копируем файлы

xcopy x:\some_locked_file.pst c:\backup\

4. Удаляем snapshot

vshadow –ds=%SHADOW_ID_1%

Это все, господа. Ранее блокированый файл успешно скопировался.

Что почитать:

1) Volume Shadow Copy Service SDK. 7.2 Download http://www.microsoft.com/downloads/details.aspx?familyid=0b4f56e4-0ccc-4626-826a-ed2c4c95c871

2) http://blogs.msdn.com/adioltean/archive/2004/12/30/344476.aspx
http://blogs.msdn.com/adioltean/archive/2005/01/05/346793.aspx
http://blogs.msdn.com/adioltean/archive/2005/01/20/357836.aspx
http://blogs.msdn.com/adioltean/archive/2006/09/18/761515.aspx

{jcomments on}

 
« НачалоПредыдущая11121314151617181920СледующаяПоследняя »

Страница 13 из 25

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика