Войти или зарегистрироваться

Совет Советы по безопасности Вашего сервера

Murka

Ньюби
Пользователь
Баллы
1
Хочу поднять такую непростую тему. Тема, которая больна для всех, а особенно для новичков и людей, которые постоянно трясутся и живут в сером мире паранойи с мыслью, что однажды они зайдут на сервер и увидят залитый лавой спавн, пол сервера с ОПами, ГМ 1 и все в этом роде. Если Вы один из таких людей - эта тема для Вас.

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

Я не принуждаю и не заставляю Вас (упаси Господи) следовать данным рекомендациям. Эти вещи были испробованы мною лично на практике и они действительно работают. Вы сами решаете, прислушиваться к ними или нет.​

Начинаем.

Совет №1. Блокируем команды op, deop, help​
Это, возможно, покажется Вам не совсем удобным. Вообще, какой от них толк? Я держу сервер уже 2 года, и ни разу мне не потребовалось давать себе ОПку, всегда хватало хорошо настроенных Permissions (о них позже). Заходим в commands.yml и добавляем следующее:

aliases:
op:
- []
deop:
- []
help:
- []

Теперь эти команды не существуют на сервере в принципе. Если в каком-то плагине стоит бэкдор на команду /op X, то она не сработает. Нет такой команды! Напишет, как обычно: "Команда не существует, попробуйте /help". Советовал бы еще закрыть /plugins, /pex, но это в принципе уже Вам решать, нужно оно Вам или нет. У меня закрыто.


Совет №2. Админские аккаунты без -'*'​
Большинство Одминоф прописывает в группу админов (тавтология, здравствуй) -'*', что сразу же влечет за собой потенциальную опасность. Советую админам выставлять только самые необходимые права. Зачем Вам, к примеру, команда /kickall? Вы вообще ей пользуетесь? Вряд ли. Поэтому советую перебирать каждую команду, и ставить только то, что Вам действительно нужно.


Совет №3. Вход в админские аккаунты только с определенного IP​
Этот способ очень хорошо работает. В плагине AuthMe есть такая замечательная фишка, позволяющая заходить с определенных ников только определенным IP. Если Ваши коллеги начнут жаловаться, что им неудобно, мол, IP постоянно меняется, то я бы задумался. А нужны ли такие "коллеги"? Заходим в plugins/AuthMe/config.yml, находим: "AllowedRestrictedUser" и прописываем себя и всех администраторов. Лучше возиться со сменой IP, чем жить в страхе что Ваш аккаунт взломают. Бонусом советовал был включить функцию кика при неверном пароле. Это предотвратит брутфорс (перебор пароля): kickOnWrongPassword: true.


Совет №4. Блокируйте лишнее, оставляйте нужное​
На каждом сервере стоит (должен стоят) плагин отвечающий за, так называемые, Permissions (далее - пермишены). Мы сделаем так, чтобы все лишние команды были отключены. Возьмем, к примеру, всем знакомый AuthMe. От него, для среднестатистического сервера, нужны всего 2(3) команды: /login и /register (и /changepassword).

Открываем только их, указав в плагине Permissions вот такие строки (пермишены):

- authme.login
- authme.register
- authme.changepassword
- -authme.*

* Красным выделен пермишен, блокирующий ВСЕ команды, которые имеет плагин AuthMe, за исключением первых двух (/login и /register). Обратите внимание, что финальный пермишен "- -authme.*" обязан стоять в конце, иначе он заблокирует даже то что нам нужно. Зачем на сервере работать тому, что нам не нужно? Правильно, не за чем. Удаляем.

Когда у меня был свой сервер на версии 1.5.2, в этом плагине существовал способ дюпа через команду /logout. Я об этом способе даже и не знал. Спасло только то, что было доступно всего 2 команды, как я показал выше. Следовательно, дюп не работал.

Так поступаем с каждым плагином. Открываем документацию, смотрим команды, пермишены - и блокируем. Советую прописать следующую штуку в самом начале:

- -bukkit.*

Он заблокирует все Бакиттовске команды: /plugins, /version и тд.


