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

Выбор и покупка виртуального сервера (VPS)

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

1. Регистрируем саморег яндекс денег при помощи cервиса sms-activate.ru (cтоит 1 рубль). Выпускаем при помощи этой же вирт смс виртуальную карту и аварийныые коды.

2.Регистрируем аккаунт пейпал. Нужен более менее свежий скан паспорта, инн можно узнать на сайте Госуслуг https://www.gosuslugi.ru/pgu/fns/findInn

3.Привязываем к пейпал карту яндекс.

4. Анонимно пополнить яндекс можно с тех же биткоинов используя обменники

5. Регистрируем аккаунт Didgital Ocean. Указываем имя и фамилию нашего скана.

6. Учетку желательно регистрировать на зарубежную почту вроде gmail.com и по возможности делать это с айпи адреса который не принаддежит датацентру (сокс5 прокси, дед). Если такой возможности нет, то можно использовать браузерный впн Zenmate

7.Зачастую аккаунт морозится после первой оплаты (если регили с впн), нам нужно написать админам, что мы собираемся использовать их сервер исключительно для благих целей вроде хостинга сайта с котиками и если необходимо готовы предоставить скан паспорта. Как правило проверка всегда проходит успешно. Именно Didgital Ocean не принципиально брать
можно воспользоваться сайтом poiskvps.ru

Нам подойдет даже самый дещевый сервер с 256 мб оперативной памяти, главное обрати внимание, чтобы не было ограничений по скорости из стран бери Европу - Нидерланды, Германию, Австрию, Францию и т. д.

1.Создаем дроплет дебиан в нашей учетке ДО, страну выбираем Германию или Нидерланды (самая лучшая скорость к России).

2.На почту придут данные для рут доступа на сервер.

3.Логинимся на наш сервер при помощи команды ssh root@айписервера

Соглашаемся добавить сервер в список известных хостов вбив yes

4. Вводим наш пароль от root,который пришел на почту. В терминале crtl +v не работаем вставляейте правой кнопкой мыши.

5. Нам автоматически предлагают сменить пароль.

6. Вводим опять пароль от root после чего нужно два раза ввести новый пароль.

