The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Настройки публичного сервера"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (Linux привязка / Linux)
Изначальное сообщение [ Отслеживать ]

"Настройки публичного сервера"  +/
Сообщение от Аноним (0), 29-Окт-19, 17:30 
Здравствуйте,
хочу поднять публичный сервер debian, на которой смогут заходить разные пользователи по ssh,  
запускать предустановленные программы(vim,mc,ls,make,gcc,gdb и т.д).
Посоветуйте мануал или как настроить сервер, что бы его не поламали и не ddos-ли с него.

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Настройки публичного сервера"  +3 +/
Сообщение от Licha Morada (ok), 29-Окт-19, 19:52 
Уважаемый Аноним, вы очень обще ставите вопрос. Боюсь, что в рамках форума на него будет трудно ответить. Поможет, если вы выработаете и покажете список мер, указывая какую конкретную задачу решает каждая, а в форуме их "поругают".

Посмотрите https://www.cyberciti.biz/tips/linux-security.html, и вообще выдачу на поисковый запрос "debian server hardening".

Насколько враждебны пользователи?
Вы говорите "публичный", это в смысле в Интернете, но для своих, или в смысле что туда будет ходить кто попало без SMS?

> Достаточно ли будет на голом дебиане добавить правила в фаервол, что бы
> нельзя было делать исходящие соединения?

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

Конкретно касаемо исходящих соединений. От чего вы защищаетесь? От пользователей которые будут целенаправленно стараться закачать какую-нибудь малварь это не поможет, при наличии SSH есть несколько способов этого добиться не делая исходящих соединений. Мера больше тетральная, но я могу представить себе кейсы когда она будет реально способствовать.
Я бы наоборот, рекомендовал дропать все входящие, кроме тех которые точно нужны, в качестве меры защиты пользователей которые норовят запускать левые сервисы в userspace, и им сразу прилетает подарок из Интернета.

Технические рекомендаци найдите в доках, их много, они разные. Некоторые более смысленные, некоторые так себе. Посмотрите несколько, обратите особое внимание на меры в которых разные источники совпадают, скорее всего они наиболее важны.

А что касается не технических мер:..
Устанавливайте только минимально необходимый софт.
Идентифицируйте ВСЕХ своих пользователей.
Следите, чтобы пользователи не делились друг с другом ключами и паролями.
Пусть за каждого пользователя кто-нибудь персонально поручится. В рамках организации на роль поручителя хорошо подходит начальник отдела, но это не всегда и не точно.
Заранее приготовьте план, что будете делать если/когда заподозрите что вас таки сломали. В смысле, как будете сносить всё и устанавливать заново. Если это как следует спланировать и отрепетировать, то оно не так трудеёмко как кажется.

Удачи.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Настройки публичного сервера"  +/
Сообщение от Аноним (2), 30-Окт-19, 09:57 
> Здравствуйте,
> хочу поднять публичный сервер debian, на которой смогут заходить разные пользователи по
> ssh,
> запускать предустановленные программы(vim,mc,ls,make,gcc,gdb и т.д).
> Посоветуйте мануал или как настроить сервер, что бы его не поламали и
> не ddos-ли с него.
> Достаточно ли будет на голом дебиане добавить правила в фаервол, что бы
> нельзя было делать исходящие соединения?

Лучше будет пойти по пути ограничения возможности запуска программ. Если у юзера будет только bin/sh и перечисленные программы, не будет разрешений на сеть, есть шанс, что взломают не так быстро. Особенно если доступ будет не анонимным.
Вам ещё придется квотировать место, проц и память.
Может оказаться проще выдавать каждому по персональной виртуальной машине.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Настройки публичного сервера"  +/
Сообщение от Licha Morada (ok), 30-Окт-19, 21:23 
> Лучше будет пойти по пути ограничения возможности запуска программ. Если у юзера
> будет только bin/sh и перечисленные программы, не будет разрешений на сеть...

Если среди перечисленных программ make и gcc, ограничение будет либо бесполезно (make сам всё запустит), либо бессмысленно с точки зрения юзабилити (скомпилировал бинарник и не могу запустить попробовать).

> Вам ещё придется квотировать место, проц и память.
> Может оказаться проще выдавать каждому по персональной виртуальной машине.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Настройки публичного сервера"  +/
Сообщение от Аноним (0), 30-Окт-19, 10:28 
Хочу поднять публичный сервер, такой же как тут: https://overthewire.org/wargames/ . Что бы люди могли там запускать что угодно(в том числе gdb,gcc,perl,python), но что бы не мешали друг другу и не могли ddos-ть/брутфорсить сервера в нете.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Настройки публичного сервера"  +/
Сообщение от Licha Morada (ok), 30-Окт-19, 22:07 
> Хочу поднять публичный сервер, такой же как тут: https://overthewire.org/wargames/ . Что
> бы люди могли там запускать что угодно(в том числе gdb,gcc,perl,python), но
> что бы не мешали друг другу и не могли ddos-ть/брутфорсить сервера
> в нете.

Ребята в overthewire, очевидно, используют какую-то серьёзную изоляцию шеллов пользователей друг от друга.

Да, надо закрыть исходящие подключения, чтобы пользовадели не гадили в Интернете. Желательно не столько средствами iptables, сколько чем-то наружным.

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

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

Если вы хотите организовать боевые игры, одного "публичного сервера" будет недостаточно.
Если вы хотите организовать мирную песочницу, это будет работоспособно только с доверенными пользователями.

Песочницу в паблике завандалят обязательно, даже не потому что "взломали" (вышли за границы дозволенного доступа), а потому нагадили в самой песочнице. Против вас работает концептуальное противоречие:
Любое техническое ограничение автоматически снижает ценность ресурса для добросовестного пользователя.
Уровень ограничений достаточно мягкий, чтобы добросовестный пользователь ещё мог что-то смысленное делать, не достаточен чтобы предупредить злоупотребление ресурсом.
Уровень ограничений достаточно строгий, чтобы ресурс перестал быть интересны для злоумышленника, делает его ещё заведомо неинтересным для добросовестного пользователя.

Таким образом мы имеем некую критическую зону, в которой уже нельзя работать, но ещё можно нагадить. Например: Вход на торговую точку через дыру в заборе. Желанный покупатель в дыру не полезет, нафиг надо. Нежеланного вора/вандала дырявый забор не остановит.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Настройки публичного сервера"  +/
Сообщение от Andrey Mitrofanov_N0 (??), 30-Окт-19, 10:37 
> Достаточно ли будет на голом

Судя по вопросу, ответ должен быть "нет" или "не сможешь"...

Хотя, кто ж тебя знает...  https://duckduckgo.com/?q=selinux+play+machine
...и твою модель угроз.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру