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

  • Автор темы Автор темы PANDORA
  • Дата начала Дата начала

PANDORA

Заместитель Администратора
Команда форума
Администратор
Sweetie Girl
Сообщения
5.020
Реакции
11.395
Ограничиваем доступ к компиляторам.

Сразу оговорюсь, что статья не для новичков (прим. автора)

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

Эксплойты.

Да, этот вектор атаки имеет место быть. И его можно разделить на два основных типа:

1. Атакующий компилирует (собирает) зловреда из исходников у себя на машине и в готовом виде пытается доставить его на машину жертвы.

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

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

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

1. Сделать автологаут сессии при инактиве
2. Установить комплекс Fail2Ban
3. Изменить порт SSH (самый популярный сервис для атак)
4. Запретить логин в SSH с правами рута
5. Ограничить доступ к компиляторам

Теперь по порядку каждый пункт:

1. Находим файл /etc/bash.bashrc и дописываем внизу следующие строки:


Код:
# Autologout
TMOUT=60
readonly TMOUT
export TMOUT

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

2. В терминале выполняем следующие команды:


Код:
sudo apt update
sudo apt install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo service fail2ban start

После чего систему будет защищать новый оборонный модуль fail2ban, который будет заносить в бан-лист IP адреса, с которых было 2 и более неудачных попытки подключения к нашей машине. Это одна из контрмер против брутфорсеров типа THC-Hydra.

Для автозапуска модуля нужно выполнить команды

Код:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

3. Находим файл /etc/ssh/sshd_config, строка 13 и меняем значение с 22 на другое, например 220:

Код:
Port 220

Это не даст нам попасть в списке терпил, если где то рядом будет работать суровый Nmap в режиме:

Код:
sudo nmap -n -v -iR 10000 -Pn -p 22

4. В том же файле /etc/ssh/sshd_config строка 32:
Код:
PermitRootLogin no

5. Ну и наконец сами компиляторы. Для выяснения списка установленных запускаем аудитор уязвимостей Lynis

Код:
sudo lynis audit system

В итогах аудита мы увидим следующее:
"Harden compilers like restricting access to root user only" HRDN-7222

Смотрим какие именно компилятры доступны:

Код:
sudo lynis show details HRDN-7222

Видим, например:
/usr/bin/x86_64-linux-gnu-as

Ограничиваем к нему доступ:

Код:
sudo chown root:root /usr/bin/x86_64-linux-gnu-as
sudo chmod 0750 /usr/bin/x86_64-linux-gnu-as

После чего проводим повторный аудит, чтобы убедиться что HRDN-7222 исчезла.
 
Каким образом в операционной системе для продажи чего-нибудь не очень законного оказался ssh сервер? Который нафиг не нужен по причине наличия теоретической возможности создать бекдор или найти уязвимость, обойти fail2ban, а также подключиться по ssh.

Fail2ban вообще применяется на серверах, а на десктопе не нужен по причине отсутствия по-умолчанию ssh.

Таким образом при отсутствии ssh не придется и ограничивать доступ к компиляторам, которые к слову не всем то и нужны.
 
Каким образом в операционной системе для продажи чего-нибудь не очень законного оказался ssh сервер? Который нафиг не нужен по причине наличия теоретической возможности создать бекдор или найти уязвимость, обойти fail2ban, а также подключиться по ssh.

Fail2ban вообще применяется на серверах, а на десктопе не нужен по причине отсутствия по-умолчанию ssh.

Таким образом при отсутствии ssh не придется и ограничивать доступ к компиляторам, которые к слову не всем то и нужны.
Верно. Однако компиляторы устанавливаются автоматом при установке некоторых пакетов. Например тех же chkrootkit или rkhunter, равно как может быть установлен и пакет ssh. И я стою перед выбором - либо ограничить их заранее, либо надеятся что пользователи ничего не будут устанавливать самостоятельно (что маловероятно) либо задавать им неудобные вопросы не установили ли они там случайно network-manager-openssh-gnome с openssh-client и connect-proxy и не желают ли они настроить это все по нормальному. Ssh пакеты же устанавливают очень часто для входа в платежные сервисы. Tам очень длинные блеклисты тор-нод.

на счет теоретических возможностей - на то они и теоретические. как ты и написал десктоп и сервер это далеко не одно и тоже.
 
Последнее редактирование модератором:
Наличие жестких зависимостей это проблема Debian, а не Linux в целом.
 
Подскажи как исправить красные огоньки в lynis? Не пойму куда копать.
Код:
NetworkManager.service:                             [ EXPOSED ]
alsa-state.service:                                 [ UNSAFE ]
 
Подскажи как исправить красные огоньки в lynis? Не пойму куда копать.
Код:
NetworkManager.service:                             [ EXPOSED ]
alsa-state.service:                                 [ UNSAFE ]
Привет. Не все варнинги там нужно фиксить. Не забывай, что по дефолту лайнис проверяет систему как "сервер" и далеко не все его рекомендации актуальны для "десктоп" систем. Так что на многое можно забить. Например на его рекомендацию "отключить усб модуль" чтобы флешки не работали, что невозможно сделать если ты используешь систему, которая работает с флешки )
 

Похожие темы

Environment - Linux Medium В прошлый раз мы начали с прохождения лёгкой машины и как я писал в первой статье, пойдём по нарастающей. Начнем прохождение машины, как всегда, с первичных сканов. Результаты сканирования с помощью Nmap показали только два открытых порта: 22/tcp open ssh syn-ack...
Ответы
2
Просмотры
760
Итак, сегодня мы разберём машину Nocturnal | Linux easy. После добавления nocturnal.htb в файл /etc/hosts запускаем первый скан. Я использую rustscan, так как он быстрее определяет открытые порты целевой системы. rustscan -a nocturnal.htb -- -A Если вы используете nmap, то первый скан лучше...
Ответы
2
Просмотры
В темных уголках даркнета, где анонимность и безопасность — это всё, каждый инструмент может быть либо вашим щитом, либо слабым звеном. Firejail — это мощный инструмент песочницы для Linux, который действует как укрепленный бункер для ваших приложений. Он изолирует программы, ограничивает их...
Ответы
6
Просмотры
  • Закрыта
В данной статье я хочу продемонстрировать процесс создания виртуального Tor-шлюза на qemu, данная схема аналогична системе whonix, но, в отличии от whonix, в данном случае мы проведем более тонкую настройку iptables, так же в этом случае можно выбрать любое графическое окружение(я предпоитаю...
Ответы
44
Просмотры
13К
Введение. Предисловие. 1 Теоретическая част. 1.1 Архитектура сети интернет. 1.2 Взаимодействия в сети. 1.3 Маршрутизация. 1.4 Ранговость. 1.5 Процессоры и архитектуры. 1.6 Проблема программных продуктов. 1.7 Открытый код. 1.8 Криптография. 1.9 Обзор предложений линий коммуникаций. 1.10 Краткий...
Ответы
16
Просмотры
Назад
Сверху Снизу