Настраиваем iptables с нуля

Поделиться
HTML-код
  • Опубликовано: 20 дек 2024

Комментарии • 135

  • @hitpau
    @hitpau Год назад +16

    *Автор - один из немногих людей, которые объясняют доступно и понятно. Спасибо!*

  • @AlexAlexis2012
    @AlexAlexis2012 2 года назад +61

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

  • @for2165
    @for2165 2 года назад +18

    Николай как ваш ученик на платформе Geekbrains,могу сказать что вы большой молодец,доступно рассказываете👏

  • @mariabrest
    @mariabrest 2 года назад +30

    Супер!!! Жалко только не сказали как командой удилить правило . Но это мелочь.
    Ну и небольшой конспект от меня.
    Посмотреть информацию о фильтрах
    iptables -L -nv
    Посмотреть информацию о NAT
    iptables -t nat -L -nv
    Список адресов:портов которые слушают
    ss -ntulp
    Посмотреть какие подключены интерфейсы
    ip a
    Разрешили подключение по SSH
    iptables -A INPUT -p tcp --dport=22 -j ACCEPT
    Разрешили входящий трафик по loopback
    iptables -A INPUT -i lo -j ACCEPT
    Разрешили ping
    iptables -A INPUT -p icmp -j ACCEPT
    Разрешили подключение по http
    iptables -A INPUT -p tcp --dport=80 -j ACCEPT
    Разрешили подключение по https
    iptables -A INPUT -p tcp --dport=443 -j ACCEPT
    Разрешаем все пакеты которые приходят в качестве ответа
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    Всё остальное запретить. Политика.
    iptables -p INPUT DROP
    Сохранить(м.б. выгрузить) все настройки в файл
    iptables-save > ./iptables.rules
    Восстановить настройки из файла
    iptables-restore < ./iptables.rules
    Заблокировать по IP
    iptables -I INPUT -s 209.175.153.23 -j DROP
    Пакеты для сохранения, автоматической загрузки правил фаервола
    apt install iptables-persistent netfilter-persistent
    Сохранение правил
    netfilter-persistent save
    Запуск правил
    netfilter-persistent start
    Разрешить ssh по конкретному интерфейсу
    iptables -A INPUT -i enp0s3 -p tcp --dport 22 -j ACCEPT

    • @site_support
      @site_support  2 года назад +4

      Да, удалить правило можно через iptables -D и дальше все его параметры или указать номер правила.
      Например: iptables -D OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT
      или iptables -D INPUT 3

    • @mariabrest
      @mariabrest 2 года назад

      @@site_support о, спасибо, про удаление по номеру кстати не знал.

    • @rinocerus9791
      @rinocerus9791 2 года назад +5

      @@mariabrest Кстати, вывести правила с номерами в начале строк можно так: iptables -vnL --line-numbers

    • @yuritemiraev2759
      @yuritemiraev2759 10 месяцев назад +1

      Запрет пакетов по умолчанию должен быть с параметром "-P" (--policy), а не "-p" (--protocol)

  • @DmitryTsarev
    @DmitryTsarev Год назад +5

    Отличное вводное видео, просто, чётко и понятно.
    Только на 27:23 некорректно про DROP и REJECT. Как раз DROP пакета показывает наличие файрвола.
    В общем случае, при отсутствии iptables или другого файрвола, при получении пакета на порт на котором ничего нет, ответ должен / будет отправлен в любом случае, и на другом уровне (пакет с reset на уровне TCP, см. RFC 793)
    DROP же это поведение меняет и пакет не отправит, так что REJECT (с --reject-with tcp-reset) как раз эмулирует поведение незащищённого порта без файрвола и без какого-либо сервиса, слушающего на этом порту, а вот DROP показывает наличие файрвола, блокирующего порт.
    В целом, насчёт DROP vs REJECT есть разные мнения для разных ситуаций, просто по видео может сложиться однобокое мнение по этому вопросу, поэтому уточнил.
    А так супер, как и вообще канал.

  • @DonorOfHappiness
    @DonorOfHappiness 6 месяцев назад +1

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

  • @oneshotov8910
    @oneshotov8910 2 месяца назад +2

    Очень полезная и доходчивая информация, премного благодарен 🙂

  • @Denis-mt9gx
    @Denis-mt9gx 2 года назад +1

    Добрый. PING не проходил на сервер. привел команду к такому виду. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT. Всё заработало. Спасибо за видео.

  • @ProoksiusSvaagali
    @ProoksiusSvaagali 9 месяцев назад

    Очень доступно и понятно, большое спасибо за ролик. Нашел для себя много интересного на канале, буду смотреть.

  • @RuzalMW
    @RuzalMW Год назад +4

    Спасибо за столь лаконичный ликбез! Четко и без воды

  • @georgiy_kulagin
    @georgiy_kulagin Год назад +9

    Господи, это крайне прекрасно поданный и изложенный материал. Самое то освежить в памяти основные концепции или подготовиться к интервью) Спасибо большое!
    P.S. Подписался в надежде послушать когда-нибудь в подобном изложении про nftables и ipvs.

  • @sa6kad
    @sa6kad 3 года назад +5

    Просто и понятно, спасибо.
    Давайте ещё про iptables, особенно про forward и nat

  • @doszhanm6936
    @doszhanm6936 Год назад +1

    не заметил как пролетело 40 мин. отличное видео!

  • @Kuvaldis1983
    @Kuvaldis1983 9 месяцев назад

    Спасибо!
    Очень понятно, слушается приятно, и СИСТЕМНО!
    ОДнозначно ЛАЙК!)

  • @TheDarGad
    @TheDarGad 2 месяца назад

    За упрощенную таблицу отдельная благодарность!

  • @volodyanoy
    @volodyanoy 8 месяцев назад

    Грамотная, приятная речь. Способ подачи материала - отличный! Спасибо Вам!

  • @RomanRime
    @RomanRime 2 года назад +3

    Рассказано легко и просто для освоения. Спасибо за проделанную работу.

  • @fourdogs3438
    @fourdogs3438 Год назад

    Спасибо, крайне полезно провел 39 минут! Прям зашло видео для меня!

  • @NatureFitSport
    @NatureFitSport 3 года назад +3

    Спасибо, благодаря тебе только и понял как работать с iptables

  • @andreyandreyovich5454
    @andreyandreyovich5454 6 месяцев назад

    Спасибо, все четко и понятно, просмотрел на кодклауд серию, но все в кашу смешалось)

  • @reiron9857
    @reiron9857 Год назад +2

    Большое спасибо за обучалку. Было интересно и полезно!

  • @unit3301
    @unit3301 2 года назад +2

    Легче, чем кажется при первом гуглении, спасибо

  • @bekasovme
    @bekasovme 2 года назад +2

    Спасибо Вам за проделанную работу. Просто отличное видео. Все доходчиво объяснено.

  • @maksimbelik2244
    @maksimbelik2244 3 года назад +3

    Спасибо большое, начал больше понимать. Еще бы видео где рассказывается про таблицу mangle как её использовать

    • @site_support
      @site_support  3 года назад +1

      Спасибо, что смотрите, про mangle сделаем видео позже.

  • @АнтонБ-х9у
    @АнтонБ-х9у Год назад +2

    Насчёт включения правил - можно подстраховатся и выполнить две команды через sleep, первая команда добавляет правило, вторая отменяет его.
    Пример
    >> echo "one" && sleep 20 && echo "two"
    Если всё впорядке, то тогда применяем правило уже окончательно.

  • @alexricher2554
    @alexricher2554 2 года назад +1

    Для новичков самое то, очень чётко изложено и без лишней воды. Спасибо!

  • @Дмитрий-щ4н2ь
    @Дмитрий-щ4н2ь 3 года назад +12

    Очень доходчиво, спасибо.

  • @ЕвгенийХодченков-у4ю

    Спасибо, все очень подробно и понятно. В из этого видео я унал все что хотел знать.

  • @cubeaccerman6974
    @cubeaccerman6974 Год назад +1

    Классный дядька! объясняет очень понятно

  • @semibiotic
    @semibiotic 2 года назад +1

    27:17 Тут присутствует небольшое когнитивное искажение.
    REJECT, отвечая, эмулирует закрытый (т.е. неиспользуемый) порт, скрывая, таким образом, наличие сервиса и файрвола, а DROP (на фоне ping-ов и других отвечающих портов) подчеркивает, что мы блокируем данный порт, и на нем, вероятно, запущен какой-то сервис.
    Это можно проиллюстрировать с помощью nmap(8). Для REJECT он покажет, что порт закрыт ("closed", то есть не используется), так же, как если бы сервис не был запущен, а для DROP - что заблокирован ("filtered").

    • @semibiotic
      @semibiotic 2 года назад

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

    • @DmitryTsarev
      @DmitryTsarev Год назад

      Всё так, тоже обратил внимание, что на видео неправильно объяснён этот момент.
      Насчёт REJECT vs DROP есть разные мнения и у обоих подходов свои + и -, а на видео как-то однозначно в пользу DROP посыл.

  • @Promvv
    @Promvv Год назад +1

    Очень хорошее объяснение, спасибо автору)

  • @annakartsova1716
    @annakartsova1716 2 года назад

    Отличное видео, все понятно, смотреть и слушать одно удовольствие! Спасибо)

  • @don_Amo-v9e
    @don_Amo-v9e 3 месяца назад

    Очень круто рассказал, мне зашло идеально))))

  • @studioavangardsakha8711
    @studioavangardsakha8711 Год назад

    Освежил утерянные в рутине потока времени знания) щас пойду применять на "боевой" сервер 😅

  • @GWYW1989
    @GWYW1989 2 года назад

    Всё чётко и по делу, никакой воды.

  • @ТаджикТаджиковичанович

    Хорошо объяснено, хотелось бы увидеть продолжение для локальных сетей и другой тонкой настройки

    • @site_support
      @site_support  3 года назад +1

      А что именно для локальных сетей интересует?

    • @ТаджикТаджиковичанович
      @ТаджикТаджиковичанович 3 года назад

      @@site_support например настройка локальной сети с несколькими подсетями и различным оборудованием, например, принтерами с ограничением доступа к определенному оборудованию из определенной подсети

  • @dimachen86
    @dimachen86 2 года назад

    Отличное видео. Спасибо.
    Хотелось бы еще увидеть как дебажить запросы. Что происходит с конкретным запросом пока он попадет к службе.

    • @site_support
      @site_support  2 года назад

      Какие запросы вы имеете в виду?

  • @r9odj781
    @r9odj781 2 года назад

    Отличное видео по iptables, спасибо!

  • @cyber-sec7832
    @cyber-sec7832 2 года назад

    Спасибо друг! Некоторые моменты сложные, но интересно и полезно! Больше тем по безопасности =)

  • @nihi1ist690
    @nihi1ist690 Год назад

    Отличный материал. Было бы замечательно, если рассмотрите возможность сделать что-то похожее, но про nftables.

    • @site_support
      @site_support  11 месяцев назад

      Уже есть, на этом канале.

  • @erics8362
    @erics8362 3 года назад +2

    Спасибо, доходчиво. Хотелось бы примеры использования iptables для ограничения доступа vpn клиентов к конкретным сетям/айпишникам

    • @Maximmall
      @Maximmall Год назад +1

      vpn создает интерфейсы. В частности традиционно Wireguard создает интерфейс wg0, так же как, например, ens33 или eth0. И соответственно все эти правила пишутся для этого интерфейса. Тут нет какой-то особенности. Все тоже самое. Либо без указания интерфейса - по умолчанию - для всех, либо для конкретного интерфейса.

  • @dmitriygilyov352
    @dmitriygilyov352 2 года назад

    очень круто, лучшее объяснение по iptables

  • @СергейЕфимов-ц4в

    Жаль что в этом видео не рассказали про удаление и как нужно двигать правило вверх вниз. Спасибо за ваше полезное видео

    • @site_support
      @site_support  11 месяцев назад

      Удаление IPTABLES -D, а двигать правила нельзя.

  • @sandrzei
    @sandrzei 5 месяцев назад

    Автору - огромное спасибо!

  • @ДенисГорелов-х7у
    @ДенисГорелов-х7у Год назад +1

    спасибо! отлично обьясняете!

  • @artorios5192
    @artorios5192 3 месяца назад

    Спасибо! Классная информация!

  • @dmitry027
    @dmitry027 Год назад +1

    Спасибо, всё по делу.

  • @reloac
    @reloac 2 года назад +1

    Народная примета. Играешь с фаерволом на сервере в ЦОДе, это к дороге.

    • @site_support
      @site_support  2 года назад

      Да, если нет KVM.

    • @reloac
      @reloac 2 года назад

      @@site_support Да этой шутке лет 20, тогда никаких KVM не было.

  • @pomka2154
    @pomka2154 2 года назад

    Спасибо ты лучший, очень помог!

  • @StayinAlive_
    @StayinAlive_ Год назад +1

    Спасибо огромное, 10/10

  • @amalexey
    @amalexey 2 года назад +1

    Про мангл и "прыжки" расскажите, пожалуйста с примерами, как всегда, было бы очень интересно

    • @site_support
      @site_support  2 года назад

      А что вас конкретно интересует?

  • @rinocerus9791
    @rinocerus9791 3 года назад +5

    Спасибо, упорядочилось. А по nftables будет? Не пора ли на него переходить?

    • @site_support
      @site_support  3 года назад +1

      Возможно, будет. Пока не вижу тенденции перехода на него.

    • @pavelkryachko
      @pavelkryachko 3 года назад +3

      Ещё не встречал такой задачи с которой не справился бы iptables.

  • @andreysakharov6210
    @andreysakharov6210 3 года назад +3

    Отличный контетн, спасибо!
    Я то по должности разработчик, так что я мамкин администратор.
    Но тема захватывает.
    Возник такой вопрос.
    Сталкивался с руководствами, в который нежелательный траффик отсекали при помощи UFW.
    Предполагаю что проблему они решают на несколько разных уровнях.
    Нужно ли эти инструменты использовать совместно?
    Или вы посоветуете остановиться на чем то одном?

    • @site_support
      @site_support  3 года назад +3

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

    • @andreysakharov6210
      @andreysakharov6210 3 года назад +1

      @@site_support понял вас, спасибо

  • @eduardmart1237
    @eduardmart1237 3 года назад +3

    И можете сделать какие нибудь сложные примеры с редиректом, nat и т.д.

  • @mkonin
    @mkonin 4 месяца назад

    Привет ) я из 2к24 ))) помогло

  • @fedor_ado
    @fedor_ado 3 года назад +2

    Спасибо.

  • @BraddPitt-t7f
    @BraddPitt-t7f 4 месяца назад

    для знакомства прям оченьхорошо

  • @АндрейДуровин
    @АндрейДуровин 2 года назад +1

    Спасибо за объяснение по iptables. А можете подсказать как блокировать пул ip c помощью ipset. Например если есть списки CIDR

    • @site_support
      @site_support  2 года назад

      Да, легко. Делается ipset, а потом правило. Вот здесь есть все примеры: wiki.archlinux.org/title/Ipset

  • @nspr899
    @nspr899 5 месяцев назад

    "Волшебный рубильник" - это shutdown -r +5

  • @ivanburich4922
    @ivanburich4922 2 года назад +1

    Всем привет, для чего нужен, -A INPUT -i lo -j ACCEPT ?

    • @r9odj781
      @r9odj781 2 года назад +1

      Добрый день! Разрешить все входящие пакеты на интерфейс loopback. Это как localhost в windows.

  • @suomynonaanonim4414
    @suomynonaanonim4414 10 месяцев назад

    Присоединюсь к остальным - отличный урок для начинающих!
    Вопрос: есть ли у вас уроки по настройке QoS с помощью iptables+iproute2 на Debian/Ubuntu? Сколько не рыл - ничего не могу найти.

    • @site_support
      @site_support  8 месяцев назад

      Такого нет, но в своё время пытался настраивать QoS и шейпинг с помощью TC. Довольно сложно и муторно.

  • @viktorkorovin2776
    @viktorkorovin2776 2 года назад +1

    Спасибо самое понятное обьяснение на канале, простите за вопрос - можно сделать видео ИМЕННО для простого ПК (НЕ СЕРВЕРНОГО) и как пример сделайте настройку iptables по максимуму что бы DROP БЫЛ ДЛЯ входящих и ИМЕННО для исходящих - то есть по глобальным правилам все закрыть ,но что бы работали программы которые уже стоят - поскольку в сети нет нормальной настройки именно для (простого ПК (НЕ СЕРВЕРНОГО) - для дилетанта не понятно то что есть в сети - скрипты и тд - ПОЖАЛУЙСТА сделайте такое видео

    • @site_support
      @site_support  2 года назад

      Если у вас Ubuntu, просто поставьте ufw и не парьтесь. Если у вас простой ПК, то он и без файрвола вполне нормально будет себя чувствовать.

    • @viktorkorovin2776
      @viktorkorovin2776 2 года назад

      @@site_support Спасибо но как то хочется по максимуму все сделать -)

  • @linuxlifepage
    @linuxlifepage Год назад

    33:20 можно было ставить только iptables-persistent, так как второй пакет идет зависимостью

  • @aquecola
    @aquecola 2 года назад

    Шикарный гайд!

  • @eFFecTzz56
    @eFFecTzz56 Год назад

    Приветствую, вопрос как мне настроить приоритет интерфейсов, например есть два рабочих интерфейса с выходом в интернет, мне надо чтобы трафик ходил всегда по первому интерфейсу, но если первый интерфейс отваливается, то мне надо чтобы трафик ходил по второму. Спасибо

  • @eduardmart1237
    @eduardmart1237 3 года назад +1

    А можете сделать гайд по настройке nat

  • @step7275
    @step7275 11 месяцев назад

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

    • @Dmitrii_NY
      @Dmitrii_NY 11 месяцев назад

      ответ с 29 минуты >>>

  • @mercurykd
    @mercurykd Год назад

    про ipset у вас есть?

  • @pavelkryachko
    @pavelkryachko 3 года назад +2

    Почему Вы считаете что iptables не может работать самостоятельно?

    • @NickLavlinsky
      @NickLavlinsky 3 года назад +1

      Что значит "самостоятельно"?

    • @pavelkryachko
      @pavelkryachko 3 года назад

      @@NickLavlinsky Вы в конце netfilter зачем то использовали. Как вводный урок - отлично!

  • @eduardmart1237
    @eduardmart1237 3 года назад +1

    А это все на CPU обрабатывается или сетевая карта может делать часть работы?

  • @Zush1337
    @Zush1337 2 месяца назад

    спасибо!

  • @rinocerus9791
    @rinocerus9791 3 года назад +2

    У меня дедик (на debian 9) падал после команды iptables -F
    Ни у кого такого не случалось?

    • @site_support
      @site_support  3 года назад +1

      Он не падал, скорее всего политика стояла на DROP, и весь трафик порезался.

  • @Alexander-mj3jk
    @Alexander-mj3jk 10 месяцев назад

    а кто и когда решает, куда пойдет пакет - в приложения или в интерфейс? И по каким признакам принимается решение

    • @site_support
      @site_support  8 месяцев назад

      По таблице маршрутизации и адресам в пакете.

  • @LeoPlus
    @LeoPlus Год назад +1

    31:28 про -I

  • @demmiurge8568
    @demmiurge8568 Год назад

    не проще ввести один раз sudo -i?

    • @site_support
      @site_support  11 месяцев назад

      Можно еще sudo su.

  • @АлексАг-ж6ы
    @АлексАг-ж6ы Год назад

    Эх еще бы логирование событий iptables добавить и совсем бы огонь было.

  • @vladk9512
    @vladk9512 Год назад

    сохранил после перезагрузки правило сбрасывается

  • @Andrey-mo9qp
    @Andrey-mo9qp Год назад

    хм... Перестали резолвиться днс-запросы. Чего не зватает?

    • @site_support
      @site_support  Год назад

      Очевидно, правил. Скорее всего с related, established.

    • @Andrey-mo9qp
      @Andrey-mo9qp Год назад

      @@site_support спасибо за внимание.
      Правила:
      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT (при этом ping по ip-адресам проходит)
      и даже
      iptables -A INPUT -p udp --sport=53 -j ACCEPT
      не решают проблему
      А вот такое, случайно обнаруженное:
      iptables -A INPUT -p udp --dport=53 -j ACCEPT
      проблему решает, но почему, не понятно.
      Может проблема в Docker ?

    • @XPERT518
      @XPERT518 Год назад

      После обновления убунты? Они много что поломали, по сравнению например с версией 14. Там теперь настройка немного иначе, фаерволл не причем.

  • @PavelElzateev-j7i
    @PavelElzateev-j7i 8 месяцев назад

    спасибо

  • @АлександрКурынов-в3ъ

    продолжение про фаерволлы

  • @MrRezonn7
    @MrRezonn7 6 месяцев назад

    Что-то понятное начинается с 11 мин. Где комп, где роутер, где схема сети на которой происходит работа? Может программу запустить типа браузера чтобы показывать что сеть работает

    • @site_support
      @site_support  2 месяца назад

      Сеть можно прекрасно проверить без браузера.

  • @ЕвгенийСавинов-з5р
    @ЕвгенийСавинов-з5р 2 года назад

    Не корректная картинка, postrouting работает и для пакетов которые приходят самому серверу и для пакетов не для него. На картинке показано как будто postrouting только для пакетов предназначенных не для сервера

    • @site_support
      @site_support  2 года назад

      В чем именно некорректная? Для входящих пакетов на хост POSTROUTING не применяется. Эта цепочка стоит на пути исходящих пакетов.

  • @kirosavaus6167
    @kirosavaus6167 2 года назад +1

    +

  • @prurieure775
    @prurieure775 Год назад

    почему бы сразу не объяснять что такое -L -nv и так далее

  • @soul_resistent
    @soul_resistent Год назад

    root@box:~# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables: No chain/target/match by that name.
    в чём проюлема?
    сервер VPS ubuntu 22.04
    соответсвенно сервер не может устанавливать соединения с другими

    • @site_support
      @site_support  11 месяцев назад

      Правило корректное, должно работать. Может у вас уже используется nftables? Проверьте nft list ruleset.

  • @MineSurv44
    @MineSurv44 2 года назад

    /sbin/iptables-save?

    • @site_support
      @site_support  2 года назад

      В нормальных системах полный путь для команды не требуется.

  • @Yaroslav_Sergeevich
    @Yaroslav_Sergeevich 9 месяцев назад

    а можешь подсказать как поставить защиту на сервер чтобы к примеру можно было зайти на него только с определенных ip.
    Ну например 21 и 22 порт закріть для всех кто не всписке исключений.
    но при 80 и 443 что бы не затрагивать так как там сайты для клиетов )

    • @site_support
      @site_support  8 месяцев назад

      Поставить в правиле для SSH -s IP

    • @Yaroslav_Sergeevich
      @Yaroslav_Sergeevich 8 месяцев назад

      @@site_support напиши пожалуйста пару команд что бы добавить и после убрать их. добавление и удаление ip. ну и я так понимаю какая то общая команда еще должна быть .
      На сегодня вот такую штуку пробовал.
      1. Сперва установить iptables
      sudo yum install iptables
      2. Проверка установки
      rpm -q iptables
      3. Очищаем текущие правила
      sudo iptables -F"
      4.
      Создайте папку iptables в каталоге /etc:
      sudo mkdir /etc/iptables
      Создайте файл rules.v4 в этой папке:
      sudo touch /etc/iptables/rules.v4
      5. Разрешаем доступ к порту SSH (порт 22) только с определенных IP-адресов
      sudo iptables -A INPUT -p tcp --dport 22 -s мой ip1 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 22 -s мой ip2 -j ACCEPT
      6. Блокируем доступ к порту SSH со всех остальных IP-адресов
      sudo iptables -A INPUT -p tcp --dport 22 -j DROP
      7. Сохраняем правила iptables
      sudo iptables-save > /etc/iptables/rules.v4
      8. Перезапускаем Сервер
      reboot
      Но это то что с GPT сами на коленке придумали )))
      Можешь подсказать правильную схему данного процесса.
      От А до Я какдолжно быть ну что бы без особых еще заморочек.
      Что бы просто и понятно было )))