Смотрим плавность хода с помощью BMW Rheingold

Всем знакома ситуация, когда двигатель немного "троит", но пропусков зажигания нет...

Дельта-синхронизация крипто-дисков

Существуют разные способы зашифровать "облако". Один из них - поместить в облако крипто-диск. В предыдущей статье мы писали, почему это не всегда удобно.

Дельта синхронизация без облака

Ранее мы показывали разные способы синхронизации криптодиска между ПК и Android-устройством.

Облачный хостинг VDS за 2 минуты

Настоящий облачный VDS-хостинг от UltraVDS: тестируем производительность

Защищенная система своими руками. Вариант 2


Автор: Денис Колисниченко (dhsilabs@gmail.com)

Статья писалась для Хакера, но не формат. Поэтому будет так сказать эксклюзив для моего сайта - больше нигде она не публиковалась. Изначально все было написано на базе Linux. Потом было переписано на примере винды. Потом оказалось на этом сайте. Также есть первый вариант.

Что будем защищать

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

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

Как будем защищать

А вот тут начинается самое интересное. Спрашивается, как с помощью TrueCrypt и TOR построить действительно защищенную систему? Ведь можно просто установить тот же TrueCrypt и TOR (операционка значения не имеет, поскольку эти программы работают, как в Windows, так и в Linux и Mac OS X). Но, согласись, это было бы не интересно. Совсем не интересно.

Чтобы создать оптимальную концепцию защиты, нужно продумать, зачем она тебе нужна и в какой степени:

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

* Случай чуть сложнее: нужно шифровать все файлы на винте, точнее все файлы на единственном системном диске C:, поскольку ты не приучен к порядку и файлы с важными данными могут находиться везде. Требование к шифрованию трафика такое же, но может быть ты хочешь еще шифровать не только http, но и другие протоколы.

* Полная паранойя и полная мобильность: ты полностью шифруешь отдельный жесткий диск (возможно, внешний) или создаешь в TrueCrypt зашифрованный файл, который будет использоваться как отдельный винт и который при необходимости можно будет скопировать куда угодно. На этот зашифрованный файл/диск устанавливается виртуальная машина, а в ней уже настраивается Tor, но так чтобы через него проходили все соединения всех Интернет-программ.

Теперь рассмотрим каждый из этих вариантов подробнее.

Самый тривиальный вариант

Здесь все просто: достаточно установить TrueCrypt, зашифровать какой-то раздел жесткого диска или просто создать зашифрованный файл на диске, скажем, объемом 20 Гб. На него ты поместишь все свои файлы, требующие защиты. Я даже больше склоняюсь к созданию файла, а не к шифрованию раздела. Файл размонтировал и его не видно. Конечно, можно произвести поиск по размеру, но на первый взгляд он вообще не бросается в глаза, что хорошо для "маскировки". Дла еще большей маскировки можно присвоить ему расширение видео файла (например, .mkv) - такие файлы могут занимать несколько Гб места (скажем 8-10 Гб), что хватит для ВМ и не вызовет подозрений.

Параллельно устанавливаешь Tor, через которые ты будешь посещать некоторые (не все) сайты.

Удобно. Подробных инструкций не будет (читай далее, чтобы узнать, как использовать TrueCrypt), так как все просто. Еще раз отмечу, что и Tor, и TrueCrypt доступны для всех трех самых популярных ОС - Windows/Mac OS/Linux, поэтому какая у тебя операционка значения не имеет.

Чуть сложнее: шифрование всего системного раздела

С помощью TrueCrypt ты можешь зашифровать весь системный диск, но я не рекомендую этого делать. Во-первых, вносятся изменения в процесс загрузки системы (ведь пароль TrueCrypt нужно вводить до загрузки системы) и еще не известно, как TrueCrypt повлияет на загрузку, если у тебя установлено две системы, например, Windows и Linux. Лично я не проверял, что произойдет с GRUB2 после изменений в MBR, и у меня нет никакого желания это делать.

