Добавить новость

МГУ станет одной из площадок Всероссийского фестиваля НАУКА 0+

Одиночество в новом городе. Опыт жизни без знакомых после переезда

В Москве включают отопление в многоквартирных домах и объектах социальной сферы

SHOT: в Москве муж вышел из квартиры через окно, не желая пересекаться с женой



Новости сегодня

Новости от TheMoneytizer

Linux — это масонский заговор? Больше не верю в его безопасность, как минимум для новичков

Начну этот материал сразу с того, что хоть сколько-то значимого опыта использования Linux у меня никогда не было (так что все нижеописанные мои «ошибки» могут кому-то показаться смехотворными, но дочитайте до конца). Однако после многочисленных новостей об этой системе и куче мемов про сравнение безопасного Linux и «дырявой» Windows у меня сформировалась уверенность, что детище Линуса Торвальдса — это защищённая система, где пользователь контролирует каждую шестерёнку в едином механизме.

Честно говоря, эта уверенность сохранилась у меня и сейчас. Но теперь я воспринимаю данный «факт» совершенно иначе. Впрочем, чтобы не затягивать, перейду сразу к истории.

Я арендовал виртуальный сервер с предустановленной Ubuntu 24.04 и первым же делом решил обезопасить его, заменив SSH-подключение по паролю на доступ по асимметричному ключу и поменяв порт используемого мною сервиса на случайный. Дальше мои приключения можно расписывать в мемах.

Видишь разрешение на вход по паролю? И Я не вижу, но оно есть

Начал я с замены SSH-пароля на ключ, сгенерировал его на своём компьютере, отправил публичный образец на сервер, там отключил в конфиге /etc/ssh/sshd_config вход по паролю и перезагрузил SSH-службу на сервере. Всё прошло гладко.

Но когда я снова подключался к серверу по SSH спустя какое-то время, я забыл парольную фразу (passphrase) для приватного ключа. После трёх неудачных попыток сервер предложил войти… по паролю?! Исходный пароль сработал, я смог войти на сервер вообще без SSH-ключа.

После общения с моими виртуальными и реальными друзьями стало понятно, почему так произошло. Дело в том, что VPS-хостинги позволяют управлять параметрами входа через веб-администрирование сервера, добавлять ключи и всякое такое — если записывать соответствующие настройки в системные файлы конфигурации, то при первом же обновлении службы SSH, если пользователь машинально выберет «Обновить sshd_config» вместо «Оставить без изменений», то параметры доступа к серверу слетят. Из-за этого некоторые VPS-хостинги создают дополнительные файлы конфигурации, имеющие более высокий приоритет, чем дефолтные системные. То есть если в стандартном конфиге и в этом дополнительном конфиге есть конфликтующие правила, то применяться будет настройка из дополнительного конфига.

Такое оказалось и у меня — в системе был файл /etc/ssh/sshd_config.d/50-cloud-init.conf, содержащий только одну строчку:

PasswordAuthentication yes

Ладно, перейдём к закрытию порта, а к обсуждению этого вернёмся позже.

Я порт закрыл, но зачем? всё равно смог подключиться по нему

Когда я установил нужную мне программу (теперь в СМИ запрещено упоминать установку утилит такого рода, так что я не буду) и выбрал порт для неё, я уже знал, что подвох может быть в самом неожиданном месте, поэтому после смены SSH-порта на другой я решил заблокировать не только стандартный порт 22, но и порт той моей программы — посмотреть, будет ли она работать в таком случае. Всё это делал через файрвол ufw.

По порту 22 больше нельзя было соединиться по SSH, что радовало, но вот программа продолжила функционировать… Чтобы выяснить, почему это происходит, ушло много сил и нервов (уже изрядно израсходовавшихся на этапе проблемы с входом по паролю). Оказалось, что в конфигурационном файле моей программы есть неприметные строчки:

PostUp = iptables -I INPUT -p udp --dport 12345 -j ACCEPT
...
...
PostDown = iptables -D INPUT -p udp --dport 12345 -j ACCEPT

Первая разрешает трафик по порту при запуске сервера моей программы, а вторая запрещает при выключении. И выясняется, что указанная здесь служба iptables управляет таблицами правил, которые используются ядром Linux для фильтрации пакетов — она главнее, чем ufw. Даже не так, ufw — это интерфейс для удобного взаимодействия с правилами iptables, он просто добавляет туда настройки. Но если в iptables добавлять правила напрямую, они будут считаться системой более приоритетными.

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

Linux — это заговор масонов?

Прозвучит смешно, но именно так я в шутку сообщил приятелям, с которыми поделился своими историями, пока ещё не знал причин такого неожиданного для меня поведения Linux. Я думал, что строчка «PasswordAuthentication no» в системном файле конфигурации SSH запретит вход по паролю, а команда «sudo ufw deny <порт>» запретит использование порта. Но ни то ни другое не сработало. На фоне усталости (в том числе нервной) я и подумал, что вся безопасность Linux сильно преувеличена и на самом деле всё не работает так, как должно.

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

По запросу «Как отключить пароль SSH в Linux» ни в одной из статей на первой странице Google нет информации о том, что могут быть некие дополнительные правила, превалирующие над системными. Везде пишут только об изменении sshd_config. И ни в одной не указано, что проверить вход по SSH-ключу нужно не один раз на успех/провал, а три раза на неудачу, до полного отказа службы пустить тебя по SSH к серверу.

По поводу блокирования порта «гуглёж» более успешный — в половине статей на первой странице советуют использовать команды iptables. Но ведь в другой половине говорят о ufw, где приводят только один метод проверки внесённых тобой настроек — «ufw status (verbose)» (этот способ бесполезен, если есть конфликтные правила в самом iptables, ведь о них не узнать по данной команде).

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

На самом деле, я арендовал не один сервер с Ubuntu, а два, у разных VPS-хостингов. И в каждом из них были свои настройки: какой-то добавляет правила в sshd_config.d, а какой-то нет; кто-то активирует ufw по умолчанию, а кто-то нет. И это только те подводные камни, которые мне посчастливилось распознать, и только в тех VPS-хостингах, которые я использовал.

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

Какие выводы я сделал (кроме обеспечения себя корвалолом до начала манипуляций с Linux)

Мораль моих историй, как мне кажется, такова — если что-то касается безопасности, всегда нужно самому тестировать те слои защиты, которые ты создаёшь. Причём стараться делать это как злоумышленник, а не как советуют в статьях из интернета по поднятию этих самых слоёв защиты, или хотя бы почитать не менее трёх материалов о той штуке, которую делаешь.

Если ограничиваться только одной статьёй, то будешь натыкаться на мнимые методы проверки — сродни выполнения команды «ufw status verbose», выводящей правила ufw, но не показывающей возможные конфликты в iptables, которые всегда будут решаться не в пользу твоих правил ufw.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Викторию Дайнеко пристыдили после исполнения гимна России на футбольном матче. Вот что она сделала не так

Росгвардия обеспечила правопорядок на спортивных мероприятиях в Москве

Одиночество в новом городе. Опыт жизни без знакомых после переезда

Wildberries: спрос на товары для занятий карате с начала года вырос на 60%

Музыкальные новости

Путин поздравил Рахмона с днем рождения в преддверии его визита в Москву

Тату, побег, анорексия. Как бунтуют дети Яковлевой, Успенской, Кафельникова

Форум креативных индустрий на юге России

Samsung добавляет AI Cast и ChatGPT в телевизоры с Tizen

Новости России

Мобильный принтер этикеток iMove T3Pro - лёгкий, производительный, компактный

Росгвардия обеспечила правопорядок на спортивных мероприятиях в Москве

Секреты эффективного общения

На всей территории Подмосковья 7 октября ожидается I класс пожарной опасности

Экология в России и мире

Дочь Любови Успенской нашлась: у матери нервы на пределе

DJ Smash презентует новый трек на фестивале «Ночь инноваций»

Певица Натали Орли спела для самых ярких бизнес-леди России

Туроператоры рассказали, где отдохнуть в России осенью и на Новый год, и раскрыли стоимость

Спорт в России и мире

«Стали хуже после коронавируса»: Медведев неприличным образом привлёк внимание к проблеме с мячами

Самсонова и Кочаретто вышли в полуфинал турнира WTA 1000 в Пекине в парном разряде

Джокович вышел в третий круг «Мастерса» в Шанхае

Елену Рыбакину официально обошли в топ-5 рейтинга WTA

Moscow.media

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

Релиз трека. Релиз новой песни. Релиз сингла. Релиз Музыкального альбома.

Объем межтерминальных перевозок увеличился более чем на 7% за 8 месяцев 2024 года – «Деловые Линии»

Портативный ТСД корпоративного класса Saotron RT-T70











Топ новостей на этот час

Rss.plus






Одиночество в новом городе. Опыт жизни без знакомых после переезда

Подмосковное УФАС выявило нарушение при проведении закупки в Серебряных Прудах

В Москве включают отопление в многоквартирных домах и объектах социальной сферы

Президент ТПП РФ Сергей Катырин поздравил работников сферы образования с профессиональными праздниками