Статья Как настроить Kali Linux в плане безопасности и анонимности

f010c2c0875b97ab74dec7bda52.jpg


Приветствую форумчане!

Решил накатать небольшую статейку для тех, кто только решил освоить .

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

436536536.jpg


Все манипуляции, описанные в статье, проводились на Kali 64 bit с графическим окружением Gnome 3.

За работоспособность на другой разрядности или окружении я не ручаюсь. Все делаете на свой страх и риск!

Для начала узнаем какая разрядность у вашей системы:
Код:
grep -qP ’^flags\s*:.*\blm\b’ /proc/cpuinfo && echo 64-bit || echo 32-bit
Снимок экрана от 2017-12-04 23-07-06.png


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

102117_1217_Kali30.png

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

Снимок экрана от 2017-12-04 23-02-50.png


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

Снимок экрана от 2017-12-05 01-50-31.png


Проверяем, чтобы репозитории в /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 меняем на:
Код:
[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 - джаббер клиент с шифрованием. Это вам не телега!
etherape - анализатор пакетов/инструмент для трафика
irssi - консольный IRC-клиент
tor и lighttpd - в представлении не нуждается. Пригодится, как начиная от банального использования утилиты torsocks, так и до подьема своего ресурса в сети Tor.
virtualbox - виртуальная машина, которая может пригодиться для установки ...

jedi_linux.jpg


Так же думаю не лишним будет установить и донастроить еще кое что:
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}
Это исключит подключение к неблагополучным нодам. Если провайдер блокирует доступ:


Вот собственно и все. Конечно я могу продолжать бесконечно :) но это же для новичков.

Всем спасибо за внимание.

По материалам статьи записали ролик с обновленной информацией на момент публикации ролика:

 

centr

Green Team
31.01.2017
408
477
BIT
0
Необходимо установить не только пакет network-manager, но и установить все его зависимости.
 
  • Нравится
Реакции: Глюк

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Где то на страницах в теме писал об этом уже. Не менял /etc/NetworkManager/NetworkManager.conf случаем по инструкции?
Менял менял ) Что ж ты раньше то не сказал, я бы попробовал это убрать )
Да и я сам чё то забыл, что менял это, ведь я старался всё что менял на то как было исправлять, а про это забыл...
Но теперь поздно, весь kali переустановил уже.
Хотя скоро буду пробовать опять по твоей инструкции делать - там и проверим...
 

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Необходимо установить не только пакет network-manager, но и установить все его зависимости.
Да я даже как установить "network-manager" не разобрался, не то что зависимости ) А не смог я установить его, потому что не нашёл установочный файл "network-manager", скачал с "GitHub" релиз "network-manager", но что с этим релизом делать тоже не успел разобраться. В связи с тем, что потратил на поиск решения проблемы достаточно много времени, я просто решил переустановить всё на свете, так быстрее вышло...
 

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Для этого содержимое файла /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
Да, проблема в этом...
[main] plugins=ifupdown,keyfile [ifupdown] managed=false [connection] wifi.cloned-mac-address=random [connection] ethernet.cloned-mac-address=random
И это тоже не работает...

От сюда у меня один вопрос и одно предложение.
Вопрос: Как же всё же сделать, что бы mac менялся на рандомный?
Предложение: Убрать из шапки топика, те рекомендации от которых возникают проблемы, ибо у новеньких типа меня могут возникнуть проблемы.
 

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Да, проблема в этом...

И это тоже не работает...

От сюда у меня один вопрос и одно предложение.
Вопрос: Как же всё же сделать, что бы mac менялся на рандомный?
Предложение: Убрать из шапки топика, те рекомендации от которых возникают проблемы, ибо у новеньких типа меня могут возникнуть проблемы.
У меня уже нет возможности редактировать тему.
 

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
У меня уже нет возможности редактировать тему.
Я это подозревал. Поэтому призываю тех, у кого есть возможность отредактировать эту тему, прощу внести изменения. (если это прочитает тот, у кого есть возможность это осуществить)
 
  • Нравится
Реакции: ghost

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Я это подозревал. Поэтому призываю тех, у кого есть возможность отредактировать эту тему, прощу внести изменения. (если это прочитает тот, у кого есть возможность это осуществить)
Проблема с /etc/NetworkManager/NetworkManager.conf пофикшена. Теперь порядок.
Код:
ifconfig eth0 (or wlan0) down
macchanger -r eth0
ifconfig eth0 up
Чё если ввести эти команды, то mac адрес будет меняться на рандомный?
Именно так и будет. Но это в ручном режиме.
А так же можно под любой необходимый тебе мак подделать. Линукс же...
 
  • Нравится
Реакции: Vertigo и Глюк

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Именно так и будет. Но это в ручном режиме.
А так же можно под любой необходимый тебе мак подделать. Линукс же...
Понял. Значит если хочу что бы мак менялся, то надо каждый раз после перезагрузки kali вводить эти команды.
А автоматизировать это можно или это долго и трудно?
 

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Понял. Значит если хочу что бы мак менялся, то надо каждый раз после перезагрузки kali вводить эти команды.
А автоматизировать это можно или это долго и трудно?
Да. Перед подключением сетевого интерфейса к интернет.
Автоматизация... Можно. В статье же об этом написано если читал внимательно.
Для этого содержимое файла /etc/NetworkManager/NetworkManager.conf меняем на:
Код:
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[connection]
wifi.cloned-mac-address=random

[connection]
ethernet.cloned-mac-address=random
Вот и вся автоматизация...
 
  • Нравится
Реакции: Глюк

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Да я же это делал (выше писал об этом). если так делаю, то интернета вообще нету...
Сталкивался я с таким. Один случай из десяти. Возможно сетевая карта не поддерживает функцию подмены mac.
Я встроенным wi-fi не пользуюсь. Только внешними usb wi-fi свистками (чего и тебе советую), поэтому не задавался серьёзно данным вопросом.
Можно готовый скрипт
Код:
#!/bin/sh

ifconfig wlan0 down
macchanger -r wlan0
ifconfig wlan0 up
echo "MAC updated..."
exit 0
обозвать как угодно, у меня например wlan0, закинуть в /bin и сделать исполняемым. Лучше чем руками вбивать каждый раз.
А можно его в автозагрузку закинуть...
 
  • Нравится
Реакции: Vertigo

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
обозвать как угодно, у меня например wlan0, закинуть в /bin и сделать исполняемым. Лучше чем руками вбивать каждый раз.
А можно его в автозагрузку закинуть...
Мне кажется или wlan0 отвечает за работу вай фая? У меня просто интернет проводной/
 

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Всё верно. wlan0 - это вай фай, eth0 - провод, wlan1 - вай фай адаптер (если он имеется и подключён).
Создаю файл расположенный /bin/eth0 ( eth0 это сам файл )
Содержимое файла eth0:
#!/bin/sh

ifconfig eth0 down
macchanger -r eth0
ifconfig eth0 up
echo "MAC updated..."
exit 0

Теперь чё делать? Мне приходит мысль, что надо делать как то так - писать в терминале команду "update-rc.d -f eth0 enable". Хотя большая вероятность что это не правильно... Я просто как то тор добавлял такой командой в автозагрузку.
И ещё, у файла eth0 какое расширение ставить или не какого не надо?
 

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Создаю файл расположенный /bin/eth0 ( eth0 это сам файл )
Содержимое файла eth0:
#!/bin/sh

ifconfig eth0 down
macchanger -r eth0
ifconfig eth0 up
echo "MAC updated..."
exit 0

Теперь чё делать? Мне приходит мысль, что надо делать как то так - писать в терминале команду "update-rc.d -f eth0 enable". Хотя большая вероятность что это не правильно... Я просто как то тор добавлял такой командой в автозагрузку.
И ещё, у файла eth0 какое расширение ставить или не какого не надо?
Для начала сделай его исполняемым командой в терминале:
Код:
chmod +x /bin/eth0
Никакого расширения для файла не нужно.
В автозагрузку можно добавить и через терминал и штатными gui средствами системы.
Что там у тебя в кали за окружение? Gnome3? Там есть в настройках где то пункт "Автозагрузка". Туда и добавляй.
 
  • Нравится
Реакции: Mitistofel

ghost

Well-known member
12.05.2016
1 636
3 289
BIT
0
Интуиция не обманывает что следующий вопрос был бы про добавление скрипта в автозагрузку из терминала. :) Поэтому:
Создаём файл в /etc/init.d/
Код:
nano /etc/init.d/
С любым названием, в моём варианте это local (вместо nano используем текстовый редактор leafpad, если так проще). В начало скрипта добавляем:
Код:
#! /bin/sh
Устанавливаем права на исполнение /etc/init.d/local
Код:
chmod +x /etc/init.d/local
Добавляем скрипт /etc/init.d/local в автозапуск:
Код:
update-rc.d local defaults 80
Теперь можно добавлять в скрипт local команды, которые должны быть выполнены при запуске системы. В вашем случае это:
Код:
ifconfig eth0 down
macchanger -r eth0
ifconfig eth0 up
exit 0
Строку echo "MAC updated..." в скрипте в данном случае можно пропустить. Она без надобности.
Для удаления скрипта из автозагрузки нужно выполнить следующую команду:
Код:
update-rc.d -f /etc/init.d/local remove
 
Последнее редактирование:

Mitistofel

Green Team
03.06.2018
264
151
BIT
0
Для начала сделай его исполняемым командой в терминале:
Код:
chmod +x /bin/eth0
Никакого расширения для файла не нужно.
В автозагрузку можно добавить и через терминал и штатными gui средствами системы.
Что там у тебя в кали за окружение? Gnome3? Там есть в настройках где то пункт "Автозагрузка". Туда и добавляй.
Как ты сказал не получилось, потому что не могу не как указать файл eth0 через Настройки/Автозагрузка. Я этот файл eth0 туда в автозагрузку и перетаскивал и искал из списка предложенных команд и пользовался поиском - безрезультатно
А если вот такую команду в терминале написать "sudo systemctl enable eth0" то добавится в автозугрузку? Или "sudo systemctl enable /bin/eth0" правильнее?

Оооо, ты чё то написал, щас почитаю )
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!