Во-вторых, шифровать же нужно далеко не все файлы. Зачем шифровать системные файлы Windows, файлы программ - они одинаковы у всех, у тебя в этих файлах точно не будет ничего секретного? Поэтому все же лучше зашифровать отдельный диск, на котором будут храниться твои данные и, возможно, будут установлены программы, которые ты хочешь скрыть, например, та же 1С. Так что я все-таки рекомендую или первый или третий вариант - по твоему усмотрению. Конечно, при желании TrueCrypt может зашифровать весь системный диск. Если уж собрался шифровать весь диск, тогда хоть выбери алгоритм шифрования AES - он не только надежен, но и аппаратно ускоряется интеловскими процами (актуально, если у тебя Интел) - хоть как-то компенсируешь потери в производительности.

Что касается защиты не только веб-трафика, но и той же аськи или почты, можно настроить клиенты для работы через TOR. Главное, чтобы программы позволяли установить адрес и порт прокси. Указываешь localhost:9050 и наслаждаешься безопасной работой. Если программы не умеют использовать прокси, меняешь программы и устанавливаешь те, которые умеют. Это самый простой вариант. Можно, конечно, настроить прозрачный прокси и тогда все программы будут работать через TOR, в этом варианте его настройка отличается для каждой ОС, и в журнале просто нет для этого места. Да и нет особой необходимости - ведь далее будет описан самый параноидальный вариант.

Для параноиков

Общий смысл этого способа был описан выше: создаем зашифрованный диск, на который помещаем виртуальную машину (гостевая ОС значения не имеет - это может быть Windows, может - Linux, а может какая-то другая, для которой есть версия Tor). В гостевой ОС уже мы ставим TOR и делаем так, чтобы весь трафик передавался через него, со всех программ. Вот она абсолютная защищенность! С одной стороны, файлы виртуальной машины будут шифроваться TrueCrypt. С другой стороны, весь доступ к Интернету будет осуществляться через виртуальную машину. Да, пусть скорость Интернет-соединения через TOR будет медленной, но зато защищенной. А даже если в твоей виртуалке и появится какая-то программа, которая будет сливать данные "на сторону", ничего страшного - они будут анонимными и не будет никаких доказательств, что они были слиты именно с твоего компа.

Пару слов о гостевой ОС. В виртуальную машину можно установить абсолютно любую ОС, лишь бы для нее была версия Tor, а сейчас это - Windows, Linux и Mac OS. В этой статье мы установим Windows, поскольку Linux в этой рубрике не рассматривается. Linux - это система с открытым кодом, поэтому в ней меньше вероятность разных "закладок", которые могут быть (а могут и не быть) в Windows или Mac OS (такое предположение делается только потому, что код этих ОС закрыт). Настоящим параноикам я все же рекомендую в ВМ установить Linux и найти в Сети описание настройки Tor для Linux.

Реализация

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

Первым делом ставим и запускам TrueCrypt. Нажимаем кнопку "Create Volume" для начала создания зашифрованного диска. В появившемся окне (рис. 1) выбираем "Create an encrypted file container". Этим ты создашь виртуальный зашифрованный диск, который будет сохранен в файловой системе, как обычный файл. В большинстве случаев рекомендуется именно этот вариант.

Рис. 1. Тип шифрованного тома

Далее нужно ответить на вопросы, задаваемые мастером создания зашифрованного тома. Обрати внимание на следующее: алгоритм шифрования (рис. 2), размер шифрованного тома (рис. 3) и пароль.

Рис. 2. Выбор типа шифрования

Рис. 3. Размер тома

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

Что касается размера тома, то все зависит от ОС, которую ты будешь устанавливать и от того, как ты планируешь использовать ВМ. Если ВМ будет использоваться только для доступа к Интернету. Для Linux вполне хватит 10 Гб, для Windows 7 - 20 Гб. Но это необходимый минимум. Если планируется какая-то обработка данных в ВМ, нужно добавить еще дисковое пространство. Чтобы огромные файлы не привлекали внимание, создай несколько файлов по 20 Гб, на каждом из таких дисков потом создашь виртуальные жесткие диски VMWare и присоединишь их к ВМ.

Теперь о пароле. Программа рекомендует пароль не меньше 20 символов. Это хорошо, но вряд ли ты такой запомнишь. А записать его на бумажке или в каком-то файле, который будет находиться, понятно, в незашифрованной области винта… А смысл тогда все это было устанавливать? Поэтому выбираем пароль длиной 8-12 символов, но обязательно, чтобы в нем бы как цифры, так и буквы в разном регистре. Можно также поместить какой-то специальный символ вроде #. Пример хорошего пароля: HoM#e0691.

После того, как диск будет создан, выбери его в TrueCrypt и нажми кнопку Mount. На рис. 4 видно, что я подмонтировал зашифрованный диск к букве Z:. При монтировании программа попросит ввести пароль, указанный при создании диска.

Рис. 4. Шифрованный диск подмонтирован к букве Z:

Теперь, когда шифрованный диск создан, можно приступить ко второму этапу. Создай виртуальную машину, виртуальный диск которой нужно поместить на шифрованный диск Z:. Виртуальную машину можно создавать в той программе, которая тебе больше нравится - это можно быть VirtualBox или VMWare или любая другая. При создании ВМ установи режим сетевого адаптера ВМ - Host Only/Только-узел (так нужно для последующей настройки, иначе приведенная конфигурация не будет работать).

На рис. 5 видно, что я создаю дополнительный жесткий диск для VMWare размером 10 Гб (он будет отображаться как отдельный логический диск в гостевой ОС), а на рис. 6, что я сохраняют этот диск на нашем зашифрованном диске (диск Z:).

Рис. 5. Создание дополнительного жесткого диска для ВМ

Рис. 6. Сохранение жесткого диска ВМ на зашифрованном диске Z:

Рис. 7. Режим работы адаптера ВМ: только узел (host only)

После установки гостевой ОС в виртуальную машину нужно установить TOR. Напомню, что Tor можно скачать по адресу https://www.torproject.org/. Все бы хорошо, но после установки Tor ты получишь один только браузер, через который можно выходить в Интернет. Остальные программы придется настраивать на работу через Tor, что не очень удобно - во-первых, программ много и каждую нужно настроить отдельно. Следовательно, описать в статье, как настраивать все эти программы - просто невозможно. Во-вторых, дополнительные плагины, например, Flash, могут работать в обход Tor, поэтому даже если ты настроишь другой браузер, скажем Opera, на работу через Tor, некоторые его плагины могут "раскрыть" тебя. Поэтому нужно настроить систему так, что весь трафик будет идти через Tor. Преимущества очевидны - не нужно настраивать отдельные программы и разные плагины/программы не смогут обойти защищенное/анонимизированное соединение.

Очень скоро появится программа Tortilla, позволяющая очень просто и элегантно "торифицировать" весь Tor-трафик. Но пока программы только анонсирована, а мы будем использовать другие средства, а именно программу tun2socks, которая используя виртуальный сетевой адаптер TUN/TA, может отправить весь трафик через SOCKS-прокси.

Нам понадобится следующий софт (кроме Tor): BadVPN и OpenVPN. Внутри первого пакета есть программа tun2socks, а второй используется для создания виртуального адаптера.

Поскольку мы установили режим Host-Only для сетевого адаптера ВМ, то из гостевой ОС будет видна только наша физическая машина, а не весь Интернет. Назначим фиксированные IP-адреса адаптерам физической и гостевой ОС, например, 192.168.100.1 и 192.168.100.2 (соответственно).

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

SocksListenAddress 192.168.100.1 
DNSListenAddress 192.168.100.1

Первая "вешает" Tor на порт 9050 (по умолчанию) интерфейса 192.168.100.1. Вторая - включает DNS-сервер Tor (что нужно для защиты DNS-соединений через Tor). На гостевой ОС устанавливаем OpenVPN. После этого в сетевых подключениях Windows появится сетевой адаптер TUN/TAP. Пока его статус будет "сетевой кабель не подключен". Назоваем его tun (чтоб имя было короче) и приступим к подключению виртуального кабеля.

Рис. 8. Созданный TAP-адаптер

Далее на ВМ устанавливаем badvpn (точнее распаковываем его куда-то). В папке bin будет программа badvpn-tun2sock.exe, ее нужно запустить со следующими параметрами:

--tundev  --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 192.168.100.1:9050

Самый важный параметр - , определяющая конфигурацию туннеля. Это строка вида: tap0901:tun:10.0.0.1:10.0.0.0:255.255.255.0, где tun - это имя сетевого соединения TUN/TAP (теперь понимаешь, почему нужно было выбрать имя короче). Далее следует конфигурация виртуального адаптера - 10.0.0.1 - адрес адаптера, 10.0.0.0 - адрес сети, 255.255.255.0 - маска сети.

Параметр --socks-server-addr задает IP-адрес прокси, который установлен на физической машине. В нашем случае роль прокси выполняет Tor. Параметр --netif-ipaddr задает имя виртуального роутера, который будет выступать в качестве Интернет-шлюза, а --netif-netmask задает маску сети.

После запуска badvpn-tun2sock состояние адаптера изменится на "Подключено". Затем в свойствах этого адаптера (с именем tun) нужно настроить шлюз и DNS-сервер. В роли шлюза будет выступать виртуальный роутер 10.0.0.2, а в качестве DNS-сервера - 192.168.100.1:53 (DNS-сервер Tor).

Рис. 9. Состояние адаптера изменено

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

Способ проще

Как вседа, есть способ проще. Но он платный. Суть заключается в следующем. Процесс шифрования данных на диске и создания ВМ ничем не отличается. Отличается настройка самой ВМ. Во-первых, вместо Host Only выбираем тип подключения NAT. Во-вторых, ничего не нужно устанавливать на физическую машину. В гостевой ОС нужно установить только OpenVPN и зарегистрироваться на их сайте, чтобы получить логин и пароль, все это бесплатно (до определенного момента). Полученные логин и пароль вводим в программу PrivateTunnel (рис. 10). Вот и все. Теперь весь твой трафик идет через твой собственный приватный туннель. IP-адрес (примерный) можно выбрать с помощью параметра Tunnel to (рис. 11). Ссылка My Usage (рис. 12) позволяет просмотреть, сколько трафика ты использовал. В моем случае я использовал 1.53 Мб, всего лишь полазив по одной страничке.

Рис. 10. Программа PrivateTunnel

Рис. 11. Состояние адаптера изменено

Рис. 12. Статистика

Если зайдешь на https://www.geoiptool.com/, то сможешь просмотреть информацию о твоем IP-адресе. Сейчас (согласно выбранному параметру Tunnel to) я нахожусь в San Jose. Данные шифруются, твой IP скрыт и все это очень просто. Но за все нужно платить. Бесплатные 100 Мб (да, именно Мб) очень быстро закончатся. За следющие 50 Гб нужно заплатить 12 долларов или 20 долларов за 100 Гб (ну или 50 долларов за 500 Гб). Дорого это или нет - решать тебе. Одно хорошо - нет никакой ежемесячной платы, ты платишь только за используемый трафик.

Рис. 13. IP-адрес скрыт

Рис. 14. Тарифы

Выводы

Использовать Tor однозначно дешевле, точнее он вообще бесплатен. Что касается защиты, то ни одно из средств не гарантирует полной анонимности и защиты твоих данных. Нельзя быть уверенным, что сервис, обеспечиваемый OpenVPN, "не сливает" данные третьей стороне. Но и Tor в этом плане не совсем безопасен. Где гарантия, что один из узлов Тора не является той самой "третьей стороной"?

Ссылки

TrueCrypt: https://www.truecrypt.org

TOR: torproject.org

Tortilla: https://www.xakep.ru/post/60922/

BadVPN: https://code.google.com/p/badvpn/downloads/list

OpenVPN: https://openvpn.net/

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