Тёмный

Защита SSH-сервера - порты, ключи, port knocking, iptables 

Диджитализируй!
Подписаться 162 тыс.
Просмотров 50 тыс.
50% 1

Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram - t.me/t0digital
0:00 О port knocking
1:19 Что такое сетевые порты в TCP и UDP?
3:17 Замена стандартного порта SSH-сервера
4:24 Запрет SSH-входа по паролю
4:56 Что делать, если потеряешь SSH-ключи?
6:23 Запрет входа root
6:33 Port knocking и безопасность
8:52 Покупка сервера в Selectel
9:40 Создание SSH-ключа с паролем
11:16 Создание Linux-пользователя
12:43 Разрешаем SSH-вход пользователю
13:47 Базовая настройка SSH-сервера
15:51 Настройка port knocking с knockd, iptables и nmap
25:50 Ещё несколько возможностей iptables
26:30 Как сделать сервер непингуемым?
28:01 Выводы
Команды из видео
===
Генерация SSH-ключей:
ssh-keygen -t ed25519
Копирование публичного ключа:
cat ~/.ssh/id_ed25519.pub | pbcopy
Редактирование настроек SSH-сервера:
sudo vim /etc/ssh/sshd_config
Настройки:
AllowUsers www
PermitRootLogin no
PasswordAuthentication no
Port 45916
Рестарты SSH-сервера:
sudo service ssh restart
Установка knockd:
sudo apt install -y knockd
Редактирование его настроек:
sudo vim /etc/knockd.conf
Настройки:
[options]
UseSyslog
Interface = enp3s0
[SSH]
sequence = 7000,8000,9000
seq_timeout = 5
tcpflags = syn
start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 45916 -j ACCEPT
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 45916 -j ACCEPT
cmd_timeout = 60
Здесь enp3s0 это сетевой интерфейс, проверяется командой:
ip a
Автозапуск:
sudo vim /etc/default/knockd
START_KNOCKD=1
KNOCKD_OPTS="-i enp3s0"
Сетевой интерфейс аналогично подставляется актуальный вместо enp3s0.
Старт knockd:
sudo systemctl start knockd
sudo systemctl enable knockd
sudo systemctl status knockd
Настройка iptables и перманентное сохранение этих настроек:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 45916 -j REJECT
sudo apt install iptables-persistent
sudo service netfilter-persistent save
Просмотр настроек:
sudo iptables -L --line-numbers
Постучаться в три порта - 7000, 8000 и 9000 сервера с IP 46.148.229.113:
for x in 7000 8000 9000; do nmap -Pn --max-retries 0 -p $x 46.148.229.113; done
Сброс всех настроек iptables:
sudo iptables -F
Запрет ping хоста:
sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROP
Удаление этого правила:
sudo iptables -D INPUT -p icmp --icmp-type 8 -j DROP
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...

Опубликовано:

 