Устанавливайте сложный пароль около 15-20 символов с разным регистром, цифрами и символами ][=-?><_, желательно при использовании генератора паролей. Это должно обезопасить нас от любого брута.

В терминале вводимые символы не отображаются знаком *, ничего страшного, все равно вводим и жмем enter

Обновляем систему деда apt-get update && apt-get dist-upgrade

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

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

https://github.com/Nyr/openvpn-install

Скачивается и запускается скрипт командой

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Нам показывает айпи нашего сервера жмем интер

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

Ждем пока скрипт сгенирирует все необходимые сертификаты и закончит работу, новоиспеченный конфиг появится в папке /root/нашеимя.ovpn

Открываем новый терминал (терминал с консолью сервера не трогаем) и скачиваем конфиг
sudo scp root@айпинашегосервера:~/имянашеговпн.ovpn /home/user/Downloads

После этого файл можно найти в папке /home/user/Downloads

Запускаем наш конфиг командой

sudo openvpn /home/user/Downloads/имяконфига.ovpn

Если клиент Openvpn не стоит то устанавливаем его командой

sudo apt-get install openvpn

Заходим на чекер анонимности 2ip.ru видим, что впн работает, но сервис видит наличие двухсторонего туннеля и даже выдает vpn fingerprint.

Нам такой фигни естественно не надо, поэтому продолжим настройку сервера и конфигов.

Заходим снова в терминал с сервером.

1.Отключаем ведение любых системных логов удаляя системную утилиту rsyslog

apt-get remove rsyslog

2. открываем наш серверный конфиг

nano /etc/openvpn/server.conf

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

apt-get install nano

в конфиге нам необходимо добавить строчку mssfix 0

также убедимся что отключены логи впн и есть строка verb 0

жмем ctrl+ o для сохранения изменений и ctrl + x для выхода

3. Настраиваем файрвол который блокирует любые подключения к нашему серверу кроме портов ssh и порта опенвпн (по дефолту 1194)

ставим файрвол ufw

sudo apt-get install ufw

разрешаем подключения по ssh

Разрешаем подключения к порту openvpn

ufw allow 1194/udp (если создавали конфиг с tcp, то указываем tcp вместо udp)

Залаем правило перенаправления пакетов ufw

nano /etc/default/ufw

в строке DEFAULT_FORWARD_POLICY=»DROP». Дроп меняем на ACCEPT, чтобы вышло
DEFAULT_FORWARD_POLICY=»ACCEPT»

Сохраняемся и выходим

Решаем проблему с определением двухстороннего пинга

g
nano /etc/ufw/before.rules

нужно закомментить строку поставив перед ней знак #
-A ufw-before-input -p icmp -icmp-type echo-request -j ACCEPT

Должно получиться так

# ok icmp codes
-A ufw-before-input -p icmp -icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp -icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp -icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp -icmp-type parameter-problem -j ACCEPT
#-A ufw-before-input -p icmp -icmp-type echo-request -j ACCEPT

Сохраняемся и выходим

Включаем наш файрвол ufw enable

Открываем наш клиентский конфиг на хост машине и дописываем строчку
mssfix 0

Сохраняемся и выходим

Установка и настройка Whonix Workstation и Whonix Gateway на виртуальной машине

4.Настройка браузера на Whonix Workstation

Настройка браузера

1. Открываем чекер whoer.net

2. Необходимо удостовериться что выключен flash и java (не путать с java script). Выключается в графе addons>plugins, все пункты должны быть отключены. Если нам нужны сайты, которые требуют данные технологии, то можно включить (на свой страх и риск)

3. Ставим нужные нам плагины

No Script (отключает java script на сайтах. ВАЖНО! Джава скрипт необходим для нормальной работы большинства сайтов, но также может использоваться злоумышленником для сбора информации и даже эксплойтирования уязвимостей в браузере. Разрешаем в плагине только те сайты, которым мы доверяем. Жизненный пример: злоумышленник размещает безобидную статью на форуме, где есть ссылка на его ресурс, переходя по ссылке мы переходим на сайт, где срабатывают вредоносные скрипты, при этом мы как правило не замечаем ничего подозрительного).

https everywhere (данный плагин принуждает сайты использовать зашифрованное соединение по протоколу https, если на сайте есть поддержка данной технологии, также в плагине можно указать опцию, которая блокирует любой http траффик в принципе. Жизненный пример: Злодей пишет траффик на выходной ноде тора и может свободно анализировать наш http траффик, т.к. он никак не зашифрован).

Self destructed cookies (кукисы - это вспомогательные файлы, которые хрянят настройки сайтов на нашем компьютере, могут быть как безобидными так и вредоносными см. evercookies, также наличие кукисов может быть доказательством, что нам принадлежит определенная учетка на форумесоцсети. Данный плагин удаляет все кукисы сразу после закрытия вкладкиокна браузера)

Privacy settings (в данном плагине можно сразу указать опцию privacy and security по желанию, но самое важное - это отключить webrtc в пункте media peer connections enable)

Random agent spoofer (данный плагин позволяет подделывать нашу операционную системуразрешение экранаuser agent и многое другое, при этом даже джаваскрипт не определяет нашу настоящую систему)

Настройка виртуалки для взлома Wi-Fi

1. Нужно сказать extension pack для VirtualBox http://download.virtualbox.org/virtualbox/5.1.14/Oracle_VM_VirtualBox_Extension_Pack-5.1.14-112924.vbox-extpack
Он нужен для того чтобы подключить USB Wi-Fi адаптер к виртуалке

2. Потом нужно скачать ISO дистрибутива wifislax
http://www.wifislax.com/category/download/nuevas-versiones/

Устанавливаем пак для виртуалбокс

Создаем виртуалку с ISO wifislax. Жесткий диск ненужно крепить к нему.

При установке на виртуалбокс ISO wifislax название ОС указываем debian 64 bit
Запускаем (от имени администратора) ISO в live режиме. Т.е после рестарта виртуалбокса все данные на нем сотрутся.

При запуске выбираем язык

Non-ES Language selection-russion

Предупреждение! Использование чужих точек - не панацея и само по себе является лишь небольшим ДОПОЛНЕНИЕМ к виртуальным машинам Whonix. Ни в коем случае нельзя использовать одно только подключение к чужой точке без других куда более важных мер, особенно, если эта точка находится неподалеку от вашего основного места жительства.

Недорогой и надежный вариант tp link TL-WN722N (около 1000 р.)
http://www.tp-link.com/en/products/details/TL-WN722N.html

Ни в коем случае не покупайте другие модели тплинк.

Данное обучение можно проходить и со встроенным адаптером ноутбука, принцип не меняется.

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

1. Pixie script - самый быстрый (буквально 2-3 минуты) и простой способ получить пароль к чужой точке доступа. Используется уязвимость wps определенных моделей роутеров.

2. Отлов хендшейков (пакеты в которых роутер и устройство обмениваются зашифрованными пакетами с паролем) и дальнейшая расфшифрока данных пакетов.

3. Брут пинкодов WPS (reaver). Занимает от 4 до 8 часов, у роутера должен быть включен WPS. Подробней про впс здесь https://ru.wikipedia.org/wiki/Wi-Fi_Protected_Setup

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

Инстукция по применению wifislax.

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

ПЕРВЫЙ СПОСОБ

1.Включаем пикси

Cтартменю (К) » Wifislax» Wpa-wps» Pixie Script

2.Выбираем наш сетевой адаптер (wlan0 или wlan1) и переводим адаптер в режим мониторинга MODO MONITOR, далее сканировать точки доступа INICIAR ESCANEO.

3.Выбираем нужную нам точку и жмем INICIAR ATAQUE.

При успехе рядом с точкой появится желтая звезда, и пароль затем можно найти на рабочем столе в папке Wireless-keys.

ВТОРОЙ СПОСОБ

1.Убиваем процессы, которые используют нашу сетевую карту

sudo kill 1623
sudo kill 1718

2.Включаем нашу карточку в режим мониторинга.

sudo airmon-ng start wlan0

3.Запускаем команду besside-ng

sudo besside-ng wlan0

В разделе TO OWN [сети которые мы пытаемся нагнуть]
В разделе OWNED

4.Открываем на рабочем столе ярлык HOME и смотрим сожержимое папки /root/
файл besside.log это лог результата работы програмы

SSID -имя сети
BSSID -макадрес сети вида

43:о3:d3:vb:d5:56

Первая половина данного мака
43:о3:d3 - это общий идентификатор произоводителя устройства, например, тп-линк, д-линк и т.д.

Вторая половина
vb:d5:56 - уникальный идентификатор конкретного устройства.

Файл, который содержит сами хендшейки это wpa.cap

Т.к. все данные при загрузки с лайв-флешки не сохраняются имеет смысл сохранить файлы wpa.cap и besside.log на другой носитель.

5. Редактируем файл с хендшейками

Запускаем wireshark

открываем наш файл wpa.cap

Каждый отдельный хендшейк здесь - это три последовательных пронумерованных пакета.

Так как в файле все хендшейки идут подряд, нам нужно разделить этот файл, чтобы каждой точке доступа соответствовал один конкретный хендшейк (три пакета)

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

Linux,

Нажимаем File » Export Specified Packets » выбираем Specify a packet range » вводим в поле номера первых трех пакетов 1-3

Имя файла вводим такое же как у точки доступа (см. файл бессайд лог) и жмем Save.

Затем нам нужно повторить данную операцию со всеми остальными пакетами, для этого вбиваем в поле Specify a packet range

4-6
7-9
10-12
13-15
16-18
и т.д. пока не закончим

Как только мы закончим нужно переименовать расширения всех файлов с имяточкидоступа.pcap на имяточкидоступа.cap Это нужно для сервиса.

Заходим на сайт http://wpa-sec.stanev.org регистрируемся, получаем на почту ключ.
Начинаем заливать наши хендшейки в разделе Submit

Как правило пароль подбирается за 10-15 минут, если процедура затягивается то скорей всего фейл. Все слабые пароли до восьми символов ломаются, сложные нет. Средняя статистика успеха где-то 20%.

ТРЕТИЙ СПОСОБ

Брутим wps. От 5 до 10 часов на точку

Основная программа для этого reaver, но в wifislax существует огромное кол-во автоматизированных скриптов для него, я покажу на примере одного из них.

Cтартменю (К) » Wifislax» Wpa-wps» Goyscript wps

1.Выбираем номер нашего сетевого устройства и жмем enter

2.Ждем секунд 30-40 пока идет сканирование точек с ВПС,
после чего останавливаем процесс нажатием ctrl+c.

3.Выбираем порядковый номер нужной нам точки и жмем enter.

На современных моделях роутеров данный способ практически не действует.

По фай вай скажу ряд моментов

1. Если злоумышленник получает доступ к твоей основной системе, то он получает доступ и к твоей сетевой карточке вайфай и видит все имена и макадреса всех точек, которые она ловит, а также твой личный мак адрес, а это скорей всего уже деанон. Можешь открыть например данный сервис https://wigle.net/ и посмотреть есть по твоему адресу точки, которые у тебя ловят.

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

3. Если ты настраиваешь нормальную цепочку с использованием ТОР + туннели или впн + виртуальная машина, то непонятна вообще роль соседского вайфай в данной истории. Сдеанонить ТОр это задача уровня американского агентства нац. безопасности, да и то не факт что они смогут. А если злоумышленник получает доступ к машине то см. п.1

Но несмотря на это ниже будет мини мануал поэтому поводу.

Сначала мы должны установить sshuttle на свой линукс минт

pip install sshuttle
sudo apt-get install pip
sudo pip install sshuttle

На ВПС ничего устанавливать ненужно

Команда для подключение к серверу

sshuttle -r user@remoteserver 0.0.0.0/0 –vv

где username - логин на удаленном виртуальном сервере, sshserver - его IP-адрес или доменное имя, параметр 0.0.0.0/0 означает, что мы собираемся добавить в нашу таблицу маршрутизации правило, благодаря которому весь исходящий трафик будет отправляться на удалённый сервер, за исключением DNS-запросов. Разработчик намеренно не включает по умолчанию этот функционал для DNS, потому что у некоторых пользователей для выхода в интернет должны использоваться провайдерские серверы разрешения имен. Если мы можем пользоваться любыми DNS-серверами, то и запросы к ним можем “завернуть” в наш шифрованный SSH-туннель

Whonix - это две виртуальные машины Линукс Debian запущенные в программе Virtual Box, настроенные для максимальной безыанонимности. Первый образ шлюз - Whonix Gateway, заворачивает весь наш траффик в сеть TOR, а второй рабочая станция - Whoinix Workstation, с которой мы уже заходим в интернетзапускаем софт. Причем, рабочая станция настроена таким образом, что вообще не может принимать никакого траффика кроме сети TOR. Это полностью исключает любую возможную утечку нашего айпи адреса или днс. Более того, даже если злоумышленнику удастся получить удаленный доступ к нашей машине хуникс, единственное что он сможет получить это локальный айпиадрес, который абсолютно бесполезен.

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

1.Cмена пароля.

В системе на обоих виртуальных машинах у нас два пользователя root и user, пароли для них по-умолчанию changeme. Для смены вводим:

sudo passwd user
sudo passwd root

2. Обновляется система командой sudo apt-get update && sudo apt-get dist-upgrade

3. Для установки чего либо вбиваем sudo apt-get install имяпрограммы

pidgin - джаббер
pidgin-otr - плагин otr шифрования для пиджина
keepassx- менеджер паролей
libreoffice - офисный пакет

Также можно устанавливать скаченные с сайтов проги вручную через sudo dpkg -i /путь/имя
или устанавливать через скрипты sudo sh /путь/имя
Обычно инструкции можно найти на этих же сайтах.

4. Для экономии оперативной памяти в настройках хуникс гетвей можно умеьшить ползунок до 150 мб. Тогда машина запустится в консольном виде. Если обратно увеличим - то снова будет графическая среда. Сэкономленую память можно выделить Хуникс Воркстейшен.
Обычно гетвей мы пользуемся только для обновления системы sudo apt-get update && sudo apt-get dist-upgrade
Также в случае проблем соединения с тор, можно перезапустить сервис sudo service tor restart

5. Графическая среда KDE не самая приятная, поэтому при желании ее можно сменить на более быструю xfce4 или mate

для этого вбиваем в консоли

sudo apt-get install mate
sudo apt-get install xfce4

После перезагрузки все должно работать.

Обфускация (маскировка) траффика

Этот способ нужно использовать только если ваш провайдер блокирует VPN или TOR подключение

sudo apt-get install python2.7 python-pip python-dev build-essential libgmp-dev
pip install obfsproxy
sudo pip install setuptools

после этого мы можем выполнить команду запуска obfs и запустить openvpn:

/etc/init.d/obfs start

Для того чтобы наш минт не запускался без флешки раздел boot нужно создать на этом флешке. Вспоминаем урок 1.Установка и настройка Linux Mint. Там начиная с 05:53 он объясняет как это сделать. Только там он создает раздел там куда будет установлен минт
Но мы должны выбрать и создать этот раздел на флешке.

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

Введение

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

Когда я потерял смартфон, мне сильно повезло, что установленный на него антивор оказался работоспособным и позволил удаленно стереть все данные из памяти девайса. Когда я по невнимательности открыл SSH-порт на домашней машине с юзером без пароля (!) во внешний мир (!!), мне сильно повезло, что на машину пробрались скрипт-кидди, которые кроме смешной истории шелла не оставили никаких серьезных следов своего пребывания в системе. Когда я случайно опубликовал в интернете листинг со своим паролем от Gmail, мне сильно повезло, что нашелся добрый человек, который предупредил меня об этом.

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

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

Пароль!

Все начинается с паролей. Они везде: в окне логина в Linux-дистрибутиве, в формах регистрации на интернет-сайтах, на FTP- и SSH-серверах и на экране блокировки смартфона. Стандарт для паролей сегодня - это 8–12 символов в разном регистре с включением цифр. Генерировать такие пароли своим собственным умом довольно утомительно, но есть простой способ сделать это автоматически:

$ openssl rand -base64 6

Никаких внешних приложений, никаких расширений для веб-браузеров, OpenSSL есть на любой машине. Хотя, если кому-то будет удобней, он может установить и использовать для этих целей pwgen (поговаривают, пароль получится более стойким):

$ pwgen -Bs 8 1

Где хранить пароли? Сегодня у каждого юзера их так много, что хранить все в голове просто невозможно. Довериться системе автосохранения браузера? Можно, но кто знает, как Google или Mozilla будет к ним относиться. Сноуден рассказывал, что не очень хорошо. Поэтому пароли надо хранить на самой машине в зашифрованном контейнере. Отцы-основатели рекомендуют использовать для этого KeePassX. Штука графическая, что не сильно нравится самим отцам-основателям, но зато работает везде, включая известный гугль-зонд Android (KeePassDroid). Останется лишь перекинуть базу с паролями куда надо.

Шифруемся

Шифрование - как много в этом слове… Сегодня шифрование везде и нигде одновременно. Нас заставляют пользоваться HTTPS-версиями сайтов, а нам все равно. Нам говорят: «Шифруй домашний каталог», а мы говорим: «Потом настрою». Нам говорят: «Любимое занятие сотрудников Dropbox - это ржать над личными фотками юзеров», а мы: «Пусть ржут». Между тем шифрование - это единственное абсолютное средство защиты на сегодняшний день. А еще оно очень доступно и сглаживает морщины.

В Linux можно найти тонны средств шифрования всего и вся, от разделов на жестком диске до одиночных файлов. Три наиболее известных и проверенных временем инструмента - это dm-crypt/LUKS, ecryptfs и encfs. Первый шифрует целые диски и разделы, второй и третий - каталоги с важной информацией, каждый файл в отдельности, что очень удобно, если потребуется делать инкрементальные бэкапы или использовать в связке с Dropbox. Также есть несколько менее известных инструментов, включая TrueCrypt например.

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

$ sudo apt-get install ecryptfs-utils

И, собственно, включить шифрование:

$ sudo ecryptfs-setup-swap $ ecryptfs-setup-private

Далее достаточно ввести свой пароль, используемый для логина, и перезайти в систему. Да, все действительно так просто. Первая команда зашифрует и перемонтирует своп, изменив нужные строки в /etc/fstab. Вторая - создаст каталоги ~/.Private и ~/Private, в которых будут храниться зашифрованные и расшифрованные файлы соответственно. При входе в систему будет срабатывать PAM-модуль pam_ecryptfs.so, который смонтирует первый каталог на второй с прозрачным шифрованием данных. После размонтирования ~/Private окажется пуст, а ~/.Private будет содержать все файлы в зашифрованном виде.

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

# ecryptfs-migrate-home -u vasya

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

$ mount | grep Private /home/vasya/.Private on /home/vasya type ecryptfs ...

Если все ок, незашифрованную копию данных можно затереть:

$ sudo rm -r /home/vasya.*

Заметаем следы

ОK, пароли в надежном месте, личные файлы тоже, что теперь? А теперь мы должны позаботиться о том, чтобы какие-то куски наших личных данных не попали в чужие руки. Ни для кого не секрет, что при удалении файла его актуальное содержимое остается на носителе даже в том случае, если после этого произвести форматирование. Наши зашифрованные данные будут в сохранности даже после стирания, но как быть с флешками и прочими картами памяти? Здесь нам пригодится утилита srm, которая не просто удаляет файл, но и заполняет оставшиеся после него блоки данных мусором:

$ sudo apt-get install secure-delete $ srm секретный-файл.txt home-video.mpg

# dd if=/dev/zero of=/dev/sdb

Эта команда сотрет все данные на флешке sdb. Далее останется создать таблицу разделов (с одним разделом) и отформатировать в нужную ФС. Использовать для этого рекомендуется fdisk и mkfs.vfat, но можно обойтись и графическим gparted.

Предотвращение BruteForce-атак

Fail2ban - демон, который просматривает логи на предмет попыток подобрать пароли к сетевым сервисам. Если такие попытки найдены, то подозрительный IP-адрес блокируется средствами iptables или TCP Wrappers. Сервис способен оповещать владельца хоста об инциденте по email и сбрасывать блокировку через заданное время. Изначально Fail2ban разрабатывался для защиты SSH, сегодня предлагаются готовые примеры для Apache, lighttpd, Postfix, exim, Cyrus IMAP, named и так далее. Причем один процесс Fail2ban может защищать сразу несколько сервисов.

В Ubuntu/Debian для установки набираем:

# apt-get install fail2ban

Конфиги находятся в каталоге /etc/fail2ban. После изменения конфигурации следует перезапускать fail2ban командой:

# /etc/init.d/fail2ban restart

Угроза извне

Теперь позаботимся об угрозах, исходящих из недр всемирной паутины. Здесь я должен был бы начать рассказ об iptables и pf, запущенном на выделенной машине под управлением OpenBSD, но все это излишне, когда есть ipkungfu. Что это такое? Это скрипт, который произведет за нас всю грязную работу по конфигурированию брандмауэра, без необходимости составлять километровые списки правил. Устанавливаем:

$ sudo apt-get install ipkungfu

Правим конфиг:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # Локальная сеть, если есть - пишем адрес сети вместе с маской, нет - пишем loopback-адрес LOCAL_NET="127.0.0.1" # Наша машина не является шлюзом GATEWAY=0 # Закрываем нужные порты FORBIDDEN_PORTS="135 137 139" # Блокируем пинги, 90% киддисов отвалится на этом этапе BLOCK_PINGS=1 # Дропаем подозрительные пакеты (разного рода флуд) SUSPECT="DROP" # Дропаем «неправильные» пакеты (некоторые типы DoS) KNOWN_BAD="DROP" # Сканирование портов? В трэш! PORT_SCAN="DROP"

Для включения ipkungfu открываем файл /etc/default/ipkungfu и меняем строку IPKFSTART = 0 на IPKFSTART = 1. Запускаем:

$ sudo ipkungfu

Дополнительно внесем правки в /etc/sysctl.conf:

$ sudo vi /etc/systcl.conf # Дропаем ICMP-редиректы (против атак типа MITM) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # Включаем механизм TCP syncookies net.ipv4.tcp_syncookies=1 # Различные твики (защита от спуфинга, увеличение очереди «полуоткрытых» TCP-соединений и так далее) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_max_syn_backlog=1280 kernel.core_uses_pid=1

Активируем изменения:

$ sudo sysctl -p

Выявляем вторжения

Snort - один из любимейших инструментов админов и главный фигурант всех руководств по безопасности. Штука с долгой историей и колоссальными возможностями, которой посвящены целые книги. Что он делает в нашем гайде по быстрой настройке безопасной системы? А здесь ему самое место, Snort можно и не конфигурировать:

$ sudo apt-get install snort $ snort -D

Все! Я не шучу, стандартных настроек Snort более чем достаточно для защиты типовых сетевых сервисов, если, конечно, они у тебя есть. Нужно только время от времени просматривать лог. А в нем можно обнаружить строки типа этих:

[**] MS-SQL probe response overflow attempt [**] http://www.securityfocus.com/bid/9407]

Упс. Кто-то пытался вызвать переполнение буфера в MySQL. Тут сразу есть и ссылочка на страницу с детальным описанием проблемы. Красота.

Кто-то наследил…

Кто-то особенно умный смог обойти наш брандмауэр, пройти мимо Snort, получить права root в системе и теперь ходит в систему регулярно, используя установленный бэкдор. Нехорошо, бэкдор надо найти, удалить, а систему обновить. Для поиска руткитов и бэкдоров используем rkhunter:

$ sudo apt-get install rkhunter

Запускаем:

$ sudo rkhunter -c --sk

Софтина проверит всю систему на наличие руткитов и выведет на экран результаты. Если зловред все-таки найдется, rkhunter укажет на место и его можно будет затереть. Более детальный лог располагается здесь: /var/log/rkhunter.log. Запускать rkhunter лучше в качестве cron-задания ежедневно:

$ sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | mail -s "RKhunter Scan Results" [email protected]

Заменяем email-адрес Васи на свой и делаем скрипт исполняемым:

$ sudo chmod +x /etc/cron.daily/rkhunter.sh

$ sudo rkhunter --update

Ее, кстати, можно добавить перед командой проверки в cron-сценарий. Еще два инструмента поиска руткитов:

$ sudo apt-get install tiger $ sudo tiger $ sudo apt-get install lynis $ sudo lynis -c

По сути, те же яйца Фаберже с высоты птичьего полета, но базы у них различные. Возможно, с их помощью удастся выявить то, что пропустил rkhunter. Ну и на закуску debsums - инструмент для сверки контрольных сумм файлов, установленных пакетов с эталоном. Ставим:

$ sudo apt-get install debsums

Запускаем проверку:

$ sudo debsums -ac

Как всегда? запуск можно добавить в задания cron.



За пределами

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

Чтобы спокойно ходить по сайтам и только в случае необходимости включать прокси, можно воспользоваться одним из множества расширений для Chrome и Firefox, которые легко находятся в каталоге по запросу proxy switcher. Устанавливаем, вбиваем список нужных прокси и переключаемся на нужный, увидев вместо страницы табличку «Доступ к странице ограничен по требованию господина Скумбриевича».

В тех ситуациях, когда под фильтр попал весь сайт и его адрес внесли в черный список на стороне DNS-серверов провайдеров, можно воспользоваться свободными DNS-серверами, адреса которых опубликованы . Просто берем два любых понравившихся адреса и добавляем в /etc/resolv.conf:

Nameserver 156.154.70.22 nameserver 156.154.71.22

Чтобы разного рода DHCP-клиенты и NetworkManager’ы не перезаписали файл адресами, полученными от провайдера или роутера, делаем файл неперезаписываемым с помощью расширенных атрибутов:

$ sudo chattr +i /etc/resolv.conf

После этого файл станет защищен от записи для всех, включая root.

Чтобы еще более анонимизировать свое пребывание в Сети, можно воспользоваться также демоном dnscrypt, который будет шифровать все запросы к DNS-серверу в дополнение к прокси-серверу, используемому для соединения с самим сайтом. Устанавливаем:

$ wget http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.2.tar.bz2 $ bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf - $ cd dnscrypt-proxy-* $ sudo apt-get install build-essential $ ./configure && make -j2 $ sudo make install

Указываем в /etc/resolv.conf loopback-адрес:

$ vi /etc/resolv.conf nameserver 127.0.0.1

Запускаем демон:

$ sudo dnscrypt-proxy --daemonize

Кстати, версии dnscrypt есть для Windows, iOS и Android.

Луковая маршрутизация

Что такое луковая маршрутизация? Это Tor. А Tor, в свою очередь, - это система, которая позволяет создать полностью анонимную сеть с выходом в интернет. Термин «луковый» здесь применен относительно модели работы, при которой любой сетевой пакет будет «обернут» в три слоя шифрования и пройдет на пути к адресату через три ноды, каждая из которых будет снимать свой слой и передавать результат дальше. Все, конечно, сложнее, но для нас важно только то, что это один из немногих типов организации сети, который позволяет сохранить полную анонимность.

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

Тем не менее Tor очень легко установить и использовать:

$ sudo apt-get install tor

Все, теперь на локальной машине будет прокси-сервер, ведущий в сеть Tor. Адрес: 127.0.0.1:9050, вбить в браузер можно с помощью все того же расширения, ну или добавить через настройки. Имей в виду, что это SOCKS, а не HTTP-прокси.

INFO

Версия Tor для Android называется Orbot.

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

Именно ecryptfs используется для шифрования домашнего каталога в Ubuntu.

Борьба с флудом

Приведу несколько команд, которые могут помочь при флуде твоего хоста.

Подсчет количества коннектов на определенный порт:

$ netstat -na | grep ":порт\ " | wc -l

Подсчет числа «полуоткрытых» TCP-соединений:

$ netstat -na | grep ":порт\ " | grep SYN_RCVD | wc -l

Просмотр списка IP-адресов, с которых идут запросы на подключение:

$ netstat -na | grep ":порт\ " | sort | uniq -c | sort -nr | less

Анализ подозрительных пакетов с помощью tcpdump:

# tcpdump -n -i eth0 -s 0 -w output.txt dst port порт and host IP-сервера

Дропаем подключения атакующего:

# iptables -A INPUT -s IP-атакующего -p tcp --destination-port порт -j DROP

Ограничиваем максимальное число «полуоткрытых» соединений с одного IP к конкретному порту:

# iptables -I INPUT -p tcp --syn --dport порт -m iplimit --iplimit-above 10 -j DROP

Отключаем ответы на запросы ICMP ECHO:

# iptables -A INPUT -p icmp -j DROP --icmp-type 8

Выводы

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

  • Серверное администрирование ,
  • Системное администрирование
  • На ежегодной конференции LinuxCon в 2015 году создатель ядра GNU/Linux Линус Торвальдс поделился своим мнением по поводу безопасности системы. Он подчеркнул необходимость смягчения эффекта от наличия тех или иных багов грамотной защитой, чтобы при нарушении работы одного компонента следующий слой перекрывал проблему.

    В этом материале мы постараемся раскрыть эту тему с практической точки зрения:

    7. Установить сетевые экраны

    Недавно была новая уязвимость, позволяющая проводить DDoS-атаки на сервера под управлением Linux. Баг в ядре системы появился с версии 3.6 в конце 2012 года. Уязвимость даёт возможность хакерам внедрять вирусы в файлы загрузки, веб-страницы и раскрывать Tor-соединения, причём для взлома не нужно прилагать много усилий - сработает метод IP-спуфинга.

    Максимум вреда для зашифрованных соединений HTTPS или SSH - прерывание соединения, а вот в незащищённый трафик злоумышленник может поместить новое содержимое, в том числе вредоносные программы. Для защиты от подобных атак подойдёт firewall.

    Блокировать доступ с помощью Firewall

    Firewall - это один из самых важных инструментов блокирования нежелательного входящего трафика. Мы рекомендуем пропускать только действительно нужный трафик и полностью запретить весь остальной.

    Для фильтрации пакетов в большинстве дистрибутивов Linux есть контроллер iptables. Обычно им пользуются опытные пользователи, а для упрощённой настройки можно использовать утилиты UFW в Debian/Ubuntu или FirewallD в Fedora.

    8. Отключить ненужные сервисы

    Специалисты из Университета Виргинии рекомендуют отключить все сервисы, которые вы не используете. Некоторые фоновые процессы установлены на автозагрузку и работают до отключения системы. Для настройки этих программ нужно проверить скрипты инициализации. Запуск сервисов может осуществляться через inetd или xinetd.

    Если ваша система настроена через inetd, то в файле /etc/inetd.conf вы сможете отредактировать список фоновых программ «демонов», для отключения загрузки сервиса достаточно поставить в начале строки знак «#», превратив её из исполняемой в комментарий.

    Если система использует xinetd, то её конфигурация будет в директории /etc/xinetd.d. Каждый файл директории определяет сервис, который можно отключить, указав пункт disable = yes, как в этом примере:

    Service finger { socket_type = stream wait = no user = nobody server = /usr/sbin/in.fingerd disable = yes }
    Также стоит проверить постоянные процессы, которые не управляются inetd или xinetd. Настроить скрипты запуска можно в директориях /etc/init.d или /etc/inittab. После проделанных изменений запустите команду под root-аккаунтом.

    /etc/rc.d/init.d/inet restart

    9. Защитить сервер физически

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

    Для входа в дата-центр все посетители должны проходить определенные этапы аутентификации. Также настоятельно рекомендуется использовать датчики движения во всех помещениях центра.

    10. Защитить сервер от неавторизованного доступа

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

    Например, инструменты Tripwire и Aide собирают базу данных о системных файлах и защищают их с помощью набора ключей. Psad используется для отслеживания подозрительной активности с помощью отчётов firewall.

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

    Заключение

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

    О чем еще мы пишем:

    Теги:

    • 1сloud
    • linux
    • ИБ
    Добавить метки

    Чаще всего нападкам подвергается самая сильная сторона свободной ОС - безопасность. То, чем больше всего гордятся линуксоиды и что больше всего ценят. Предлагаем вашему вниманию 5 главных мифов.

    Исходный код

    Миф 1. Linux небезопасен, так как исходные коды программ доступны для изучения хакерам. Рядовые пользователи вряд ли будут ковырять сложный код, а вот хакеры будут, чтобы потом эксплуатировать найденные уязвимости. К тому же,

    Что на самом деле: вручную просматривать миллионы строк исходного кода и не требуется. Эта задача решается статистическими анализаторами кода и специальными программными комплексами для аудита. Случайные и преднамеренные ошибки вылавливаются автоматом и затем уже эксперт разбирается с каждым конкретным случаем. Для закрытого бинарного кода Windows это не работает. Вот уже где действительно можно легко спрятать закладку.

    Вирусы

    Миф 2. Под Linux мало вирусов, но только потому, что Linux является малопопулярной операционной системой. Как только количество пользователей возрастет, подтянутся и вирусописатели, а сам Linux ничем не будет отличаться от Windows в плане восприимчивости к сетевой заразе.

    Что на самом деле: 2% пользователей Linux - это десятки миллионов компьютеров. Если бы действительно было просто , то он был бы давно создан. Android - это тоже на 95% Linux. Устройств на базе Android уже миллиард. Ну и где эпидемии?

    Опытные пользователи

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

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

    Опять вирусы

    Миф 4. Под Linux тоже есть вирусы.

    Антивирус

    Миф 5. Под Linux установка антивируса является обязательной.

    Что на самом деле: обязательным является настройка iptables и воздержание от подключения сомнительных репозиториев третьей стороны. Тогда нужды в антивирусе нет. Более того, маркетологами антивирусных компаний.

    Select rating Give it 1/5 Give it 2/5 Give it 3/5 Give it 4/5 Give it 5/5



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: