NSerega
Администратор
1. Введение
Будьте уверены, что всегда будут желающие позариться на чужие средства, хотим мы того или нет. Проблеме безопасности их хранения уже не первая тысяча лет, и она будет актуальна еще явно долгое время. В данной статье мне хотелось бы затронуть аспекты безопасности хранения средств в кошельке Bitcoin, хотя описанные ниже идеи и приемы можно использовать и для безопасного хранения других электронных кошельков и не только. Тем, кто только знакомится с биткоином, полезно будет сначала прочитать статью "Что такое биткоин?".
Анализ угроз
Для начала давайте определимся с угрозами, и как мы будем от них защищаться. Если вы используете кошелек версии ниже 0.4.0, то данные о ключах в нем хранятся в открытом виде, и злоумышленнику достаточно получить ваш файл wallet.dat чтобы похитить все ваши средства. Каким образом злоумышленник может получить этот файл? Самый распространенный способ - через программы "трояны", которые незаметно для пользователя выполняют действия злоумышленника. Получить такую программу можно из сети Интернет, скачав с сайтов вместе с другими программами "в довесок", получив незаметно с зараженных сайтов, получить по почте, с зараженной флэшки и еще много других способов. Еще одним способом попадания файла в руки злоумышленника может быть потеря флэшки с кошельком, или считывание с выброшенного жесткого диска, после апгрейда, например. Начиная с версии 0.4.0 в кошельке появилась функция шифрования, которую можно включить в опциях программы. Но не стоит надеяться на нее, как на панацею, вредоносные программы довольно быстро адаптируются к новым методам защиты, и ничего не помешает такой программе считать введенные с клавиатуры символы, когда вы вводите свой пароль.
Еще одной угрозой могут быть мошеннические действия, когда, например, недобросовестный трейдер покупает у вас BTC за PayPal, получает BTC, шлет жалобу на невыполненную сделку, PayPal отменяет платеж, и злоумышленник получает ваши средства ничего не заплатив. Другой пример - некий онлайн сервис, заявляющий, что на нем можно безопасно и удобно хранить свои средства, может даже получать проценты и другие полезные сервисы, в один не прекрасный момент закрывается и исчезает со всеми сбережениями доверявших ему клиентов. К сожалению, случаев подобных известно достаточно, и от таких действий техническая защита практически бесполезна, надо всегда думать своей головой, кому и зачем посылаются средства.
Из анализа угроз становится понятно, что наша цель- не допустить попадания вредоносных программ на компьютер, где хранится кошелек биткоин, ограничить физический доступ к кошельку и сделать невозможным использование кошелька при утере носителя, на котором он расположен.
Решить проблему попадания вредоносного ПО на компьютер, который используется для широкого круга задач, в том числе интернет-серфинга, получения почты, игр и т.д. довольно сложно, а покупать для этих целей отдельный компьютер не целесообразно в большинстве случаев. Исходя из этого, для хранения кошелька на компьютере мы установим виртуальную машину, которая будет использоваться только для работы с кошельком. Для решения проблемы неправомерного доступа и физической утери носителя будут настроены специальные права на кошелек и дополнительное шифрование файла с ключами.
В качестве гипервизора мной был выбран Oracle VirtualBox за свою бесплатность и универсальность. В качестве гостевой операционной системы будет использоваться Windows Server 2008 R2, у него есть довольно длительный тестовый период, которого хватит, чтобы отразить все описанные в статье нюансы настройки, а кому его не хватит, есть замечательная команда slmgr -rearm, которая может несколько раз запустить тестовый период с начала, и даже после его окончания ОС позволяет работать с собой. Для шифрования будет использована встроенная шифрующая файловая система EFS, а для контроля доступа внутри гостевой ОС будут особым образом настроены права ACL на папку с кошельком.
2. Установка дистрибутивов
Качаем Oracle VM VirtualBox с официального сайта:
Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle
Качаем Windows Server 2008 R2 with SP1 с официального сайта(понадобится live id):
Windows Server 2016 | Microsoft
На диске хост-машины, на котором будет лежать образ виртуальной машины, очень рекомендую включить теневое копирование. В Windows 7 оно включается в свойствах системы – защита системы.

Открываем VirtualBox, создаем новую виртуальную машину.

Жесткий диск советую делать не менее 20Гб, остальное по вкусу и возможностям компьютера. Заходим в настройки только что созданной виртуалки, на вкладке «Носители» справа от надписи «Привод» кликаем по значку диска, выбираем наш свежескачанный образ 2008 сервера. Все, можно запускать виртуальную машину. Указываем языки по вкусу, редакцию Standart (Full edition) нам вполне хватит. На этапе разбивки жесткого диска конфигурацию каждый под свои нужды рассчитывает, я разбил 80Гб диск на 30 под систему и 50 под данные.
Для надежности уберем возможность загрузки виртуальной машины с иных носителей, кроме основного жесткого диска после инсталляции ОС. Заходим при выключенной виртуалке в ее свойства и ставим первым и единственным загрузочным устройством жесткий диск, а CD-ROM вообще убираем из списка подключенных устройств.
Первое, что делаем после установки ОС и задания сложного(!) пароля администратора, это включение автоматического обновления и установка обновлений безопасности.
3. Настройка ОС
После установки всех обновлений безопасности включаем теневые копии на диске, где будет лежать кошелек, в 2008 сервере делается это в свойствах диска на вкладке Shadow Copies.

В тех же свойствах на вкладке General нужно убрать галку с разрешения индексировать файлы и папки.
Настройка сети
Заходим в свойства адаптера ( ncpa.cpl) local area connection и в Properties убираем галочки у всех протоколов и служб, кроме Internet Protocol Version 4. Параноики могут еще и сменить DHCP адрес на статический.
Настройка служб
Отключаем большинство не нужных для наших целей служб, это сузит круг потенциально опасных мест. Перейти к ним можно через Control Panel – All Control Panell Items – Administrative Tools – Services. Вот список служб, которые я отключил:
- Print spooler
- Remote registry
- Windows Remote Management
- Problem Reports and Solutions Control Panel Support
- Remote Access Auto Connection Manager
- Remote Access Connections Manager
- Remote Desktop Configuration
- Remote Desktop Services
- Remote Desktop Services UserMode Port Redirector
- WinHTTP Web Proxy Auto-Discovery Service
Ваш список может отличаться от моего в зависимости от соотношения лени и паранои.
Создание пользователей
Нам понадобится создать дополнительно 2 пользователя, под первым мы будем заходить на сервер, т.к. под Администратором это делать неправильно, и второй для работы с кошельком. Войти в оснастку управления пользователями можно командой lusrmgr.msc или через Computer Management. Первого пользователя я назову user, второго banker, на своих системах лучше назовите их по-другому и задайте сложные пароли в целях безопасности.
Настройка политик
Чтобы каждый раз при выключении или перезагрузке не докладывать серверу, с какой целью мы это делаем, запускаем редактор политик gpedit.msc идем по пути Computer Configuration > Administrative Templates > System и в правой части окна выберите вариант настройки “Display Shutdown Event Tracker” в открывшемся окне ставим активным значение Disabled и нажимаем Ok.
Далее идем по пути Computer Configuration > Windows settings > Security settings > Local Polices > User Rights Assignment и в правой части окна выберите вариант настройки “Shut down the system”. Добавьте в список пользователей, которым система будет разрешать выключать и перезагружать компьютер, пользователя user через кнопку “Add User or Group”
По тому же пути добавляем всех наших троих пользователей - Administrator, banker и user в пункты “Deny access to this computer from the network”, “Deny log on as a batch job”, “Deny log on as a service”, “Deny log on through Remote Desctop Services”, чтобы единственным методом входа в компьютер остался локальный вход. В итоге политики должны выглядеть примерно так:

Наводим косметику
В свойствах системы в разделе Computer Name задаем более понятное имя системе, в моем случае компьютер стал называться my_bank, можно сменить рабочую группу.
В свойствах системы в разделе Advanced в настройках Perfomance ставим Adjust for best performance.
В Server Manager в правой колонке жмем на Configure IE ESC и для администраторов выключаем дополнительную защиту, это понадобится для скачивания кошелька и антивируса, потом ее можно включить назад.

Последнее редактирование: