- Сообщения
- 5.020
- Реакции
- 11.395
Ограничиваем доступ к компиляторам.
Сразу оговорюсь, что статья не для новичков (прим. автора)
Всяческие поклонники творения пивняков из немеции под названием Whonix частень пишут ерунду, дескать без изоляции оченно сложно мне защищать крайма от эксплойтов и прочей зловредной пакости. Нет, я не имею ничего против Хуникса. Просто я, как эсперт вижу в нем не "вундервафлю", а обычный, хорошо забронированный линукс. И в отличии от кухонных теоретиков я понимаю как Хуникс забронирован, и что конкретно делает его трудной для подобных атак целью.
Эксплойты.
Да, этот вектор атаки имеет место быть. И его можно разделить на два основных типа:
1. Атакующий компилирует (собирает) зловреда из исходников у себя на машине и в готовом виде пытается доставить его на машину жертвы.
2. Атакующий доставляет на машину жертвы исходный код, после чего компилирует (собирает) зловреда уже дистанционно.
Второй способ менее заметен для жерты - так как исходный код это тупо текстовые файлы и незаметненько закинуть их врагу куда проще, чем незаменто подсунуть уже готовый излучатель зла и бед. Однако же второй способ требует как минимум наличия компиляторов на машине жертвы, причем компиляторов с доступом для всех групп и пользователей, ибо получить на удаленной машине рута это отдельная непростая задача.
Проблема тут в том, что на практически всех современных линуксах эти компиляторы есть. Так что чтобы не стать легкой целью для вероятного противника имеет смысл усложнить ему жизнь до невозможности. А конкретно:
1. Сделать автологаут сессии при инактиве
2. Установить комплекс Fail2Ban
3. Изменить порт SSH (самый популярный сервис для атак)
4. Запретить логин в SSH с правами рута
5. Ограничить доступ к компиляторам
Теперь по порядку каждый пункт:
1. Находим файл /etc/bash.bashrc и дописываем внизу следующие строки:
После чего сохраняем файл. Теперь после 60 секунд бездействия система будет завершать сеанс автоматически, сначала выкидывая из рут сессии в сессию юзера, а еще через 60 секунд бездействия будет закрывать окно терминала.
2. В терминале выполняем следующие команды:
После чего систему будет защищать новый оборонный модуль fail2ban, который будет заносить в бан-лист IP адреса, с которых было 2 и более неудачных попытки подключения к нашей машине. Это одна из контрмер против брутфорсеров типа THC-Hydra.
Для автозапуска модуля нужно выполнить команды
3. Находим файл /etc/ssh/sshd_config, строка 13 и меняем значение с 22 на другое, например 220:
Это не даст нам попасть в списке терпил, если где то рядом будет работать суровый Nmap в режиме:
4. В том же файле /etc/ssh/sshd_config строка 32:
5. Ну и наконец сами компиляторы. Для выяснения списка установленных запускаем аудитор уязвимостей Lynis
В итогах аудита мы увидим следующее:
"Harden compilers like restricting access to root user only" HRDN-7222
Смотрим какие именно компилятры доступны:
Видим, например:
/usr/bin/x86_64-linux-gnu-as
Ограничиваем к нему доступ:
После чего проводим повторный аудит, чтобы убедиться что HRDN-7222 исчезла.
Сразу оговорюсь, что статья не для новичков (прим. автора)
Всяческие поклонники творения пивняков из немеции под названием 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 исчезла.