25 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 287   
@t0digital
@t0digital 2 месяца назад
Тем временем мой курс «Хардкорная веб-разработка» продолжает набор обучающихся - course.to.digital Вжух!
@ivanselyt
@ivanselyt 2 месяца назад
Прям просится запись где-нибудь в Notion оформленная с разделами, командами из видео) Если сделаешь, пингани меня тут в комментах, чтобы я заметил, спасибо)
@t0digital
@t0digital 2 месяца назад
В описании к видео есть текст всех команд из видео
@Stalone13
@Stalone13 2 месяца назад
@@t0digital Ты на MacBook Air M1 поставил macOS Соному ? Говорят намного быстрее разряжается после обновления на эту макос.
@t0digital
@t0digital 2 месяца назад
@@Stalone13 не ставил. Не хочу ломать ничего в системе. На монтерей сижу
@Stalone13
@Stalone13 2 месяца назад
@@t0digital Хах я на Ventura всё хорошо до этого на Monterey был. А вообще MacBook планируешь обновлять ? Или будешь всё время на монтерей сидеть ?:) Я решил вообще Соному пропустить буду сидеть на Вентуре до макос 15.6
@user-zj3ih2ux5e
@user-zj3ih2ux5e 2 месяца назад
Я всё задавался вопросом куда же ты пропал? А он оказывается кушал 😂😂 Очень рад что ты вернулся.
@MakarenkoSasha
@MakarenkoSasha 2 месяца назад
Такое ощущение, что его взяли в плен и пытали пельменями и шаурмой ))
@user-vk4si1oz7w
@user-vk4si1oz7w 2 месяца назад
Да, располнел заметно ))
@user-zj3ih2ux5e
@user-zj3ih2ux5e 2 месяца назад
@@MakarenkoSasha Я когда на лето к бабушке уезжал, таким же возвращался.
@saintkredo7673
@saintkredo7673 2 месяца назад
да и вроде умный дядя 30+ а у него всё - здорова котаны....
@django8196
@django8196 Месяц назад
В яблочко😀
@kirillzh4798
@kirillzh4798 2 месяца назад
Вот пристали-то "поправился", "растолстел","в кадр не влезешь", человеку даже к бабушке уже нельзя съездить что-ли? Хорошего человека должно быть много. Алексей молодец, главное - чтоб здоровье было хорошее, а остальное - ерунда. Благодаря ему работаю девопсом. Спасибо большое за информацию в простой и понятной форме. Алексей, желаю конского здоровья и стальных нервов.
@kirsanov2008
@kirsanov2008 2 месяца назад
действительно, вот пристали, щас родит все пройдет
@t0digital
@t0digital 2 месяца назад
​@@kirsanov2008двойню!
@user-yy6dx1wj9r
@user-yy6dx1wj9r 2 месяца назад
Да мы его и таким любим, просто в глаза бросается, особенно на превьюшке) А для здоровья как раз таки "зимнего запаса" поменьше должно быть)
@vladislavske
@vladislavske 2 месяца назад
Не прекращай радовать видосиками! Самый ламповый и толковый блогер по теме разработки ❤
@t0digital
@t0digital 2 месяца назад
Спасибооо 💪💪💪
@lexor64
@lexor64 2 месяца назад
Можно ещё прикрутить fail2ban, чтобы блокировать IP после нескольких неправильных попыток входа
@user-zj3ih2ux5e
@user-zj3ih2ux5e 2 месяца назад
Старенькая, но приколная затычка, которая биндится на дефолтовый 22 порт, прикидывается ssh и при коннекте начинает отмораживаться, но коннект не разрывает. Эдакий honeypot. Первый же вопрос на подбор пароля вязнет и вечно ожидает завершения :) endlessh
@DrakoshaSStas
@DrakoshaSStas 2 месяца назад
Интересная подлянка
@bokoter
@bokoter 2 месяца назад
Благодарю за то, что когда-то дали комментарий по резюме, когда вам требовался сотрудник, это помогло продолжать путь, и в итоге устроился на первую работу год назад примерно) В целом все видосы оч полезные
@user-nn5oj7jl4w
@user-nn5oj7jl4w 2 месяца назад
Рад тебя видеть старина!
@pid625
@pid625 2 месяца назад
Ого, офигеть, магия б**ь, просто гениальная технология, прям как гномьи двери в Мории, которые не видно) Огромное спасибо за ваш канал, всегда много полезного узнаю
@great_kombinator
@great_kombinator 2 месяца назад
Ага, мне тоже напомнило: молви друг и войди
@NatureFitSport
@NatureFitSport 2 месяца назад
Темы топ, подача топ. Видосы по линуксу просто мастхев 👍
@user-fc8ut9mx6x
@user-fc8ut9mx6x 2 месяца назад
какие хорошие примеры рад что вы вернулись
@NESTOWL
@NESTOWL 2 месяца назад
Уже давно использую доступ к порту ssh только со своего ip и вот если вдруг ip изменится, будет очень неприятно 😅 В качестве подстраховки надо будет настроить, однажды может пригодится Полезная инфа! Спасибо! 👍👍👍
@NESTOWL
@NESTOWL Месяц назад
Ну вот.. Этот день все-таки настал... И как обычно в самый не подходящий момент... ip изменился и я потерял доступ 🙃И сразу же вспомнил это видео 😅
@user-yl6tx2jy2i
@user-yl6tx2jy2i 2 месяца назад
Предлагаю в качестве следующей темы для видео рассмотреть механизм защиты "honey pot".
@benjaminshtark5977
@benjaminshtark5977 2 месяца назад
Браво!!! Обалденное видео, сам работаю с линуксом почти 20 лет, и порт накинг это не новое и известное но в видео показано как это просто сделать. к сожалению 99.9% админов этим не заморачиваются, дай б-г чтобы хотя бы вырубили доступ по паролю )))) А уже защищать ssh ключи паролем, не говоря уже про порт нокинг это уже космос :))
@TimurDE
@TimurDE 2 месяца назад
Спасибо Алексей!
@NatureFitSport
@NatureFitSport 2 месяца назад
Спасибо за видео! Лучший канал о ИТ на ютубе!
@sammak3961
@sammak3961 2 месяца назад
ура главкотан вернулся) и сразу с нужной темой.
@MrVernuk
@MrVernuk 2 месяца назад
Мега полезно 😊 Классно объясняешь!
@user-lc8dw6qu7r
@user-lc8dw6qu7r 2 месяца назад
Алексей, спасибо за информацию!!! Очень актуально и полезно!!! Красавчик.
@st7dot
@st7dot 2 месяца назад
Спасибо за видео !!!!
@markostr
@markostr 2 месяца назад
Отлично ! Огромное спасибо !
@user-vg5fu2ed6x
@user-vg5fu2ed6x 2 месяца назад
Как же это круто!
@goodvinsk8
@goodvinsk8 2 месяца назад
Спасибо за полезный контент!
@user-vito-kuk
@user-vito-kuk 2 месяца назад
Как по мне, вот этого набора правил, будет вполне достаточно, чтобы никакой ебобо, не смог подключиться к серваку: - Port 0 - 65536 - LoginGraceTime 10s - AllowUsers Username - StrictModes yes - MaxAuthTries 1 - MaxSessions 1 - PubkeyAuthentication yes - PasswordAuthentication no - PermitRootLogin no - PermitEmptyPasswords no
@pokupki29
@pokupki29 2 месяца назад
Красава
@lexxandr9349
@lexxandr9349 17 дней назад
А в чем смысл Port 0 - 65536 ?
@user-vito-kuk
@user-vito-kuk 17 дней назад
@@lexxandr9349 В известности портов
@user-jp1hx7db2t
@user-jp1hx7db2t 2 месяца назад
Спасибо, все круто, как всегда!)
@dev-workshop
@dev-workshop 2 месяца назад
Отличное видео, спасибо! Как раз последнее время думаю, как повысить безопасность продакшен серверов Буду рад, если будет видео про бронебойный nginx, что нужно, чтобы не пробился никто через веб приложения
@funkytapir
@funkytapir 2 месяца назад
Спасибо очень было интересно)
@ozodsaidov7427
@ozodsaidov7427 12 дней назад
замечательно и полезно как всегда!
@zatochiSiberian
@zatochiSiberian 2 месяца назад
Благодарю, очень полезно.
@Randy131098
@Randy131098 2 месяца назад
Алексей, благодарю за видео! Подскажи, пожалуйста, какой shell используешь на своем mac? ZSH с OhMyZSH? Я бы с удовольствием от тебя посмотрел бы гайд на тему настройки и кастомизации оболочки.
@honsour72
@honsour72 2 месяца назад
Очень полезно и информативно, не хватает еще bash-скриптяги, чтобы перед ссш автоматически вызывалась команда простукивания! Спасибо!
@alexwar6821
@alexwar6821 8 дней назад
Ай спасибо мил человек! Очень полезное видео!
@user-vi2fp6dl7b
@user-vi2fp6dl7b Месяц назад
Большое спасибо!
@rabotavsem_biz
@rabotavsem_biz 2 месяца назад
Спасибо за очередное полезное видео! Всегда понятное объяснение. Очень интересует настройка на ufw port knocking
@konstantinselivanov8513
@konstantinselivanov8513 2 месяца назад
Обнови /etc/knockd.conf: start_command = ufw allow from %IP% to any port 22 stop_command = ufw delete allow from %IP% to any port 22 Открой порты 7000, 8000 и 9000 в ufw (замени порты на свои)
@null_day
@null_day 2 месяца назад
Не потолстел, а съел Питона =) С нетерпением ждем новое видео! А лучше выпускать хотя бы каждую неделю ) У вас хорошо получается донести информацию
@tihon4979
@tihon4979 2 месяца назад
Нормуль! Годно! Берём на вооружение. Спасибо!!!
@sedelnikovsergey
@sedelnikovsergey 2 месяца назад
Супер, спасибо за лекбез
@user-ww3fv8nw9s
@user-ww3fv8nw9s 2 месяца назад
Клевая подача информации!
@t0digital
@t0digital 2 месяца назад
Спасибо!
@ZlobniyTapoG
@ZlobniyTapoG 2 месяца назад
Алексей, нужно двигаться и меньше кушать. Трансформация в винни-пуха становится очевидной )
@mishuha
@mishuha 2 месяца назад
А голос-то какой! Прям мимимишный.
@Max-Sparrow
@Max-Sparrow 7 дней назад
Написать демон, который будет следить за демоном =D а за тем демоном другой демон, который будет следить за этими двумя, а второй и за третьим тоже ) Ещё в алгоритм стука можно включить открытие не SSH порта (возможно тоже динамически меняющегося), в который будет происходить соединение клиентского скрипта до серверного, да с обменом ключами с нестандартным хитровывернутым алгоритмом (а лучше в сочетании), при успешности которого уже потом будет открываться SSH порт. Чем больше нестандартных решений, тем меньше шансов взлома.
@fantasy3469
@fantasy3469 Месяц назад
Алексей, здравствуйте. Скажите пожалуйста, как вы справляетесь с тем, что во время набора русских текстов в nvim приходится переключать раскладку? Или все таки переключаете? Очень бы хотелось писать/редактировать русский текст также удобно как и английский. Спасибо!
@user-wj7mr2rt1r
@user-wj7mr2rt1r 2 месяца назад
лайк авансом!)
@Sanek060782
@Sanek060782 2 месяца назад
Огонь! Тема для параноиков! Respect!
@akiro3522
@akiro3522 2 месяца назад
Ура, видосик
@SWS-LINK
@SWS-LINK 2 месяца назад
Я порт кнокинг делаю на ICMP с разным размером пакета - 3 пинга и порт открыт. Просто в тех же корп. сетях с большой вероятностью запросы на нестандартные порты будут дропать на фаерволе. Могут и пинг прибить, но чаще он работает -).
@jenykoo
@jenykoo 2 месяца назад
завтра попробую) уже 2 часа утра))
@oleg-medovikov
@oleg-medovikov 2 месяца назад
Очень классно, не слышал о таком.
@serenitiSever
@serenitiSever 2 месяца назад
😂 в начале очень смешно объяснил, от души посмеялся. Полезная информация 😊 благодарю
@SergMirny_yt
@SergMirny_yt 2 месяца назад
Деша, давно Вас не видел. Вы очень набрали. Берегите себя, лишний вес - здоровья не добавляет, по себе знаю. Боролся с кишкоблудством (есть выражение, что оно хуже наркоты - в этом, что-то есть)
@Vjidowkdkcpapqkfjfw
@Vjidowkdkcpapqkfjfw 2 месяца назад
Ты когда так покушать успел ?
@t0digital
@t0digital 2 месяца назад
на завтрак!
@temcodes
@temcodes 2 месяца назад
Праздники делают с нами и не такое)
@tihon4979
@tihon4979 2 месяца назад
Лол 😂
@dmitriiovsiannikov9605
@dmitriiovsiannikov9605 2 месяца назад
Курс продается хорошо 😂
@user-pl9ek9du8p
@user-pl9ek9du8p 2 месяца назад
Не, это когда наконец-то улыбнулся для обложки
@LinuxbyDmitry
@LinuxbyDmitry 2 месяца назад
Давно хотел сделать port knocking на nftables, без дополнительных утилит или ещё чего). Сегодня решил, чего ждать и запилил за вечер два видео с двумя вариантами, думаю ещё можно чего нибудь напридумывать на чистом nftables. Данной утилитой многие пользуются, моё мнение это не вариант. Да, в случае с iptables так будет проще, ни какой головной боли, но на nftables это решается гораздо проще и надёжнее).
@bakla_zhan
@bakla_zhan 2 месяца назад
Вообще огонь! Только на днях думал, как защитить ssh-сервер, смотрящий в интернет. Google что уже научился мысли читать?!
@t0digital
@t0digital 2 месяца назад
Учится понемногу:)
@mew6085
@mew6085 2 месяца назад
Круто
@dmitrykuksenok9308
@dmitrykuksenok9308 2 месяца назад
Еще можно повесить двухфакторку и otp пароли на вход по ssh. Вроде даже на том же хабре была статья (если ничего не путаю), там человек поднимал вопрос, что вход сертификатам это круто, но у тебя получается типа мастер-ключ (твой закрытый ключ) и тебе надо следить, где ты оставил открытый ключ, подчищать за собой и тп, двухфакторка позволяет избавиться от этого
@DrakoshaSStas
@DrakoshaSStas 2 месяца назад
Еще можно разделить, на свои и чужие сервера. То есть иметь два три сертификата, чтобы не пересекались. Но otp и port knocking это доп защита. Только например с мобильных сетей port knocking не очень
@vasya_pipkin
@vasya_pipkin 2 месяца назад
@@DrakoshaSStas ага, а теперь у тебя этих серверов скажем так около 100 (хотя бы) и зайти надо сразу так скажем на 10)) вот будет интересно))). port knocking как по мне больше баловство, для своих каких песочниц)) Если уж и делать, то бастион хост (аля джамп хост) где SSH с OTP и потом уже к виртуалкам с не публичными адресами.
@LazerShrk
@LazerShrk 2 месяца назад
Только сегодня встал вопрос о защите сервера, и сразу вышел Ваш видос)) Спасибо огромное!
@ruslan_swd
@ruslan_swd 2 месяца назад
ИМХО - раз уж речь пошла про SSH и security, то можно было и рассказать про SSH Bastion (для множества серверов), что IP whitelisting для SSH через тот же IPTABLES. Последний пункт удобно реализовать через VPN на домашнем/офисном рутере со статичным ИП. В каждом случае, есть свои + и -, но про возможности самих сетей тоже не стоит забывать и на них забивать! :)
@user-vu9tz9zu3w
@user-vu9tz9zu3w 2 месяца назад
Будет видео про Mojo и Modular? Какие перспективы?
@SuperEuro
@SuperEuro 2 месяца назад
Возможно ли использовать аппаратные ключи, по технологии FIDO?
@slmuim9745
@slmuim9745 2 месяца назад
Очень информативно, спасибо. Вопрос: а порты, которые ждут нокинг, можно задетектить nmap’ом или чем-то еще?
@__username__
@__username__ 2 месяца назад
Ответ: нет. Они могут (и должны) быть закрыты, нокинг сработает и в этом случае. Стоит помнить, что во всех серьёзных мануалах написано, что нокинг - это слабая мера безопасности и не должна быть единственной. Также могу сказать, что на SSH-порт моего домашнего роутера, который висит на нестандартном порту, за более чем 10 лет не было ни единой попытки коннекта. Это я знаю достоверно, т.к. у меня есть скрипт (работоспособность которого проверена, конечно), оповещающий о неудачной попытке логина. Так что просто смени порт и кол-во потенциальных угроз снизится на порядки. Ну и ключ с паролем, само собой.
@gnompirogov9259
@gnompirogov9259 2 месяца назад
Александр, спасибо. полезно, интересно, наглядно :))))
@enotroma
@enotroma 2 месяца назад
я себе закрыл все порты кроме 80 и 443 на основном сервере, а для SSH завел дешевый VPS в той же локалке как впн и разрешил доступ к 22 порту основной машины только из внутренней сети. 1 - трафик шифрован по впн тоннелю, 2 - только зная айпи моего впн сервера-затычки можно что-то вообще пытаться, т.е. без перехвата моего трафика чтобы узнать айпи сервера-затычки попытки доступа к ssh имеют кпд 0)
@mishuha
@mishuha 2 месяца назад
Насчет веб хостеров: у них есть сброс пароля всегда, даже если ты сменил пароль админа у своей VDS. Как это работает? Через доступ к фс обнуляют /etc/passwd?
@user-eq8ou5gi4h
@user-eq8ou5gi4h 2 месяца назад
Блестяще! Спасибо за видео. Я совершенно не спец в этой области, но хотел узнать: а нельзя ли в добавок ко всем манипуляциям, что Вы делали, создать на стандартном порте какой-либо "ложный сервер" (в настоящемсервере) - эдакую обманку для злоумышленника. Чтобы он думал, что взлом удался и он будет терять время зря? Заранее спасибо.
@Ihor33ss
@Ihor33ss 2 месяца назад
чтобы что? Если у тебя пароль длиннее 12 символов с разными комбинациями, то он ломать его будет 12 лет. Ставишь fail2ban и после 3-х неудачных попыток доступ с данного ip блокируется. Это самый надежный способ защиты от брутфорса.
@user-eq8ou5gi4h
@user-eq8ou5gi4h 2 месяца назад
Это я к тому, что взломщик решив, что вломал сервер, будет "красть" ложные данные с фейковой области сервера, тихо радоваться и при этом тратить время впустую. Основной же сервер будет не тронутым.
@kalobyte
@kalobyte 2 месяца назад
@@user-eq8ou5gi4h chroot называется только возни много ломают не для кражи данных, а для установки впн серверов или спам софта или агентов ддос данные рандомного васи никому не нужны
@osada96
@osada96 2 месяца назад
А каким образом можно настроить запрет пингов всем, кроме определенных хостов? Т.е., чтобы сделать исключение этим хостам и они могли всегда пинговать сервер?
@zigf
@zigf 2 месяца назад
Поправился немного за это время
@ivanselyt
@ivanselyt 2 месяца назад
Если мы используем port knocking, то пропадает смысл переносить ssh на другой порт?
@disasstor
@disasstor 2 месяца назад
По поводу как получить доступ к серверу когда потярял ключи, при условии что это ваш сервер и есть доступ к поставщеку услуг(на всех я не проверял, но в оракл это единственный способ вернуть доступ): 1) отмонтировать системный диск от ВМ 2) создать новую вм, примонтировать ей этот диск 3) зайти в созданную вм на примонтированный диск в дирректорию с вашими старыми ключами и добавить новый созданный ключ в разрешенные хосты 4) отмонтировать диск от созданной ВМ 5) примонтировать дск обратно на старую ВМ
@Ihor33ss
@Ihor33ss 2 месяца назад
отличный лайвхак для тов. майора, спасибо.
@invilso4051
@invilso4051 2 месяца назад
@@Ihor33ssон итак знает)))
@Ihor33ss
@Ihor33ss 2 месяца назад
@@invilso4051 ну тогда смысл в чем? Отберет у тебя твой диск и подменяет ключи...
@user-lv1ft6nw6u
@user-lv1ft6nw6u 2 месяца назад
​@@Ihor33ssзашифруй диск, проблем то
@Ihor33ss
@Ihor33ss 2 месяца назад
@@user-lv1ft6nw6u сынок, а ты в курсе, на сколько снижается производительность при шифровке хотя бы на 256 бит, не говоря уже про 512? Не у всех же core i9 12900к.
@san_cristobal
@san_cristobal Месяц назад
Как правильно постучится в порты на windows, через тот же PowerShell? Цикл for там не воспринимается, возможно есть какая-то альтернатива. А, то теперь на сервер не могу попасть 😂
@Lexx-pz9mk
@Lexx-pz9mk 2 месяца назад
Круто, знал, но не юзал, любопытная штука. Однако, довольно опасная с точки зрения вероятного падения данной службы, но на простых серверах личного назначения вполне себе. Обычно, в дополнение к смене дeфолтного порта, отключения root и входа по паролю включаю ufw/iptables и даю доступ по ssh на кастомном порту в режиме лимита. Сам факт того, что у нас нет доступа по паролю и используется контрольная фраза, обеспечивает должный уровень безопасности. Респектую Алексею за то, что поднимает фундаментальные вопросы, которые на практике многие игнорируют. пс: автору предлагаю не обращать внимание на клоунов, которые привыкли судить людей по внешнему виду, это неуверенные в себе и закомплексованные создания, жизнь их уже наказала.
@jewgenijmoldawski3306
@jewgenijmoldawski3306 2 месяца назад
Сегодня практически нет необходимости открывать ssh-доступ через интернет. Для конфигурации есть другие способы, с помощью которых можно опять-таки открыть ssh, если очень понадобиться и потом его быстро закрыть.
@asura963
@asura963 2 месяца назад
Здраствуйте. Вы можете показать как правильно настроить, применить правила nftables в дистрибутиве: voidlinux Ранее работали, но теперь видимо что то voidlinux поменяли.
@t0digital
@t0digital 2 месяца назад
Синтаксис самого nftables должен быть одинаковым везде вроде, едва ли они это меняли в дистрибутиве
@asura963
@asura963 2 месяца назад
@@t0digital аз не про синтаксис nftable. А про установку и запуск его в дистрибутиве voidlinux) Раниее устанавливал так и все было хорошо: # xbps-install nftables runit-nftables cd voidlinux cp nftables /usr/local/bin/ cd /usr/local/bin/ chmod 755 nftables nft flush ruleset nano /usr/local/bin/nftables nftables echo '#!/usr/sbin/nft -f' > /etc/nftables.conf echo 'flush ruleset' >> /etc/nftables.conf nft list ruleset >> /etc/nftables.conf cat /etc/nftables.conf sv up nftables Все проходит успешно, кроме последней команды запуска, выкидывает такую ошибку: fail: nftables: unable to change to service directory: file does not exist Рание такого небыло.
@asura963
@asura963 2 месяца назад
@@t0digital разобрался
@prozzy82
@prozzy82 2 месяца назад
Недавно обнаружил, что у роутеров TP link активен ssh и об этом в официальной документации и мануалах ничего не сказано, и как ее выключить тоже не ясно. только на форуме нашел информацию что он активен для приложения Tether от TP-Link.
@vitaliedercaci8117
@vitaliedercaci8117 8 дней назад
Can you do a video and recommend us some books? thank's!
@extremecodegovno6306
@extremecodegovno6306 2 месяца назад
а как это удобно сконфигурировать чтоб не стучать каждый раз? аля этакий ssh config knock manager
@laushkin1
@laushkin1 Месяц назад
Привет, можешь снять видео про neovim, мысли твои про него, почему ты бы рекомендовал или не рекомендовал его, чем он лучше или хуже за vim или любой другой редактор или ide
@stupidcabbage
@stupidcabbage 2 месяца назад
не ну как бы первый!
@t0digital
@t0digital 2 месяца назад
That's success!
@sergeyn5504
@sergeyn5504 2 месяца назад
А по смс можно сделать? Как это называется - двухфакторная авторизация?
@DrakoshaSStas
@DrakoshaSStas 2 месяца назад
Можно, но лучше otp, его легче сделать и без дополнительных затрат на sms.
@Stalone13
@Stalone13 2 месяца назад
Ты на MacBook Air M1 поставил macOS Соному ? Говорят намного быстрее разряжается после обновления на эту макос.
@t0digital
@t0digital 2 месяца назад
Не ставил. Сижу на Монтерей и не планирую обновлять. Опять поломается всё нахрен. К сожалению, нет доверия больше маковским обновам. Обновлятели купертиновские хуевы, в прошлый раз пол дня убил на переустановку всего необходимого.
@Stalone13
@Stalone13 2 месяца назад
@@t0digital Хах я на Ventura всё хорошо до этого на Monterey был. А вообще MacBook планируешь обновлять ? Или будешь всё время на монтерей сидеть ?:) Я решил вообще Соному пропустить буду сидеть на Вентуре до макос 15.6
@user-zg8ij3kt1h
@user-zg8ij3kt1h 2 месяца назад
Может я не внимательно смотрел. Получается, что сгенерированный ssh-ключ одинаков для root и www?
@user-uk8zu8fz7w
@user-uk8zu8fz7w 2 месяца назад
Добрый день. Спасибо за видео! Чуть дополню здесь в правилах лучше использовать DROP а не Reject. Так как стучащийся не будет получать информацию есть ли за этим портом что-то или нет. В дополнение к защите.
@t0digital
@t0digital 2 месяца назад
зависит от того как работают остальные порты. Если остальные ведут себя как DROP, то и наш надо на DROP, если остальные ведут себя как REJECT, то и наш на REJECT. Иначе он будет палиться отличным от других поведением
@user-uk8zu8fz7w
@user-uk8zu8fz7w 2 месяца назад
@@t0digital Согласен. Тогда все лучше дропать. Зачем кому-то знать что его отвергли ) Еще раз спасибо!
@user-ur9fs8cx4f
@user-ur9fs8cx4f 2 месяца назад
Спасибо.
@omg-go4vf
@omg-go4vf 2 месяца назад
Ох, зима на моем лице оставила такой же жирный след
@Max-Sparrow
@Max-Sparrow 7 дней назад
Было дело запретил я доступ по паролю и настроил доступ по ключам. Однако спустя пару дней обнаружил в логах брутфорс пароля. Попытался подключиться с паролем, SSH-сервер меня сразу посылает и даже в лог ничего не пишет. По всякому пытался, но не получилось повторить то, что делает чей-то бот. В итоге написал хитрый скрипт шифрованием в комбинации с нестандартными приёмами, открывающий порт для клиентского IP на время.
@yjjx
@yjjx 2 месяца назад
Ну, тут вопрос о рисках, у меня vds простоял пол года без какой либо защиты, просто ssh по паролю без ключей(ну разве что вход от рута отключен) и… 0 заходов, 350 тысяч попыток авторизации
@t0digital
@t0digital 2 месяца назад
350 тыс попыток авторизации это несколько хуже, чем ноль. Зачем гонять трафик на свой сервер, занимать вычислительные ресурсы этим, ну и рисковать, разумеется. Мини-риск хуже, чем микро-риск, и значительно хуже, чем нано-риск:)
@sikelmon
@sikelmon 2 месяца назад
Привет. Расскажи как поживает макбук? Уже достаточно долго им пользуешься.
@t0digital
@t0digital 2 месяца назад
Нормально. Краска потерлась слева-справа от тачпада, аккум 81% емкости осталось, около 465 циклов зарядки. Нормас
@itMasXteR
@itMasXteR 2 месяца назад
Подскажите, а в чем смысл создавать юзера для использования вместо root и тут же давать ему доступ к sudo? От чего таким образом мы защищаемся?
@t0digital
@t0digital 2 месяца назад
Рутом мы можем зайти и случайно сделать непоправимое для системы. Простым пользователем случайно сделать непоправимое для системы не получится, так как явно надо будет добавить sudo и ввести пароль от текущего пользователя. Также каждый юзер с sudo вводит свой пароль, никакой пароль на root не шарится между группой пользователей, это безопаснее. К тому же этим можно гибко управлять, давать пользователям sudo-права, забирать их, ведётся логирование попыток получить sudo-права конкретными пользователями и тд.
@itMasXteR
@itMasXteR 2 месяца назад
​@@t0digital Дело в том что если мы даем sudo пользователю, то этот пользователь может изменить пароль root пользователю и войти уже через него. А если мы привыкаем вводить команды через sudo на сервере, то нет особой разницы сделаем мы непоправимое из под root или через нашего пользователя с sudo. Поправьте меня, если я не прав.
@linxuil633
@linxuil633 2 месяца назад
​@@itMasXteR - тут важно что вы отключив доступ по root извне - даете вторую степень свободы у своей защиты. Для того чтобы зайти на ваш сервер - вам сначала нужно понять к какому вообще юзеру нужно подбирать пароль. Поменяв порт - вы уже даете 1-2 часа на подбор порта злоумышленнику. Никто не будет сканировать 2 часа рандомный ip в интернете. Но если вы засветите порт или просто его отсканируют - как они узнают какой вообще пользователь кроме root (который мы отключили) есть на вашем серевере?
@motortillers
@motortillers 2 месяца назад
Нуждаюсь в вашем совете! Купил микротик лдф6 лте. При настройке и обновлении оборудования. Оператор узнает ли что симка не в смартфоне? Как быть , тариф для смартфона и экономный. Неохото потерять
@t0digital
@t0digital 2 месяца назад
да, в общем случае оператор узнаёт. Чтобы не узнал надо проводить дополнительные настройки и не на всех устройствах их можно провести, не в курсе про микроток. Надёжным вариантом будет симка для модема с нормальным тарифом, такие есть.
@motortillers
@motortillers 2 месяца назад
@@t0digital спасибо Вам за ответ! 🤝 Речь о MikroTik LDF LTE6 kit (RBLDFR&R11e-LTE6)
@t0digital
@t0digital 2 месяца назад
нужная настройка это смена ttl, надо искать, есть ли такая возможность на этом устройстве, я не знаю
@motortillers
@motortillers 2 месяца назад
@@t0digital спасибо Вам🤝
@Vova21rus
@Vova21rus Месяц назад
Привет! У меня такой вопрос, все вроде бы настроил по инструкции, проверил, работает. Но после перезагрузки доступ к ssh пропал( В чем может быть причина?
@t0digital
@t0digital Месяц назад
возможно правила iptables не сохранились. Они по умолчанию не сохраняются на постоянку. sudo apt install iptables-persistent sudo service netfilter-persistent save
@Vova21rus
@Vova21rus Месяц назад
@@t0digital Частично разобрался. Для восстановления ssh доступа пришлось отключать диск и лазить по файловой системе, удалять правило в iptables. В итоге выяснил, что тупо knockd не запускался "knockd[2460]: could not open eth0: eth0: That device is not up". Вот здесь теперь не понятно, почему это устройство отображается в ifconfig, и прописано в конфигах, но сервис knockd падает при старте
@Randy131098
@Randy131098 2 месяца назад
Также вопрос: почему мы на сервере перезапускаем ssh, а не sshd, после изменения конфига sshd?
@bak1necWWE
@bak1necWWE 2 месяца назад
ssh и sshd в убунте оба смотрят на sshd
@harry-smith404
@harry-smith404 2 месяца назад
Для дополнительных извращений можно honeypot поднять еще
@anonanon5146
@anonanon5146 2 месяца назад
еще надо fail2ban поставить, и настроить jail для sshd
@bakla_zhan
@bakla_zhan 2 месяца назад
А если сервер находится за NAT, т.е. за роутером с внешним IP-адресом, тогда как можно защитить сервер?
@ivanselyt
@ivanselyt 2 месяца назад
Я правильно понял, что при каждом новом входе на сервер нужно простукивать порты? Удобно конечно bash скрипт для этого запускать, но это нарушит безопасность, если этот скрипт в виде файла хранить на ноуте.
@t0digital
@t0digital 2 месяца назад
Каждый раз нужно простукивать, да
@kalobyte
@kalobyte 2 месяца назад
можеш написать скрип, который будет спрашивать порты
@mishuha
@mishuha 2 месяца назад
Можешь сделать линк на скрипт коннекта на флешку и носить этот "токен" отдельно.
@andrejaga3003
@andrejaga3003 2 месяца назад
А можно разные SSH-ключи хранить на USB-флешке, чтобы эта "ключница" всегда была с собой и чтобы можно было ею пользоваться с разных компьютеров?
@t0digital
@t0digital 2 месяца назад
Можно. Шифрованный том можно на флешке создать даже. На котором будут ключи
@andrejaga3003
@andrejaga3003 2 месяца назад
@@t0digital А не покажете, как это правильно сделать? Может, есть какие-то подводные камни? У меня в двух квартирах, на даче и на работе компьютеры, одна "ключница" сильно бы упростила жизнь. И можно вообще ключи копировать-перемещать в разные места? Нет там в зашифрованном ключе какой-нибудь привязки к конкретной машине, операционке и пр., которые зашифровываются при создании ключа?
@t0digital
@t0digital 2 месяца назад
В ключе привязки к машине нет, копировать можно. Ключи стоит защитить паролем, чтобы в случае утечки ключей не потерять доступ к серверу. А по поводу криптоконтейнера вариантов много, в какой-то степени даже запароленный zip-архив с ключами тоже может играть такую роль:) Или можно воспользоваться VeraCrypt контейнером
@ivanselyt
@ivanselyt 2 месяца назад
Можно узнать, какой смысл создавать пользователя и выключать авторизацию на сервере для root, ведь если хакер получит доступ к юзеру, он же из под него так же сможет спокойно запускать команды с sudo, разве нет?
@ivanselyt
@ivanselyt 2 месяца назад
а, тут еще добавляет сложность в том, что надо подобрать(угадать) имя пользователя для того, чтобы дальнейшие попытки перебора пароля и т.п. имели смысл?
@kalobyte
@kalobyte 2 месяца назад
@@ivanselyt подбирают пароль рута как дефолтного пользователя, потому что другие неизвестны бывают те, кто меняет конфиг ссх и разрешает вход для рута по сети на таких и рассчитаны переборы пароля
@ivanselyt
@ivanselyt 2 месяца назад
@@kalobyte ​ а нельзя убрать пароль у рута и сделать авторизацию под ним только с ssh ключом? А вообще как будто, если использовать port knocking, то он перекрывает все предыдущие защиты​ и смысл в них есть, только если каким то чудом смогут обойти port knocking
@kalobyte
@kalobyte 2 месяца назад
​@@ivanselyt можно сделать вход под рутом с ключом без пароля стучалка по портам это просто дополнительная опция защиты и не только ссх например proxmox работает от рута и если пароль подберут через вебморду, то будет очень плохо поэтому можно так же закрыть порт 8006 и открывать его только по стуку
@beremour
@beremour 2 месяца назад
надо для nftables... iptables чо-то не видно давно
@plkvp
@plkvp 2 месяца назад
У меня такая же кружка есть
@user-lr2xi8lj3s
@user-lr2xi8lj3s 2 месяца назад
Объясните по-умному, как для 5-летнего, как использовать уже установленное соединение с обратным ssh. Удаленный комп уже подключен к моему ssh-серверу, как выйти на оболочку удаленного компа? И возможно ли использовать для передачи файлов уже установленное соединение, без повторного запуска scp? Спасибо.
@SuperDeadbeef
@SuperDeadbeef 2 месяца назад
Вот ты брат, растолстел. Привет из оракла.
@t0digital
@t0digital 2 месяца назад
О, Андрей, привет! Это всё длиннофокусный объетив, инфа сотка:)))
@user-ne4bd3ry1n
@user-ne4bd3ry1n 2 месяца назад
fail2ban недостаточно?
Далее
Port Knocking в Mikrotik Firewall Filter
9:06
Просмотров 10 тыс.
SSH-туннелирование портов
34:34
Просмотров 7 тыс.
Настраиваем iptables с нуля
39:13
Просмотров 53 тыс.