Как настроить Kali Linux в плане безопасности и анонимности
@webware
Приветствую форумчане!
Решил накатать небольшую статейку для тех, кто только решил освоить Kali Linux.
Но я не буду описывать специфические инструменты, их предназначение и использование.
Я расскажу как безопасно настроить систему в плане безопасности и анонимности, которая сейчас очень актуальна. Чтобы бедный несчастный новичек не рыскал по поиску форума и гугле, пытаясь получить ответы. Именно для этого я решил собрать наработанный материал в одном месте.
Здоровая критика и дополнения приветствуются.
Все манипуляции, описанные в статье, проводились на Kali 64 bit с графическим окружением Gnome 3.
За работоспособность на другой разрядности или окружении я не ручаюсь. Все делаете на свой страх и риск!
Для начала узнаем какая разрядность у вашей системы:
grep -qP ’^flags\s*:.*\blm\b’ /proc/cpuinfo && echo 64-bit || echo 32-bit

Затем качаем образ только с официального сайта и сверяем контрольные суммы методом:
sha256sum kali-linux-2017.3-amd64.iso
Записываем его на флешку обьемом от 4 Gb с помощью утилиты RosaImageWriter
Будем устанавливать Kali Linux на полностью зашифрованную файловую систему.
Как это сделать написано в статье на форуме. Более развернутого гайда я не встречал.
Прелести именно этой установки я обьяснять не буду
Возможно вы поймете это позже.

После первого входа в систему отключим swap через Меню-Утилиты-Диски. Это самый быстрый способ:

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

Проверяем, чтобы репозитории в /etc/apt/sources.list имели вид:
deb http://http.kali.org/kali kali-rolling main contrib non-free # deb-src http://http.kali.org/kali kali-rolling main contrib non-free
Сделаем, чтобы при каждом подключении к сети mac менялся на рандомный.
(Спасибо @z3RoTooL за прекрасную подсказку в своей статье)
Для этого содержимое файла /etc/NetworkManager/NetworkManager.conf меняем на:
NetworkManager.conf [main] plugins=ifupdown,keyfile [ifupdown] managed=false [connection] wifi.cloned-mac-address=random [connection] ethernet.cloned-mac-address=random
Теперь правильно и безопасно настроим ssh, ведь без него никуда:
update-rc.d -f ssh remove update-rc.d -f ssh defaults cd /etc/ssh/ mkdir insecure_original_default_kali_keys mv ssh_host_* insecure_original_default_kali_keys/ dpkg-reconfigure openssh-server
В файле конфигурации /etc/ssh/sshd_config меняем:
# Port 22 # PermitRootLogin without-password
на
Port 2282 PermitRootLogin no
Порт 22 меняем на любой нестандартный (в нашем случае 2282) для защиты от брутфорса.
PermitRootLogin no запрещает другим машинам подключаться к root пользователю на нашей машине.
Возможно в дальнейшем вы обзаведетесь своим VPS. Поэтому советую подключаться к нему не по паролю, а создать ключ, так как это безопасней:
ssh-keygen -t rsa
Жмем Enter несколько раз. Сгенерированный ключ /root/.ssh/id_rsa.pub потом поместите на свой сервер.
Так же не советую добавлять службу ssh в автозагрузку, а стартовать/выключать командами:
service ssh start service ssh stop
Теперь важный момент в статье. Сделаем пароль самоуничтожения заголовков зашифрованного диска.
По сути без них он превращается просто в кирпич. По этой теме есть прекрасная статья на форуме.
Позволю себе сократить этот процесс до минимума:
cryptsetup luksAddNuke /dev/sda5 Enter any existing passphrase: Ваша фраза шифрования Enter new passphrase for key slot: Пароль самоуничтожения Verify passphrase: Повтор пароля самоуничтожения cryptsetup luksHeaderBackup --header-backup-file luksheader.back /dev/sda5 file luksheader.back openssl enc -aes-256-cbc -salt -in luksheader.back -out luksheader.back.enc enter aes-256-cbc encryption password: Пароль для зашифрованного заголовка Verifying - enter aes-256-cbc encryption password: Повтор пароля для зашифрованного заголовка ls -lh luksheader.back* file luksheader.back*
Файлы luksheader.back и luksheader.back.enc храним на зашифрованной с помощью LUKS
(можно сделать с помощью Меню-Утилиты-Диски) microsd флешке где нибудь вне дома.
Идеально подойдет какое нибудь гнездо в лесу.
Вот теперь пора бы нам обновить систему:
apt-get update && apt-get dist-upgrade
Так же скорее всего запросит, поэтому удаляем ненужные пакеты:
apt autoremove
Если в будущем хотим получать обновления по https, то выполняем:
apt install apt-transport-https
Проверяем, чтобы репозитории в /etc/apt/sources.list имели вид:
deb https://http.kali.org/kali kali-rolling main non-free contrib # deb-src https://http.kali.org/kali kali-rolling main non-free contrib
И снова обновим систему:
apt-get update && apt-get dist-upgrade
Софт. Почему именно такой? Дальше будет описание, зачем нужен каждый инструмент:
apt-get install mat steghide network-manager-openvpn-gnome secure-delete keepassx pidgin pidgin-otr etherape irssi tor lighttpd virtualbox
Описание:
mat - удаление метаданных в файлах
steghide - позволяет скрывать информацию методом стеганографии
network-manager-openvpn-gnome - нужен для настройки VPN
secure-delete - предназначен для безвозвратного удаления данных и удаления остаточной информации
keepassx - для безопасного хранение паролей
pidgin и pidgin-otr - джаббер клиент с OTR шифрованием. Это вам не телега!
etherape - анализатор пакетов/инструмент для мониторинга трафика
irssi - консольный IRC-клиент
tor и lighttpd - в представлении не нуждается. Пригодится, как начиная от банального использования утилиты torsocks, так и до подьема своего ресурса в сети Tor.
virtualbox - виртуальная машина, которая может пригодиться для установки Whonix...

Так же думаю не лишним будет установить и донастроить еще кое что:
Bluetooth. Он нормально не работает, поэтому пользуемся мануалом по настройке.
Ram wiping. Очишает дамп оперативной памяти при перезагрузке.
VPN. Написал статью с примером на сервисе riseup, но на другом ресурсе тоже сработает команда:
openvpn --client --dev tun --config ВАША_КОНФИГУРАЦИЯ.ovpn --proto tcp
Уже закупились вай-фай адаптером ALFA или только думаете? Тогда пишем скрипт /bin/wlan1 с содержимым:
#!/bin/sh ifconfig wlan1 down macchanger -r wlan1 iw reg set BZ iwconfig wlan1 txpower 30 ifconfig wlan1 up echo "MAC updated..." exit 0
и делаем его исполняемым:
chmod +x /bin/wlan1
Теперь при подключении ALFA и вводе в терминале команды wlan1 будет не только меняться mac, но и повышаться мощность.
Возможно вам пригодится Tor browser?
Не забудьте добавить в путь_до/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc в самый низ строки:
ExcludeNodes {ru},{ua},{by}
Это исключит подключение к неблагополучным нодам. Если провайдер блокирует доступ:
Вот собственно и все. Конечно я могу продолжать бесконечно но это же для новичков.
Всем спасибо за внимание.