Совет №5. Выключаем командный блок и RCON​
Почти всегда они выключены, но если включены - выключаем. В server.properties ставим enable-command-block=false, enable-rcon=false.


Совет №6. Собирайте сборки сами, а не качайте​
Хочешь качественно и надежно - сделай сам. Никогда не понимал людей, создающие игровые сервера на готовых сборках. Ладно если это чисто для доната, но если для полноценной игры - это не уважать себя, имхо. Качайте плагины только с надежных источников, а если уж приспичило скачать NULLED-плагин, то хотя бы проверьте его через jd-gui (Гугл Ваш друг).


Совет №7. Сниффер​
Об этом способе слышали в основном только продвинутые пользователи. Объясню в двух словах: если у Вас какой-то плагин имеет бэкдор, посылающий определенные данные (как правило это IP сервера где он установлен), то сниффер покажет Вам куда и когда он отправлял/отправляет данные. Вам останется только выявить какой именно плагин это делает. Советую использовать HttpAnalyzerV7.


Совет №8. Любимый школьниками WorldEdit​
После взлома, кул какер, скорее всего, побежит сносить или заливать Ваш спавн лавой. Советую ограничить радиус действия команды //set (настраивается в конфиге), а лучше вообще запретить команду. На текущий 24.11.2017 пермишен отвечающий за команду //set является: worldedit.region.set (все же надеюсь, что рано или поздно аналог команды //wand будет добавлен в WorldGuard, чтобы можно было полностью отказаться от WorldEdit).


Совет №9. Меняйте стандартные порты сервера​
Это работает если Вы используете BungeeCord. Если нет, то толку ноль. Хотя если захотят просканировать открытые порты на сервере, это не составит никакого труда, просто поверьте на слово.


Совет №10. Скрываем плагины от просмотра через порт Query​
Закрыть команду /plugins не достаточно. Плагины можно получить через Query. Если Вы пользуетесь сайтами-мониторингами, то Query у Вас 100% включен. Чтобы через них нельзя было посмотреть список плагинов, выключаем их через bukkit.yml. Ищем строку query-plugins, меняем на false.

___​


На этом пока все. Если что-то найду интересное, допишу. Предлагаю дополнять тему. Пишите кто что знает в комментах, я добавлю.
 
Последнее редактирование:
Ну и плюс ко всему, если вы качаете сборки, то вам придется все равно декомпилировать плагины, дабы проверить на бэкдоры
 
Что касается AuthMe, тот тут лучше использовать BungeeAuth, конечно, если ваша сборка под Bungee
 
Годно! Молодец! Спасибо помог, по больше бы таких...
 
+ Блокируем //calc и т.п, лучше всего поставить EZProtector, дабы защитить сервер от скачивания WLD, убрать синтаксис
Зачем нагружать сервер лишним плагином? Как я понял по описанию, он закрывает определенные команды и блокирует возможность скачать карту. Зачем? Все лишние команды можно закрыть как я написал выше, а мир скачать - пускай качают, толку?
 
Зачем нагружать сервер лишним плагином? Как я понял по описанию, он закрывает определенные команды и блокирует возможность скачать карту. Зачем? Все лишние команды можно закрыть как я написал выше, а мир скачать - пускай качают, толку?
Ну да, действительно пусть качают, толку... Пусть каждый сервер имеет похожий спавн.
 
Любую карту можно скачать, просто надо иметь прямые руки.
Подправить WDL и все.
В том то и дело, что если ты подправишь даже примитивным InclassTranslator'om, то у тебя не получится скачать. Сам проверял...

Ну а про любителей писать самописы с нуля я не говорю
 
Последнее редактирование:
Хм это уже давно знакомо всем) ничего нового нету.
PS. я не пользуюсь WG / WE плагинами, хоть даже и стоять в pex нету их.
/help работает только по другому, Угадай как он может еще работать.
/pl он работает . так же в pex только группы user moder
там нету креатива. и опка не робит, хоть даже и работала.
1. Команда //set не работает требует pex права (Да странно Оп и еще нужные pex права)
2. /pl тоже не работает пишет (у вас нет прав)
По поводу админ акк он в бане. (Так безопасней)
 
Назад
Верх