Форум программистов, компьютерный форум, киберфорум
Наши страницы
Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
serj12331
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 28
1

Запретить пользователю порты

17.03.2019, 23:02. Просмотров 1952. Ответов 4
Метки нет (Все метки)

Доброго времени всем!
Вообщем нужно закрыть пользователю все порты кроме 27016 через iptables. Помогите составить правило.
Заранее благодарен.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2019, 23:02
Ответы с готовыми решениями:

Как запретить пользователю подниматься выше его домашней директории?
Здравствуйте! Такой вопрос. Предположим, у меня есть пользователь user с домашней директорией...

Как запретить пользователю менять свой пароль в течение срока?
Доброго времени суток уважаемые форумчане! Прохожу курс по администрированию Ubuntu, все задания...

Запретить пользователю менять время
Как можно реализовать такое? Например если время поменялось больше чем на 1 минуту то как то...

Запретить редактирование GridView пользователю
Здравствуйте, У меня в GridView есть поле Edit Как сделать его недоступным для определенных...

Запретить закрытие формы пользователю
Здравствуйте. У меня есть вопрос: я не могу запретить закрытие формы пользователю. Я пишу: ...

4
Kitayets
377 / 320 / 117
Регистрация: 09.09.2011
Сообщений: 1,153
17.03.2019, 23:30 2
а что в линуксе iptables-ами можно для конкретных пользователей отдельные правила создавать? Я так понимаю файрволл глобально работает.

в современных линуксах используют firewalld настраивая его с помощью утилиты firewall-cmd. Хоть оно и является "оберткой" над iptables - работать с firewall-cmd сильно проще.
0
serj12331
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 28
18.03.2019, 08:38  [ТС] 3
Можно. iptables -A OUTPUT -m owner --uid-owner 5007 ...
Не знаю как грамотно правило составить.
0
Yuri197
57 / 81 / 15
Регистрация: 25.03.2019
Сообщений: 235
26.03.2019, 02:23 4
Примерно так:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
 
# Очистка всех таблиц.
iptables -t raw -F
iptables -t mangle -F
iptables -t nat -F
iptables -t filter -F
iptables -t security -F
 
# Запрет всего. 
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT DROP
 
# Loopback для IPv4.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# Loopback для IPv6.
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
 
# HTTP. 
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
 
# HTTPS.
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
 
# DNS.
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
 
# Открытие входящих соединений на порт 27016.
iptables -A INPUT -p udp -m udp --dport 27016 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 27016 -j ACCEPT
 
# Открытие исходящего порта 27016 и запрет остальных исходящих для GID 1000.
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 0:27015 -j DROP
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 27017:65535 -j DROP
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 0:27015 -j DROP
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 27017:65535 -j DROP
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 27016 -j ACCEPT
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 27016 -j ACCEPT
В общем случае примерно так. Для GID 1000 разрешен исходящий порт 27016, все остальные исходящие для него запрещены. Всем остальным разрешена работа с портами 80, 443, 53. Этого им хватит только для браузера. То есть скорее всего нужно будет еще разрешать порты для остальных.

Добавлено через 19 минут
P.S. Возможно вот этот блок:
Bash
1
2
3
4
5
6
7
# Открытие исходящего порта 27016 и запрет остальных исходящих для GID 1000.
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 0:27015 -j DROP
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 27017:65535 -j DROP
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 0:27015 -j DROP
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 27017:65535 -j DROP
iptables -A OUTPUT -p tcp -m tcp -m owner --gid-owner 1000 --sport 27016 -j ACCEPT
iptables -A OUTPUT -p udp -m udp -m owner --gid-owner 1000 --sport 27016 -j ACCEPT
Надо будет поставить перед разрешениями для HTTP.
1
serj12331
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 28
26.03.2019, 08:55  [ТС] 5
Спасибо. Буду пробовать.
0
26.03.2019, 08:55
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2019, 08:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Запретить пользователю менять права
Пользователю ограничил права на доступ к папке. Он пытается зайти в папку и ему отказывает. Затем...

Как запретить пользователю расширить Окно?
Как запретить пользователю расширить Окно?

Как запретить доступ в интернет пользователю?
Как в Windows 7 запретить доступ в интернет пользователю, а администратор чтобы мог пользоваться?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.