
Содержание
- 1 Физический доступ к ноутбуку
- 2 Защита ноутбука с помощью шифрования диска
- 3 Защита ноутбука с Linux с помощью противоугонки
- 4 Защита ноутбука с помощью фото злоумышленника
- 5 Выводы
Еще по теме: Лучшие инструменты аудита безопасности Linux
Физический доступ к ноутбуку
Начнем, как обычно, с азов, а именно с пароля на вход. Казалось бы, здесь все просто: любая графическая среда имеет встроенную блокировку компьютера, которая требует ввести пароль после нескольких минут простоя машины. Но что делать, если вы не используете графическую среду и ваш выбор — легковесный оконный менеджер вроде Fluxbox или i3?Существует масса самых разнообразных блокировщиков экрана, но я бы рекомендовал остановиться на slock. Это крайне простой блокировщик, не имеющий никаких графических элементов управления, окон ввода и переключателей сессий. Все, что он делает, — это заливает экран черным цветом. При вводе пароля экран становится синим, а при нажатии Enter в случае неправильного пароля — красным. Увидев такое, большинство «взломщиков» впадут в ступор и решат, что компьютер просто завис или полетел.
Запускать slock можно как напрямую (тогда экран заблокируется сразу), так и автоматически после пробуждения ноутбука. Во втором случае вам потребуется systemd-юнит следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 | [Unit] Description=Lock X session using slock for user %i Before=sleep.target [Service] User=%i Environment=DISPLAY=:0 ExecStartPre=/usr/bin/xset dpms force suspend ExecStart=/usr/bin/slock [Install] WantedBy=sleep.target |
1 | /etc/systemd/system/[email protected] |
1 | $ sudo systemctl enable [email protected] |
Многие ноутбуки также позволяют установить пароль на загрузку, перезагрузку и доступ к жесткому диску. Последний работает на уровне ATA-контроллера, он спасет, если кто-то все-таки сможет загрузить свою операционную систему, но будет бесполезен против физического извлечения жесткого диска.
Защита ноутбука с помощью шифрования диска
Почти все популярные дистрибутивы позволяют зашифровать жесткий диск на этапе установки операционной системы. Такое шифрование в Linux делает извлечение данных с диска почти невозможной задачей (при достаточно длинном пароле), но имеет один существенный недостаток: падение производительности операций ввода-вывода, которое может достигать сотен и тысяч процентов.Минимизировать проседание производительности можно, если зашифровать только раздел /home (на котором и находятся ваши данные), а саму систему оставить незашифрованной. По факту многие дистрибутивы предлагают такой вариант по умолчанию, но он тоже не идеален: ноутбук будет съедать дополнительные ресурсы просто при просмотре сохраненного на диск фильма, а если вы занимаетесь разработкой ПО или просто часто собираете софт из исходников — готовтесь к существенному замедлению.
Но и из этой ситуации есть выход. Системы EncFS и CryFS используют механизм FUSE, чтобы создать зашифрованную виртуальную ФС поверх основной. С их помощью вы сможете зашифровать любой отдельно взятый каталог, без необходимости выделять специальный контейнер заранее определенного размера и с возможностью синхронизации каталога с облачным сервисами типа Dropbox.
Обе файловые системы используют алгоритм AES-256 в режиме GCM, но отличаются в реализации. EncFS шифрует каждый файл по отдельности и поэтому скрывает лишь содержимое файлов и их названия, но никак не препятствует получению информации о структуре каталогов и размере файлов. Другими словами: если кому-то потребуется доказать, что вы храните какой-нибудь нелегальный контент, скачанный из даркнета, — он сможет это сделать.
CryFS защищает от подобных рисков. Зашифрованный с ее помощью каталог выглядит как плоское файловое дерево с кучей каталогов и файлов одинакового размера. Однако CryFS никогда не подвергалась независимому аудиту, который был произведен в отношении EncFS. Если вас это останавливает — используйте EncFS, если же вы не верите ни тому, ни другому — можете вооружиться VeraCrypt или другим «классическим» инструментом шифрования, использующим контейнер заранее заданного размера, который нельзя выложить в Dropbox без синхронизации всех зашифрованных данных при малейшем изменении.
Использовать EncFS и CryFS крайне просто. Достаточно установить пакет, а затем выполнить операцию монтирования:
1 | $ cryfs ~/Dropbox/box ~/crypto |
В этот каталог можно сложить все ценные данные: сканы паспорта, ключи GPG, рабочие каталоги криптокошельков, базы паролей и так далее. Подключать его придется вручную после каждой загрузки, а после использования лучше сразу отключать:
1 | $ fusermount -u ~/crypto |

Более подробную информацию о шифровании в Linux, можете прочитать в статье «Лучшие средства шифрования для Linux».
Защита ноутбука с помощью аутентификация без пароля
Итак, диск защищен, пароль установлен, но удобно ли это? Ввести пароль при загрузке, которая в современных ноутбуках происходит не так уж и часто, нетрудно, ввести пароль для расшифровки данных при загрузке тоже, но вводить его каждый раз при разблокировке экрана не особо интересно. Тем более пароль могут подсмотреть ваши соседи в самолете. Нужен другой метод, а еще лучше комбинация методов.Флешка для защиты ноутбука с Linux
Думаю, все слышали про штуку под названием YubiKey. Это USB-ключ, выступающий в роли второго фактора при аутентификации на сайтах и в системе. Стоит такой ключ 50 долларов, но на самом деле вместо него можно использовать обычную флешку.Модуль pam_usb позволяет настроить аутентификацию с помощью любой USB-флешки. Принцип работы здесь следующий: утилита записывает на флешку 2 Кбайт случайных данных, которые выступают в роли уникального ключа. Во время аутентификации pam_usb прочитает блок данных с флешки, сравнит их с сохраненными в компе и пустит вас в систему, если они совпадают.
Чтобы все это заработало, необходимо выполнить следующие шаги. Установить pam_usb:
1 2 3 4 | $ git clone https://github.com/aluzzardi/pam_usb.git $ cd pam_usb $ make $ sudo make install |
1 | $ yaourt -S pam_usb |
1 | $ sudo pamusb-conf --add-device AuthKey |
1 | $ sudo pamusb-conf --add-user username |
1 | $ sudo pamusb-check username |
1 | auth sufficient pam_usb.so |
1 | auth required pam_usb.so |

Смартфон для защиты ноутбука с Linux
Вместо флешки (или в дополнение к ней) можно взять смартфон. Уверен, что хотя бы раз в жизни вы пользовались приложением Google Authenticator. Оно реализует алгоритм TOTP (Time-based One-Time Password, RFC 6238), позволяющий выполнять аутентификацию в одном приложении с помощью одноразового пароля, сгенерированного другим приложением.Google позволяет приспособить Authenticator в том числе для аутентификации в своих сервисах. Однако в реальности оно никак не завязано на Google и не использует его серверы (передача ключа, нужного для генерации одноразовых паролей, происходит напрямую, с помощью QR-кода, после чего приложение действует независимо), что позволяет нам пользоваться им для аутентификации в системе без страха утечек паролей.
Для этого необходимо установить PAM-модуль pam-google-authenticator:
1 2 3 4 | $ ./bootstrap.sh $ ./configure $ make $ sudo make install |
1 | $ yaourt -S google-authenticator-libpam-git |
1 | $ google-authenticator |
Далее, как и в случае с флешкой, добавляем в
1 | /etc/pam.d/common-auth |
1 | auth required pam_google_authenticator.so no_increment_hotp |

Защита ноутбука с Linux с помощью противоугонки
С помощью паролей, одноразовых кодов и шифрования мы можем защитить лишь информацию на ноутбуке. Чтобы защитить сам ноутбук, нужны совсем другие средства, а именно некая система отслеживания, подобная функции Find my iPhone. То есть система, которая позволила бы нам удаленно связаться с ноутбуком, определить его координаты, сделать снимок экрана и снимок фронтальной камерой.Одно из лучших решений в этой сфере называется Prey. Он доступен для телефонов и компов на базе Windows, macOS и Linux. Нас интересует последний вариант, поэтому идем на страницу загрузок, качаем deb-пакет и устанавливаем его:
1 | $ sudo dpkg -i prey_1.7.3_amd64.deb |
1 | $ yaourt -S prey-node-client |
Когда установка будет завершена, запускаем конфигуратор:
1 | $ sudo prey config account setup |
Бесплатная версия Prey позволяет узнать местоположение устройства, информацию об ОС и железе, включить сигнализацию, заблокировать устройство, сделать снимки камерой или скриншоты. Чтобы получить возможность удалять данные и скачивать файлы, придется платить пять долларов в месяц.
Также имейте в виду, что в отличие от отслеживания телефонов, которые по дефолту всегда подключены к мобильной сети и таким образом всегда доступны онлайн, ноутбук чаще находится в офлайне и обычно подключается к открытым Wi-Fi-сетям только после разрешения пользователя. Другими словами, шансы найти ноутбук куда меньше, чем шансы найти телефон.

Подробнее о программе Prey в статье «Как отследить Linux компьютер«.
Защита ноутбука с помощью фото злоумышленника
Еще один метод борьбы с непрошеными гостями — фоткать их. Допустим, вы оставили ноутбук в номере, заходит незнакомый человек, пробуждает ноутбук ото сна и пытается залогиниться (точнее, пытается понять, что происходит, ведь мы используем slock). Самое время его сфотографировать.Для начала напишем скрипт, который будет делать фотку с помощью камеры ноутбука. Он будет крайне простым:
1 2 | #!/bin/sh ffmpeg -y -t 1 -f video4linux2 -s 640x480 -r 30 -i /dev/video0 -f image2 $HOME/webcam.png |
1 | $ chmod +x ~/bin/take_photo |
1 2 3 4 | #!/bin/sh if [ $1 = post ] && [ $2 = suspend ]; then sudo -u ТВОЕ_ИМЯ_В_СИСТЕМЕ /home/ТВОЕ_ИМЯ_В_СИСТЕМЕ/bin/take_photo fi |
1 | $ chmod +x /lib/systemd/system-sleep/00take_photo |
1 | $ yaourt -S telegram-cli-git |
Затем немного поправим наш скрипт ~/bin/take_photo:
1 2 3 4 | #!/bin/bash ffmpeg -y -t 1 -f video4linux2 -s 640x480 -r 30 -i /dev/video0 -f image2 $HOME/webcam-`date`.png sleep 60 telegram-cli -W -D -e "send_photo @ВАШЕ_ИМЯ_В_ТЕЛЕГРАМЕ $HOME/webcam.png `date`" |
Выводы
Защитить ноутбук с Linux не так просто, как смартфоны, которые используют полнодисковое шифрование с ускорением с помощью TEE-модуля, защиту по отпечатку пальца и имеют возможность отслеживания по всем типам сетей. Но, применив нехитрые приемы, описанные в статье, вы хотя бы сможете сказать, что сделали все, что могли.Источник