LINUX.ORG.RU

Привилигированные порты


0

0

Известно, что ядро Линукса даёт висеть non priviledged процессам только на портах 1024-65535 (т.е. исключая 0-1023).

Есть ли возможность поднять лимит разрешённых портов? Я, например, не хочу давать пользователям использовать порты до 1200.

★★★★★

Есть accessfs, хотя это из пушки по воробьям в данном случае. Сорри если не в тему ляпнул. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

А зачем оно надо было бы? Только ради интереса такое делать? =) Сказано 1024 значит 1024 =) А то так можно себе такого понаправлять что потом никто с этой системой работать не сможет кроме тебя.

qsloqs ★★
()
Ответ на: комментарий от qsloqs

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

Аааа я понял что называется дистрибутивом..... =)

qsloqs ★★
()

Высказанные здесь решения немного не катят, ибо мне требуется, чтобы программы даже при открытии соединения с Интернетом не открывали запрещённые мною порты.

birdie ★★★★★
() автор топика

Почему эту возможность не запихнули в sysctl? :-(

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

Почему ты считаешь, что с изменённым PROT_SOCK программы "даже при открытии соединения с Интернетом" будут открывать запрещённые порты? Ты вообще по ссылке ходил? Смотрел как этот макрос используется?

Teak ★★★★★
()
Ответ на: комментарий от Teak

1) Бинарные модули сертифицированы только с бинарником от RH

2) Мне запрещено пересобирать ядро по двум причинам а) политика компании б) условия предоставления аренды железа

birdie ★★★★★
() автор топика
Ответ на: комментарий от Teak

Какой толк от этого макроса для уже собранных программ? Вы мне предлагаете "мир" пересобрать?

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

Ну так при чём тут линукс? Ты не можешь решить проблему по чисто политическим причинам, никаких технических препятствий нет.

Ага, давайте все константы из include/ вынесем в sysctl, то-то всё летать начнёт. :)

Вообще не очень понятно, чего ты хочешь добиться этим топиком. OK, редхат сосёт, уговорил. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

> иптаблес заюзай и не морочь людям голову. подробности в man iptables.

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

iptables -A OUTPUT -p tcp --sport 0:1200 -j REJECT

не слишком сложное правило ;-)

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

>iptables -A OUTPUT -p tcp --sport 0:1200 -j REJECT

Не, так плохо будет! У Вас периодически будет куднтконнект без дознательства причин, вот и все. С вероятностью (1200-1024) / (65535-1024)

Не надо таких "решений". Может, просто позанимать эти порты и дело с концом? Накатать портозахватывалку на перле... (джаве, баше, орге)

#!/usr/bin/perl -w

use strict;

use IO::Socket;

for (my $i=1200; $i-->1024; ) {
my $sock = new IO::Socket::INET (
LocalHost => 'localhost',
LocalPort => '1500',
Proto => 'tcp',
Listen => 1,
Reuse => 1,
);
unless ($sock) {
print STDERR "Could not create socket: $^E\n";
};
}

lodin ★★★★
()
Ответ на: комментарий от birdie

> Какой толк от этого макроса для уже собранных программ? Вы мне предлагаете "мир" пересобрать?

Только сейчас осознал, что ты под этой фразой имел в виду. Ужос. И эти люди ещё о чём-то рассуждают. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

>? Только сейчас осознал, что ты под этой фразой имел в виду. УжАААс. И эти люди ещё о чём-то рассуждают. :)

offtop: Замучили подонки.

Кстати, а что вы поняли?

birdie ★★★★★
() автор топика
Ответ на: комментарий от lodin

> Не, так плохо будет! У Вас периодически будет куднтконнект без дознательства причин, вот и все. С вероятностью (1200-1024) / (65535-1024)

Это было очевидно ;-)

> Может, просто позанимать эти порты и дело с концом?

Суперидея, bash + nc = самое то, но за перловый скрипт тоже спасибо - я в перле ноль.

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

Я понял, что ты решил, что этот макрос влияет на собираемые программы. Дык вот. Он влияет на само ядро. Surprise! :)

А если ты считаешь, что пересборка "мира" стала бы мерой безопасности, даже если бы этот макрос влиял на клиентские программы, то у тебя своеборазное представление о безопасности. :) Такая пересборка была бы не только геморройной (на что ты справедливо указал), но и совершенно бесполезной в условиях, когда на сервер можно закачать свой бинарник.

Teak ★★★★★
()
Ответ на: комментарий от birdie

Я в иптаблесах не силён, всё больше ipfw пользуюсь, но за сотню баксов берусь перечитать ман и закрыть тебе эти порты через иптаблес.

Teak ★★★★★
()
Ответ на: комментарий от birdie

> Суперидея, bash + nc = самое то, но за перловый скрипт тоже спасибо - я в перле ноль.

фигня идея, особенно с тучей висящих почём зря nc. Но даже и с одним процессом идея фигня. Отвалится он - и привет.

Teak ★★★★★
()
Ответ на: комментарий от birdie

Сколько раз говорил себе -- не выкладывать код, не проверив. Вот это, наконец-то, работает. А вообще, костыль, конечно. Надо или ядро перебирать, или смотреть в сторону других способов решения.

#!/usr/bin/perl -w

use strict;

use IO::Socket;

my @sock;

for (my $i=1200; $i-->1024; ) {
print STDERR "\tport $i\n";
$sock[$i] = new IO::Socket::INET (
LocalPort => $i,
Proto => 'tcp',
Listen => 1,
);
unless ($sock[$i]) {
print STDERR "Could not create socket: $^E\n";
};
}

while (1) {
sleep 1;
};

lodin ★★★★
()
Ответ на: комментарий от lodin

Это ты называешь "работает"? А кто будет соединения в select'е принимать и закрывать - Пушкин? :) Вместо вот этого неспокойного sleep'а. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

И ведь точно....

Ну, значит в паре с iptables. Потому что писать третью версию заведомо бессмысленной программы -- это как-то слишком.

lodin ★★★★
()
Ответ на: комментарий от Teak

Я не посмотрел на путь - оказывается это исходники ядра, а не /usr/include/ . Но я не могу пересобрать RHEL ядро. :-(

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

Ты, извини за вопрос, на нём хоть пять килобайт написал? :) Весь тред в фортунки пора заносить. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

> Ты, извини за вопрос, на нём хоть пять килобайт написал? :) Весь тред в фортунки пора заносить. :)

Нет, но перловские конструкции вызывают у меня страх. А уж как любят любители перла давать незнающим regexp, который преобразуется в rm -rf. Всё это явно говорит об излишней запутанности языка.

birdie ★★★★★
() автор топика
Ответ на: комментарий от birdie

> вызывают у меня страх

Обращаю Ваше внимание, что данный форум посвящён компьютерной безопасности, а не психологическим проблемам, связанным с чьим-то незнанием языка. :)

Teak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.