Защита ноутбука с Linux

Защита ноутбука Linux

Уверен, что многие посетители сайта www.spy-soft.net уже давно избавились от стационарных компьютеров и используют ноутбук как основной инструмент для работы, учебы и всего остального. Мир стал более мобильным. Но увы там, где есть мобильные устройств, всегда есть риск их потерять, забыть или, что еще хуже быть обокраденным. В этой статье я расскажу как защитить ноутбук с Linux, уберечь его от посторонних глаз и в случае кражи отыскать украденное устройство.

Еще по теме: Лучшие инструменты аудита безопасности Linux

Физический доступ к ноутбуку

Начнем, как обычно, с азов, а именно с пароля на вход. Казалось бы, здесь все просто: любая графическая среда имеет встроенную блокировку компьютера, которая требует ввести пароль после нескольких минут простоя машины. Но что делать, если вы не используете графическую среду и ваш выбор — легковесный оконный менеджер вроде Fluxbox или i3?

Существует масса самых разнообразных блокировщиков экрана, но я бы рекомендовал остановиться на slock. Это крайне простой блокировщик, не имеющий никаких графических элементов управления, окон ввода и переключателей сессий. Все, что он делает, — это заливает экран черным цветом. При вводе пароля экран становится синим, а при нажатии Enter в случае неправильного пароля — красным. Увидев такое, большинство «взломщиков» впадут в ступор и решат, что компьютер просто завис или полетел.

Запускать slock можно как напрямую (тогда экран заблокируется сразу), так и автоматически после пробуждения ноутбука. Во втором случае вам потребуется systemd-юнит следующего содержания:

Сохраните его в файл

и активируйте юнит (USER — ваше имя в системе):

Еще одна крайне простая, но оттого не менее ценная рекомендация — поставьте пароль на BIOS и отключите загрузку с любых носителей, кроме жесткого диска. Это убережет вас от тех, кто попытается загрузиться с флешки, чтобы бы получить доступ к вашему диск из другой  операционной системы.

Многие ноутбуки также позволяют установить пароль на загрузку, перезагрузку и доступ к жесткому диску. Последний работает на уровне ATA-контроллера, он спасет, если кто-то все-таки сможет загрузить свою операционную систему, но будет бесполезен против физического извлечения жесткого диска.

Защита ноутбука с помощью шифрования диска

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

Минимизировать проседание производительности можно, если зашифровать только раздел /home (на котором и находятся ваши данные), а саму систему оставить незашифрованной. По факту многие дистрибутивы предлагают такой вариант по умолчанию, но он тоже не идеален: ноутбук будет съедать дополнительные ресурсы просто при просмотре сохраненного на диск фильма, а если вы занимаетесь разработкой ПО или просто часто собираете софт из исходников — готовтесь к существенному замедлению.

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

Обе файловые системы используют алгоритм AES-256 в режиме GCM, но отличаются в реализации. EncFS шифрует каждый файл по отдельности и поэтому скрывает лишь содержимое файлов и их названия, но никак не препятствует получению информации о структуре каталогов и размере файлов. Другими словами: если кому-то потребуется доказать, что вы храните какой-нибудь нелегальный контент, скачанный из даркнета, — он сможет это сделать.

CryFS защищает от подобных рисков. Зашифрованный с ее помощью каталог выглядит как плоское файловое дерево с кучей каталогов и файлов одинакового размера. Однако CryFS никогда не подвергалась независимому аудиту, который был произведен в отношении EncFS. Если вас это останавливает — используйте EncFS, если же вы не верите ни тому, ни другому — можете вооружиться VeraCrypt или другим «классическим» инструментом шифрования, использующим контейнер заранее заданного размера, который нельзя выложить в Dropbox без синхронизации всех зашифрованных данных при малейшем изменении.

Использовать EncFS и CryFS крайне просто. Достаточно установить пакет, а затем выполнить операцию монтирования:

В данном случае мы подключаем зашифрованный каталог ~/Dropbox/box как ~/crypto. Все файлы, записанные в последний, появятся в первом в зашифрованном виде.

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

Защита ноутбука Linux
Содержимое каталога, зашифрованного с помощью CryFS

Более подробную информацию о шифровании в Linux, можете прочитать в статье «Лучшие средства шифрования для Linux».

Защита ноутбука с помощью аутентификация без пароля

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

Флешка для защиты ноутбука с Linux

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

Модуль pam_usb позволяет настроить аутентификацию с помощью любой USB-флешки. Принцип работы здесь следующий: утилита записывает на флешку 2 Кбайт случайных данных, которые выступают в роли уникального ключа. Во время аутентификации pam_usb прочитает блок данных с флешки, сравнит их с сохраненными в компе и пустит вас в систему, если они совпадают.

Чтобы все это заработало, необходимо выполнить следующие шаги. Установить pam_usb:

В Arch Linux pam_usb доступен в AUR:

Добавить те самые случайные данные на флешку (здесь AuthKey — произвольное имя):

Указать пользователя, который будет проходить аутентификацию с помощью флешки:

Проверить, что все настроено так, как надо:

Наконец, добавить pam_usb в список PAM-модулей. Для этого открываем файл /etc/pam.d/common-auth (или /etc/pam.d/system-auth в Arch Linux и Fedora) и добавляем в начало файла такую строку:

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

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

Защита ноутбука Linux
Настраиваем pam_usb

Смартфон для защиты ноутбука с Linux

Вместо флешки (или в дополнение к ней) можно взять смартфон. Уверен, что хотя бы раз в жизни вы пользовались приложением Google Authenticator. Оно реализует алгоритм TOTP (Time-based One-Time Password, RFC 6238), позволяющий выполнять аутентификацию в одном приложении с помощью одноразового пароля, сгенерированного другим приложением.

Google позволяет приспособить Authenticator в том числе для аутентификации в своих сервисах. Однако в реальности оно никак не завязано на Google и не использует его серверы (передача ключа, нужного для генерации одноразовых паролей, происходит напрямую, с помощью QR-кода, после чего приложение действует независимо), что позволяет нам пользоваться им для аутентификации в системе без страха утечек паролей.

Для этого необходимо установить PAM-модуль pam-google-authenticator:

В Arch Linux установка делается так:

Далее запускаем приложение google-authenticator:

Оно сгенерирует QR-код (или покажет ссылку на него), который необходимо отсканировать с помощью приложения Google Authenticator на смартфоне, а также задаст несколько вопросов. На все вопросы, кроме четвертого (увеличение временного расхождения между клиентом и сервером), отвечайте отрицательно.

Далее, как и в случае с флешкой, добавляем в

следующую строку:

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

защита linux компьютера
QR-код pam-google-authenticator

Защита ноутбука с Linux с помощью противоугонки

С помощью паролей, одноразовых кодов и шифрования мы можем защитить лишь информацию на ноутбуке. Чтобы защитить сам ноутбук, нужны совсем другие средства, а именно некая система отслеживания, подобная функции Find my iPhone. То есть система, которая позволила бы нам удаленно связаться с ноутбуком, определить его координаты, сделать снимок экрана и снимок фронтальной камерой.

Одно из лучших решений в этой сфере называется Prey. Он доступен для телефонов и компов на базе Windows, macOS и Linux. Нас интересует последний вариант, поэтому идем на страницу загрузок, качаем deb-пакет и устанавливаем его:

В Arch Linux Prey есть в AUR:

Только следует иметь в виду, что установится в систему он под именем prey_project.

Когда установка будет завершена, запускаем конфигуратор:

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

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

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

защита linux
Информация о ноутбуке в панели управления Prey

Подробнее о программе Prey в статье «Как отследить Linux компьютер«.

Защита ноутбука с помощью фото злоумышленника

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

Для начала напишем скрипт, который будет делать фотку с помощью камеры ноутбука. Он будет крайне простым:

Назовите его take_photo, положите в каталог ~/bin и дайте права на исполнение:

Теперь нам надо написать скрипт, который будет запускать наш скрипт после пробуждения компа. Вот он:

Назовите его 00take_photo, положите в каталог /lib/systemd/system-sleep/ и точно так же дайте права на исполнение:

Теперь при каждом пробуждении ноутбук будет делать фото и сохранять его в файл ~/webcam.png. Но мы можем пойти еще дальше и отправить фотография злоумышленника себе в телеграм. Для этого устанавливаем telegram-cli. Проще всего это сделать в Arch Linux:

Запускаем утилиту командой telegram-cli, она запросит номер телефона (phone number:) в формате +71234567890, а затем код безопасности из СМС и пароль, если он используется.

Затем немного поправим наш скрипт ~/bin/take_photo:

Теперь он не только сделает фотография непрошеного гостя, но и отправит его фейс в наш телеграм. Команда sleep 60 нужна для минутной задержки перед отправкой, чтобы ноутбук успел подключиться к Wi-Fi.

Выводы

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

Еще по теме: Обзор лучших менеджеров паролей для Linux

ВКонтакте
OK
Telegram
WhatsApp
Viber

5 комментариев

  1. solid

    Администрация, вы ведь понимаете что ваш сайт в ввиду его специфики часто посещают используя Tor или VPN? Так какого хрена вы блокируете комментарии большОй доли ваших посетителей? Почему нельзя просто подключить капчу для комментариев, если проблема именно в спаме?

    • Falcon

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

      Если ваш комментарий не попадает ни под одну из этих категорий, значит произошла ошибка. Мы сожалеем. Попробуйте еще раз.
      Спасибо за понимание!

  2. Антон

    Можете написать о выборе ноутбука под линукс?

  3. Ярослав

    Дорогие авторы. Зачем Вы городите огород.

    В Линукс уже всё есть, что нужно. Полнодисковое шифрование так и не упомянули. Чем не устраивает шифрование домашней папки? Какая производительность падает? Сколько процентов? 1 или 2?

    Тем более неправильно советовать людям привязывать свою безопасность к каким-то онлайн сервисам. Люди на Линукс и уходят, чтобы не зависеть от третьих лиц.

  4. GOha

    Доброго времени суток!Можно по подробней по теме защита ноутбука с помощью фото злоумышленника?Как прописывать скрипты?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *