Найти:

- Взлом
- Приватность
- Трюки
- Кодинг
- Админ
- Geek
- Обучение
- Магазин

- Windows
- Linux
- Android
- Железо
- Мессенджеры
- Утечки
- Коронавирус
- Все выпуски «Хакера»

### Содержание статьи

- Отключение камеры
- Удаление корзины
- Перенос домашнего каталога на флешку
- Флешка — ключ аутентификации
- Двухфакторная аутентификация
- Клетка для софта
- Отключение фоновых служб в Chrome
- Ускоренная торификация
- Криптографический netcat
- Выводы

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

## Отключение камеры

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

С помощью `mkinitcpio -M` можно определить название модуля камеры и поместить его в черный список. Для этого достаточно отредактировать файл `/etc/modprobe.d/camera.conf`, добавив такую строку:

    blacklist uvcvideo

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

    install uvcvideo /bin/false

Это, конечно же, не спасет тебя от взломщика, который сможет получить права root и будет достаточно сообразителен, чтобы догадаться, почему не работает камера. Но в этом случае твои обнаженные фотографии — последнее, о чем тебе стоит беспокоиться.

## Удаление корзины

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

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

Для этого достаточно всего лишь удалить каталог `~/.local/share/Trash` и создать на его месте пустой файл:

    $ rm -rf ~/.local/share/Trash
    $ touch ~/.local/share/Trash

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

## Перенос домашнего каталога на флешку

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

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

Флешку нужно предварительно отформатировать в ext4, затем с помощью команды `blkid` выяснить ее UUID (в примере используется cbfb14ea-38ce-4a5c-b00b-542b9763038e) и внести в `/etc/fstab` в строку, монтирующую домашний раздел пользователя username:

    UUID=cbfb14ea-38ce-4a5c-b00b-542b9763038e /home/username ext4 defaults 0 0

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

## Флешка — ключ аутентификации

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

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

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

Энтузиасты могут попробовать собрать вручную git-версию утилиты, в которой добавлена поддержка SD-карт (однако их работа не всегда гарантирована), или обратиться к форкам, созданным неравнодушными пользователями, с различными дополнительными плюшками (например, поддержкой udisks2).

Для настройки USB-ключа необходимо:

1. Выбрать носитель и задать ему имя (например, FLASHKEY):

       $ sudo pamusb-conf --add-device FLASHKEY

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

       $ sudo pamusb-conf --add-user username

3. Проверить корректность установок:

       $ sudo pamusb-check username

4. Включить pam_usb в процесс авторизации, добавив в начало `/etc/pam.d/system-auth` строку:

       auth sufficient pam_usb.so

Эта строка указывает системе, что вставленной флешки достаточно для авторизации. Если ее вынуть, система снова станет запрашивать пароль пользователя.

Настройка авторизации с помощью флешки
Другие статьи в выпуске:

### Xakep #224. Доступ разрешен

- Содержание выпуска
- Подписка на «Хакер»-70%

Для авторизации рута благоразумнее иметь отдельную флешку и вставлять ее в разъем, когда понадобится повысить привилегии в системе с помощью `su` или `sudo`. В этом случае строку из пункта 4 следует добавить в `/etc/pam.d/su`.

## Двухфакторная аутентификация

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

Сперва необходимо установить на компьютер сам пакет. Под тем или иным названием он доступен во всех популярных дистрибутивах. Поиск следует вести по ключевым словам pam google.

Установив пакет, нужно отредактировать файл `/etc/pam.d/sshd`, добавив в него строку

    auth required pam_google_authenticator.so no_increment_hotp

Опция `no_increment_hotp` запретит счетчику неудачных попыток авторизации увеличивать их количество.

Теперь осталось настроить сам модуль, выполнив команду

    $ google-authenticator

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

## INFO

Данный метод аутентификации, несмотря на свое название, никак не связан с Google или его серверами. Вместо Google Authenticator ты можешь использовать приложение от независимых разработчиков — FreeOTP.

## Клетка для софта

Даже надежно защищенная крепость не обходится без общения с внешним миром. Запуск программ сомнительного поведения может свести на нет все усилия по обеспечению безопасности. В этом случае пригодится инструмент, позволяющий настроить исполнение приложений в рамках жестко ограниченного пространства (песочнице).

Такой инструмент есть, и название у него соответствующее — Firejail. Программа лаконична и проста в использовании в сравнении с прочими средствами схожей функциональности. Использование программы в графическом режиме возможно с помощью незатейливого Qt-фронтенда Firetools. Впрочем, и консольный вариант не вызовет затруднений.

Окно настройки Firejail с помощью Firetools

Например, запустить нужное приложение (Chromium) в изолированном контейнере с запретом доступа к критическим каталогам, системным вызовам и в приватном режиме можно командой

    $ firejail --seccomp --private chromium

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

    $ mkdir ~/.config/firejail
    $ mkdir ~/chromium

Далее следует скопировать конфигурационный файл песочницы в домашний каталог:

    $ cp /etc/firejail/chromium.profile ~/.config/firejail

и отредактировать его, добавив параметр приватности:

    $ echo "private ${HOME}/chromium" >> ~/.config/firejail/chromium.profile

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

    # echo "firejail --seccomp /usr/bin/chromium $@" > /usr/local/bin/chromium
    # chmod +x /usr/local/bin/chromium

## Отключение фоновых служб в Chrome

Современные веб-приложения сложны, многофункциональны и во многих случаях превосходят свои десктопные аналоги. Но у них есть одна проблема: ты закрываешь вкладку, и приложение перестает работать. Чтобы решить эту проблему, разработчики Chrome придумали штуку под названием Service Worker. Это API, который позволяет загрузить в браузер код и вызывать его позже даже в том случае, если само веб-приложение закрыто.

Основное назначение Service Worker — обработка push-уведомлений, но, как это обычно бывает, технология может быть использована и для несколько других и, скажем так, не совсем полезных пользователю действий. C помощью Service Worker можно создать код, который будет непрерывно работать в фоне и грузить процессор, либо написать троян и организовать браузеры в ботнет.

По умолчанию браузер не позволяет отключить Service Worker, однако мы можем применить небольшой трюк и просто удалить каталог хранения скриптов и создать на его месте пустой файл (если ты используешь Chromium, замени chrome на chromium):

    $ cd .config/chrome/Default
    $ rm -rf "Service Worker"
    $ touch "Service Worker"

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

## Ускоренная торификация

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

Чтобы обеспечить быстрый доступ к сервису Tor любым программам без необходимости настройки их каждой в отдельности, можно использовать утилиту torify из комплекта Tor. С ее помощью можно прозрачно связать нужное приложение и библиотеку tsocks, содержащую необходимые для проксирования конфигурационные файлы. Использовать ее проще простого:

    $ torify wget -qO- https://check.torproject.org/ | grep -i congratulations

Следует заметить, что резолвинг DNS в этом случае будет осуществляться обычным образом, не через Tordns. Это можно исправить, применив утититу `tor-resolv`, которая возвращает IP переданного доменного имени. Пример открытия страницы с помощью консольного браузера elinks:

    $ torify elinks $(tor-resolve checkip.dyndns.org)

## Криптографический netcat

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

Утилита cryptcat лишена этого недостатка. Она использует шифрование по алгоритму Twofish. Ключ шифрования по умолчанию — metallica, поэтому сразу после установки его следует изменить с помощью ключа `-k` (для примера пусть будет apocalyptica):

    $ cryptcat -k apocalyptica

В остальном логика работы и семантика команд такая же, как и в netcat:

    $ cryptcat -lp 1234 # машина-получатель
    $ cryptcat <IP адресата> 1234  # машина-отправитель

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

Дополнив cryptcat ключом запуска внешнего приложения на устройстве адресата, можно запускать на ней командную оболочку и обеспечить выполнение команд с удаленной машины:

    $ cryptcat -lp 1234 -e /bin/bash # машина-адресат
    $ cryptcat <IP адресата> 1234 # машина-манипулятор

Команды будут выполняться на машине-адресате, а вывод команд появится в том числе и в окне терминала машины-манипулятора.

Потоковая передача видеофайла с машины-транслятора и его просмотр с помощью проигрывателя mplayer на машине-наблюдателе:

    $ cat video.avi | cryptcat -lp 1234 # машина-транслятор
    $ cryptcat <IP адресата> 1234 | mplayer -vo x11 -cache 3000 - # машина-наблюдатель

Отправка файлов (куда ж без них):

    $ cryptcat -lp 1234 > my.jpg # машина-получатель
    $ cryptcat <IP адресата> 1234 < my.jpg # машина-отправитель

## Выводы

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

#### Оцени статью:

###### Что тебе понравилось больше всего?

Статья легкая и понятная Статья глубокая и подробная Интересуюсь этой темой Данные новые и актуальные Приятный стиль изложения

###### Что тебе не понравилось больше всего?

Статья поверхностная Статья слишком сложная Тема мне не интересна Данные устарели Неприятный стиль изложения
← Ранее Десятка интересных телеграм-каналов
Далее → Telegram оштрафовали на 800 000 рублей и могут заблокировать

- Далее по этой теме
- Ранее по этой теме

- ### Защищаем ноутбук с Linux. Шифрование, аутентификация по флешке и возврат украденного

  Уверен, многие читатели ][ уже давно избавились от стационарных компов и используют ноутбу…
  29.03.2018
  10 мин на чтение

- ### Как работает Linux: от нажатия кнопки включения до рабочего стола

  Лучший способ понять, как работает операционная система, — это проследить поэтапно ее загр…
  23.10.2017
  7 мин на чтение

- ### ОС максимальной секретности. Выбираем дистрибутив для обхода блокировок и защиты от слежки

  Возможно, ты уже пользовался дистрибутивом Tails или даже запускаешь его ежедневно. Но это…
  20.04.2018
  15 мин на чтение

- ### Все по песочницам! Запускаем приложения в отдельных виртуалках с помощью AppVM

  Если ты действительно заботишься о безопасности, то некоторые приложения есть смысл запуск…
  15.08.2018
  13 мин на чтение

- ### Android для юниксоида. Используем смартфон в связке с Linux

  Android и дистрибутивы Linux не просто родственные ОС — они основаны на одном ядре и на ни…
  28.02.2018
  11 мин на чтение

- ### Тайна казначейского ноутбука. Используем форензику, чтобы раскрыть ограбление

  Сегодня тебя ждет по-настоящему интересная и актуальная задача, а точнее — целое расследов…
  07.06.2018
  11 мин на чтение

- ### *NIX-бэкдор быстрого приготовления. Внедряемся в систему аутентификации Linux, BSD и macOS

  Способов закрепиться на взломанной машине масса. От самых банальных и легко обнаруживаемых…
  31.01.2017
  13 мин на чтение

- ### Защищенный Linux-дистрибутив Subgraph OS: что внутри?

  Как создать защищенную ОС с нуля? Взять memory safe язык программирования, написать на нем…
  20.10.2016
  6 мин на чтение

- ### Опенсорсный шифровальщик CryptoWire стал основой для трех настоящих семейств малвари

  Еще одна малварь, опубликованная на GitHub «в образовательных и исследовательских целях», …
  12.12.2016
  4 мин на чтение

- ### Анонимная виртуалка. Устанавливаем VirtualBox в ОС Tails и пускаем трафик виртуалок через Tor

  Tails — лучшая операционка, если твоя задача — максимально анонимизировать свое присутстви…
  28.02.2017
  24 мин на чтение

- ### Песочница, из которой не выбраться: используем Cappsule для запуска малвари и софта в виртуальной среде

  Казалось бы, мы рассказали о песочницах уже всё. И про Docker написали во всех подробностя…
  21.11.2016
  6 мин на чтение

- ### Ядовитый ярлык. Эксплуатируем опасную уязвимость в ярлыках Microsoft Windows

  Каждый, кто пользовался Windows, хорошо знает, что такое ярлык. Однако этот значок со стре…
  01.09.2017
  15 мин на чтение

3 комментария к записи Безопасность превыше всего. 9 простых трюков, которые сделают жизнь линуксоида секьюрнее

#### Последние взломы

### HTB Driver. Эксплуатируем PrintNightmare и делаем вредоносный SCF

### Routing nightmare. Как пентестить протоколы динамической маршрутизации OSPF и EIGRP

### HTB Bolt. Эксплуатируем шаблоны в Python и разбираемся с PGP

### Краденые миллиарды и плохой рэп. Как арестовали супругов, которые отмывали деньги Bitfinex и снимали тиктоки

#### Компьютерные трюки

### Поездка в Sonerezh. Поднимаем сервер для стриминга музыки

### Терминальное счастье. Колонка главреда

### Анатомия терминала. Осваиваем текстуальную графику

### Змей-стражник. Сигнализация для велосипеда из старого смартфона на Android

#### Свежие новости

- 2 часа назад

  ### Создан клон AirTag, обманывающий защиту от слежки

- 3 часа назад

  ### Компания Google выплатила более 100 000 долларов за уязвимости, исправленные в Chrome 99

- 4 часа назад

  ### Злоупотребление различными API выросло на 600% за 2021 год

- 11 часов назад

  ### Миллионы устройств Samsung подвержены аппаратной криптографической проблеме

- 12 часов назад

  ### Мидлбоксы способны усиливать DDoS-атаки в 65 раз

Вопросы по материалам и подписке: support@glc.ru
Отдел рекламы и спецпроектов: yakovleva.a@glc.ru
Контент 18+
Сайт защищен Qrator —
самой забойной защитой от DDoS в мире
Подписка для физлиц
Подписка для юрлиц
Реклама на «Хакере»
Контакты
Posting....
wpDiscuz
FooBox
…
FooBox
…