Linux mint закрыть доступ

Блокирование доменов в Linux Mint

Если ваша система — Linux Mint, и вы часто разрешаете вашим детям посидеть в Интернете за компьютером, возможно одним из решений блокирования определенных доменов (сами знаете какого содержания) является использование Блокировщика доменов, доступного в Linux Mint.

Для блокирования доменов в Linux Mint вам необходимо выполнить следующие действия:

  1. Запустите Центр управления Linux Mint: Блокирование доменов в Linux Mint
  2. Выберите пункт «Система»: Блокирование доменов в Linux Mint
  3. Нажмите на «Блокировщик доменов»: Блокирование доменов в Linux Mint
  4. Введите пароль суперпользователя: Блокирование доменов в Linux Mint
  5. В открывшемся окне Блокировщика доменов вы можете добавлять те домены, доступ к которым вы хотите закрыть. Для добавления домена нажмите на «Добавить»: Блокирование доменов в Linux Mint
  6. Введите имя блокируемого домена и нажмите «ОК»: Блокирование доменов в Linux Mint
  7. Таким образом я добавил несколько сайтов в список: Блокирование доменов в Linux Mint
  8. И при попытке зайти на один из них — получил вежливый отказ: Блокирование доменов в Linux Mint

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

Источник

Ограничение прав локального пользователя в Linux до минимума

Котик

Как то раз появилась следующая задача: создать локального пользователя в ОС Linux, с ограниченным доступом к папкам и файлам, включая не только редактирование, но и просмотр, а также возможность использовать только разрешенные утилиты. Предусматривается только локальный доступ, сетевого доступа нет.

Что бы не изобретать велосипед, первым делом начал копать интернет, в результате чего были найдены следующие варианты:

  • ограничения доступа через сетевые службы ssh, sftp (не подошло)
  • разграничение прав доступа самой операционной системой linux (не подошло, хотелось бы универсальное решение)
  • использование chroot (не подошло)
  • использование сторонних утилит, например SELinux (не подошло, усложняет систему).
  • нет возможности смены каталога командой cd
  • нельзя сбрасывать или изменять значения переменных SHELL, PATH, ENV, BASH_ENV
  • запрещено указывать команды содержащие / (косую черту)
  • запрещено импортировать функции из основной оболочки
  • запрещено перенаправлять вывод с использованием операторов >, , >&, &>, >>
  • запрещено использовать команду exec для подмены команды и пр.

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

Далее все операции выполняются от суперпользователя (root).

1. Создаем ограниченную оболочку

echo '/bin/bash -r' > /bin/zbash chmod +x /bin/zbash
adduser --home /home/zuser --shell /bin/zbash zuser

3. Изменяем права директории

chown root.zuser /home/zuser chmod 750 /home/zuser

4. Переходим в директорию и очищаем ее

cd ~zuser ls -a rm .bash* rm .profile ls -a

5. Настраиваем оболочку и права

echo "PATH=:/home/zuser/bin" > .bashrc echo "alias help='echo access is limited'" >> .bashrc # alias на команду help echo "bind 'set disable-completion on'" >> .bashrc # Отключает автодополнение на tab mkdir -p bin chmod 750 bin chown -R root.zuser /home/zuser chmod 640 .bash*

Файл .bashrc определяет поведение командной оболочки, в данный файл можно добавить alias для команд или дополнительные опции.

Читайте также:  Линукс для древнего компьютера

Для обеспечения безопасности выполните следующие команды:

echo "alias echo=':'" >> .bashrc echo "alias cat=':'" >> .bashrc echo "alias bash=':'" >> .bashrc echo "alias sh=':'" >> .bashrc echo "alias ln=':'" >> .bashrc echo "alias set=':'" >> .bashrc echo "alias uset=':'" >> .bashrc echo "alias export=':'" >> .bashrc echo "alias typeset=':'" >> .bashrc echo "alias declare=':'" >> .bashrc echo "alias alias=':'" >> .bashrc echo "alias unalias=':'" >> .bashrc

Данный список можно продолжать…

root@host: su zuser zuser@host: help access is limited zuser@host: pwd /home/zuser zuser@host: ls /tmp/ bash: ls: команда не найдена zuser@host: /bin/ls bash: /bin/ls: ограниченный режим в команде нельзя использовать косую черту zuser@host: echo $PATH :/home/zuser/bin zuser@host: PATH=/bin/ bash: PATH: переменная только для чтения zuser@host: exit 

7. Добавляем допустимые команды

ln -s /bin/ping /home/zuser/bin/ping

Важно, пути в команде ln необходимо указывать полностью.

8. Для ограничения опций команды можно использовать обертки

mkdir /var/scripts echo "/usr/sbin/useradd -D" > /var/scripts/user-info chmod +x /var/scripts/user-info ln -s /var/scripts/user-info /home/zuser/bin/user-info

9. Для работы с файлами и папками можно также создать обертку
с черным списком (разрешить все, кроме):
— создаем файл

blacklist="\? ../ /etc /bin /boot /var" for var in $blacklist do if [[ $* == *$var* ]]; then echo 'Access is denied:' $* exit fi done /bin/ls $* 

blacklist — переменная содержащая черный список директорий или файлов (через пробел)
— добавляем команду для пользователя zuser

chmod +x /var/scripts/ls ln -s /var/scripts/ls /home/zuser/bin/ls

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

с белым списком (запретить все, кроме):
— создаем файл

whitelist="./ /tmp/" # белый список for var in $whitelist do if [[ $* == *$var* ]]; then /bin/cat $* # запуск утилиты cat с заданными параметрами exit fi done echo 'Access is denied:' $*

whitelist — переменная содержащая белый список директорий или файлов (через пробел)
— добавляем команду для пользователя zuser

chmod +x /var/scripts/cat ln -s /var/scripts/cat /home/zuser/bin/cat

Данный скрипт разрешает выполнять команду cat с указанными файлами в белом списке

Читайте также:  Запаковать архив tar gz linux

Готово, в итоге получили следующий результат:

  • мы создали пользователя zuser с оболочкой rbash
  • отключили возможность использования автодополнения в консоли
  • zuser может запускать утилиты только из директории /home/zuser/bin
  • добавили пользователю zuser команду ping
  • добавили пользователю zuser собственную команду user-info
  • пользователю zuser ограничили через обертку выполнение команд ls и cat

Данный способ к сожалению не гарантирует 100% безопасность, и при определенных знаниях и квалификации пользователь может покинуть данную оболочку. Спасибо Jouretz arheops YaDr они в комментариях привели примеры обхода ограничений оболочки.

ssh zuser@x.x.x.x -t "bash --noprofile"
ssh zuser@x.x.x.x -t "() < :; >; /bin/bash"
find . -maxdepth 0 -execdir /bin/bash \;
echo "os.execute('/bin/sh')" > exploit.nse nmap --script=exploit.nse
python -c 'import pty; pty.spawn("/bin/bash")'
#include #include #include #include void _init() < unsetenv("LD_PRELOAD"); setgid(0); setuid(0); system("echo work"); system("/bin/bash --noprofile"); >
gcc -fPIC -shared -o evil.so evil.c -nostartfiles

Надеюсь данная информация будет полезной.

Источник

🐧 Как найти и закрыть открытый порт в Linux

Мануал

Обнаружение и блокирование нежелательных открытых портов в Linux это та задача, которую знает любой сетевой администратор.

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

На машинах Linux эта задача на самом деле довольно проста.

Я буду демонстрировать это на Ubuntu Server 18.04, хотя процесс будет схожим во многих дистрибутивах, единственное отличие будет в том, как закрыть порт.

Что вам нужно

Для этого вам понадобится только работающий экземпляр Ubuntu Server и учетная запись пользователя с привилегиями sudo.

sudo ss -tulwn | grep LISTEN
  • -t Показать только сокеты TCP в Linux
  • -u Показать только сокеты UDP в Linux
  • -l Показать прослушивающие сокеты (например, TCP-порт 22 открыт SSHD-сервером)
  • -p Список имен процессов, которые открывали сокеты
  • -n Не резолвить имена сервисов

Если вы не уверены, какой порт соответствует какой службе, вы всегда можете узнать это в файле /etc/services.

Как закрыть порт на Linux

Скажем, вы размещаете веб-сервер на компьютере, но не хотите прослушивать порт 8080.

Вместо этого вы хотите, чтобы трафик проходил только через порты 80 (HTTP) и 443 (HTTPS).

Чтобы закрыть порт 8080, мы будем использовать команду ufw (Uncomplicated FireWall) следующим образом:

Если вы обнаружите, что блокирование этого порта вызывает проблемы со службой или приложением, вы можете снова открыть его с помощью команды:

Этот процесс должен работать в большинстве дистрибутивов, единственное предостережение – как вы блокируете порт, так как не каждый дистрибутив использует ufw.

Читайте также:  Виртуальный диск линукс минт

Если выбранный вами дистрибутив использует другую команду для блокировки портов (например, sudo iptables -A INPUT -p tcp –destination-port 80 -j DROP), убедитесь, что вы знаете, как выполнить эту задачу на своих серверах.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (105)
  • Книги (27)
  • Мануал (2 306)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (820)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (114)
  • Статьи (352)
  • Философия (114)
  • Юмор (18)

Anything in here will be replaced on browsers that support the canvas element

OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]

Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]

В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]

Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]

Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]

Источник

Оцените статью
Adblock
detector