rxd_txd
300 subscribers
514 photos
31 videos
22 files
2.79K links
Download Telegram
Forwarded from Админим с Буквой (bykva)
Вооооот. А еще я наклепал лабу по linux hardening... По большей части это компиляция из известных ресурсов, моего там практически нет. В целом это выглядит как чистый хахреднинг, но на самом деле он лежит в разделе про ansible, потому что тут довольно неплохие задачи которые позволят прокачать свои умения в этом продукте. Так шо объединяем приятное с полезным - инфраструктура как код и сесурити, шобы злобный хацкер не майнил бетховенов на вашем железе!

https://github.com/bykvaadm/OS/tree/master/devops/ansible/lab4

#linux #hardening #security #ansible
🐧 How Program Gets Run: Linux. Автор попытался пошагово показать процесс запуска программы в Linux. #напочитать #linux
Routing Decisions in the Linux Kernel
#linux #networking
- Lookup and packet flow
- Caching
Forwarded from Bash Days | Linux | DevOps (Роман Шубин)
Ты - самый счастливый человек на планете!

Почему? Потому, что сейчас узнаешь про ONLY.

Частенько возникала необходимость разрешить пользователю запускать только определенные команды по ssh. То есть явно указать ему белый список таких команд.

Городили мы конечно знатные велосипеды с помощью костылей, rbash, симлинков, chroot и т.п.

Кстати про chroot писал в этом посте, почитай на досуге, мож где применишь.


Все эти костыли были неудобные и какие-то пиздец сложно поддерживаемые. Но решение было найдено и вполне элегантное. Всё уже украдено придумано за нас.

Для затравки: /home/user/.ssh/authorized_keys

command="only rsync ls cat" ssh-rsa AAAAB3Nza


Думаю идею ты понял. Пользователь подключается по ssh и может выполнить только 3 команды rsync, ls, cat.

И тут большой плюс - пользователь не получает интерактивную оболочку, то есть всё сводится к выполнению подобной конструкции:

ssh user@bashdays.ru ls /home/user/


Команда ls находится в белом списке и успешно отработает при подключении по ssh, а дальше сессия завершится.

Нехер ему на сервере делать. Есть список команд, вот пусть ими и довольствуется без интерактива.

✔️ Теперь подробности

ONLY это НЕ какая-то встроенная команда в Linux, это Bash скрипт, который аккуратно лежит в /usr/local/sbin, положить его туда ты должен самостоятельно.

1. Берем only из репы
2. Кидаем его в /usr/local/sbin/only
3. Ставим chmod +x чтобы запускался
4. Делаем пару ключей для работы

ssh-keygen -P "" -f only


P = пустая парольная фраза
f = задаем имя ключа

Содержимое ключа only pub добавляем в authorized_keys нужному пользователю, а private key отдаем, тому кто будет подключаться к серверу.

Да, файл authorized_keys у меня выглядит примерно так:

command="only rsync cat ls", no-agent-forwarding, no-port-forwarding, no-pty, no-user-rc, no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA


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

Важная штука, потребуется файл с правилами, называется .onlyrules. Забирай тут.

Этот файл нужно также скопировать в папку, того пользователя, которого ограничиваем, например в /home/user/.onlyrules

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

\:^ls$:{p;q}
\:^who$:{p;q}


Короче это фильтры на аргументы, ключи и т.п. Можно не заморачиваться и просто обернуть нужные команды между \:^ и $:{p;q}.

Бонусом, в папке пользователя можешь разместить файл .onlyrc и затюнить всякие информационные сообщения. Но автор не рекомендует этого делать и использовать only без этого файла.


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

Лично мне эта штука понравилась, раздал тестировщикам ключики, теперь они сами могут своих вонючих демонов перезапускать, без блуждания по серверу и фраз — да блядь, я что-то нажал и всё сломалось!

Такие дела. Увидимся!

tags: #bash #linux #utils

@ВАSНDАYS | BАSHDАYS.CОM
Please open Telegram to view this post
VIEW IN TELEGRAM