- 20.06.2022
- 23 845
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Нужно заблокировать сервер Linux, чтобы определенные удаленные пользователи могли получить доступ только к определенному каталогу и только для загрузки и выгрузки файлов?
Давайте рассмотрим, как это сделать.
Когда у вас есть сервер с доступом по SSH, если вы не настроили его иначе, любой пользователь с учетной записью в этой системе может войти в систему и, если у него есть права и навыки, посеять хаос на вашем сервере.
Что вы можете сделать, так это ограничить этих пользователей с помощью chroot jail.
Этим вы существенно ограничиваете возможности этих пользователей в вашей системе.
Фактически, любой пользователь, ограниченный chroot jail, может:
Вот и все.
Давайте творить магию безопасности.
Создайте группу:
Затем добавьте пользователя в группу с помощью команды:
Где USERNAME – пользователь, которого вы хотите добавить в группу с ограниченным доступом.
Найдите строку (рядом с нижней частью):
Измените эту строку на:
В нижней части файла добавьте следующее:
Сохраните и закройте файл.
Перезапустите SSH с помощью:
Теперь вернитесь на другую машину и попытайтесь войти на сервер по SSH с пользователем, например:
Вы увидите предупреждение:
Где USERNAME – имя пользователя, а SERVER – IP-адрес или домен сервера.
После успешного входа в систему они окажутся в приглашении sftp, где смогут передавать файлы туда и обратно с помощью команд put и get.
Ограниченные пользователи могут загружать файлы только в свои домашние каталоги.
Когда пользователь с ограниченными правами входит в систему, он находится в каталоге /home.
Поэтому для успешной загрузки им придется перейти в свой домашний каталог, выполнив такую команду, как:
Попав в свой домашний каталог, можно выполнить команду типа:
Пока этот файл находится в текущем рабочем каталоге машины, с которой они вошли на сервер, он будет загружаться нормально.
Если этим пользователям нужно только загрузить файлы на локальную машину, они могут использовать такую команду, как:
Я понимаю, что это очень ограниченная конфигурация с очень ограниченными случаями использования, но в какой-то момент вашей карьеры администратора Linux вы столкнетесь с ситуацией, когда вам нужно будет ограничить вход пользователей в chroot jail.
Это один из способов сделать это.
Давайте рассмотрим, как это сделать.
Когда у вас есть сервер с доступом по SSH, если вы не настроили его иначе, любой пользователь с учетной записью в этой системе может войти в систему и, если у него есть права и навыки, посеять хаос на вашем сервере.
Что вы можете сделать, так это ограничить этих пользователей с помощью chroot jail.
Этим вы существенно ограничиваете возможности этих пользователей в вашей системе.
Фактически, любой пользователь, ограниченный chroot jail, может:
- Получить доступ к серверу только через sftp
- получить доступ только к определенному каталогу
Что вам понадобится
Чтобы все получилось, вам понадобится запущенный экземпляр Linux и пользователь с привилегиями sudo.Вот и все.
Давайте творить магию безопасности.
Как создать группу с ограниченным доступом и добавить пользователей на сервере Linux
Первое, что мы должны сделать, это создать новую группу и добавить в нее пользователей.Создайте группу:
sudo groupadd restricted
Затем добавьте пользователя в группу с помощью команды:
sudo usermod -g restricted USERNAME
Где USERNAME – пользователь, которого вы хотите добавить в группу с ограниченным доступом.
Как настроить SSH
Откройте файл конфигурации демона SSH с помощью:sudo nano /etc/ssh/sshd_config
Найдите строку (рядом с нижней частью):
Subsystem sftp /usr/lib/openssh/sftp-server
Измените эту строку на:
Subsystem sftp internal-sftp
В нижней части файла добавьте следующее:
Match group restricted
ChrootDirectory /home/
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Сохраните и закройте файл.
Перезапустите SSH с помощью:
sudo systemctl restart ssh
Теперь вернитесь на другую машину и попытайтесь войти на сервер по SSH с пользователем, например:
Вы увидите предупреждение:
Чтобы любой пользователь из группы с ограниченным доступом мог войти на сервер, он должен использовать sftp следующим образом:This service allows sftp connections only. Connection to 192.168.1.147 closed.
sftp USERNAME@SERVER
Где USERNAME – имя пользователя, а SERVER – IP-адрес или домен сервера.
После успешного входа в систему они окажутся в приглашении sftp, где смогут передавать файлы туда и обратно с помощью команд put и get.
Ограниченные пользователи могут загружать файлы только в свои домашние каталоги.
Когда пользователь с ограниченными правами входит в систему, он находится в каталоге /home.
Поэтому для успешной загрузки им придется перейти в свой домашний каталог, выполнив такую команду, как:
cd olivia
Попав в свой домашний каталог, можно выполнить команду типа:
put file1
Пока этот файл находится в текущем рабочем каталоге машины, с которой они вошли на сервер, он будет загружаться нормально.
Если этим пользователям нужно только загрузить файлы на локальную машину, они могут использовать такую команду, как:
get file1
Я понимаю, что это очень ограниченная конфигурация с очень ограниченными случаями использования, но в какой-то момент вашей карьеры администратора Linux вы столкнетесь с ситуацией, когда вам нужно будет ограничить вход пользователей в chroot jail.
Это один из способов сделать это.
Последние темы в этом разделе:
- [Павел Монахов] [Специалист] Linux. Уровень 2. Администрирование сетевых сервисов (2024)
- Путь настоящего хакера - лежит в его инструменте. Или Kali Linux'еры !
- [Павел Монахов] [Специалист] Системное администрирование Linux (2024)
- [Udemy] Cyber Security: Освоение безопасности Linux (2019)
- [Платон Платонов] [Слёрм] Администрирование Linux. Мега. Тариф Стандарт (2022)
- Российская операционная система Alt Linux
- Как запустить на своём пк chatgpt или использование LLM с помощью ollama.
- Сегодня день, когда вы удалите Windows.
- Trace Labs OSINT - Виртуальная машина на Linux, ориентированная для OSINT
- Список 500 лучших инструментов взлома в termux и Linux