Защита SSH-сервера - порты, ключи, port knocking, iptables
Мой курс «Хардкорная веб-разработка» - 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...
Пікірлер: 291
Тем временем мой курс «Хардкорная веб-разработка» продолжает набор обучающихся - course.to.digital Вжух!
@ivanselyt
3 ай бұрын
Прям просится запись где-нибудь в Notion оформленная с разделами, командами из видео) Если сделаешь, пингани меня тут в комментах, чтобы я заметил, спасибо)
@t0digital
3 ай бұрын
В описании к видео есть текст всех команд из видео
@Stalone13
2 ай бұрын
@@t0digital Ты на MacBook Air M1 поставил macOS Соному ? Говорят намного быстрее разряжается после обновления на эту макос.
@t0digital
2 ай бұрын
@@Stalone13 не ставил. Не хочу ломать ничего в системе. На монтерей сижу
@Stalone13
2 ай бұрын
@@t0digital Хах я на Ventura всё хорошо до этого на Monterey был. А вообще MacBook планируешь обновлять ? Или будешь всё время на монтерей сидеть ?:) Я решил вообще Соному пропустить буду сидеть на Вентуре до макос 15.6
Я всё задавался вопросом куда же ты пропал? А он оказывается кушал 😂😂 Очень рад что ты вернулся.
@MakarenkoSasha
3 ай бұрын
Такое ощущение, что его взяли в плен и пытали пельменями и шаурмой ))
@user-vk4si1oz7w
3 ай бұрын
Да, располнел заметно ))
@user-zj3ih2ux5e
3 ай бұрын
@@MakarenkoSasha Я когда на лето к бабушке уезжал, таким же возвращался.
@saintkredo7673
3 ай бұрын
да и вроде умный дядя 30+ а у него всё - здорова котаны....
@django8196
Ай бұрын
В яблочко😀
Вот пристали-то "поправился", "растолстел","в кадр не влезешь", человеку даже к бабушке уже нельзя съездить что-ли? Хорошего человека должно быть много. Алексей молодец, главное - чтоб здоровье было хорошее, а остальное - ерунда. Благодаря ему работаю девопсом. Спасибо большое за информацию в простой и понятной форме. Алексей, желаю конского здоровья и стальных нервов.
@kirsanov2008
3 ай бұрын
действительно, вот пристали, щас родит все пройдет
@t0digital
3 ай бұрын
@@kirsanov2008двойню!
@user-yy6dx1wj9r
3 ай бұрын
Да мы его и таким любим, просто в глаза бросается, особенно на превьюшке) А для здоровья как раз таки "зимнего запаса" поменьше должно быть)
Не прекращай радовать видосиками! Самый ламповый и толковый блогер по теме разработки ❤
@t0digital
3 ай бұрын
Спасибооо 💪💪💪
Можно ещё прикрутить fail2ban, чтобы блокировать IP после нескольких неправильных попыток входа
Старенькая, но приколная затычка, которая биндится на дефолтовый 22 порт, прикидывается ssh и при коннекте начинает отмораживаться, но коннект не разрывает. Эдакий honeypot. Первый же вопрос на подбор пароля вязнет и вечно ожидает завершения :) endlessh
@DrakoshaSStas
3 ай бұрын
Интересная подлянка
Благодарю за то, что когда-то дали комментарий по резюме, когда вам требовался сотрудник, это помогло продолжать путь, и в итоге устроился на первую работу год назад примерно) В целом все видосы оч полезные
Рад тебя видеть старина!
Предлагаю в качестве следующей темы для видео рассмотреть механизм защиты "honey pot".
Темы топ, подача топ. Видосы по линуксу просто мастхев 👍
какие хорошие примеры рад что вы вернулись
Ты когда так покушать успел ?
@t0digital
3 ай бұрын
на завтрак!
@temcodes
3 ай бұрын
Праздники делают с нами и не такое)
@tihon4979
3 ай бұрын
Лол 😂
@dmitriiovsiannikov9605
3 ай бұрын
Курс продается хорошо 😂
@user-pl9ek9du8p
3 ай бұрын
Не, это когда наконец-то улыбнулся для обложки
Ого, офигеть, магия б**ь, просто гениальная технология, прям как гномьи двери в Мории, которые не видно) Огромное спасибо за ваш канал, всегда много полезного узнаю
@great_kombinator
3 ай бұрын
Ага, мне тоже напомнило: молви друг и войди
Спасибо за видео! Лучший канал о ИТ на ютубе!
Алексей, спасибо за информацию!!! Очень актуально и полезно!!! Красавчик.
Как по мне, вот этого набора правил, будет вполне достаточно, чтобы никакой ебобо, не смог подключиться к серваку: - Port 0 - 65536 - LoginGraceTime 10s - AllowUsers Username - StrictModes yes - MaxAuthTries 1 - MaxSessions 1 - PubkeyAuthentication yes - PasswordAuthentication no - PermitRootLogin no - PermitEmptyPasswords no
@pokupki29
3 ай бұрын
Красава
@lexxandr9349
Ай бұрын
А в чем смысл Port 0 - 65536 ?
@user-vito-kuk
Ай бұрын
@@lexxandr9349 В известности портов
Мега полезно 😊 Классно объясняешь!
ура главкотан вернулся) и сразу с нужной темой.
Спасибо Алексей!
Спасибо за полезный контент!
Спасибо, все круто, как всегда!)
Не потолстел, а съел Питона =) С нетерпением ждем новое видео! А лучше выпускать хотя бы каждую неделю ) У вас хорошо получается донести информацию
замечательно и полезно как всегда!
Спасибо очень было интересно)
Ай спасибо мил человек! Очень полезное видео!
Отлично ! Огромное спасибо !
Как же это круто!
Спасибо за видео !!!!
Браво!!! Обалденное видео, сам работаю с линуксом почти 20 лет, и порт накинг это не новое и известное но в видео показано как это просто сделать. к сожалению 99.9% админов этим не заморачиваются, дай б-г чтобы хотя бы вырубили доступ по паролю )))) А уже защищать ssh ключи паролем, не говоря уже про порт нокинг это уже космос :))
Благодарю, очень полезно.
Алексей, благодарю за видео! Подскажи, пожалуйста, какой shell используешь на своем mac? ZSH с OhMyZSH? Я бы с удовольствием от тебя посмотрел бы гайд на тему настройки и кастомизации оболочки.
Нормуль! Годно! Берём на вооружение. Спасибо!!!
Отличное видео, спасибо! Как раз последнее время думаю, как повысить безопасность продакшен серверов Буду рад, если будет видео про бронебойный nginx, что нужно, чтобы не пробился никто через веб приложения
Огонь! Тема для параноиков! Respect!
Клевая подача информации!
@t0digital
3 ай бұрын
Спасибо!
Очень полезно и информативно, не хватает еще bash-скриптяги, чтобы перед ссш автоматически вызывалась команда простукивания! Спасибо!
Уже давно использую доступ к порту ssh только со своего ip и вот если вдруг ip изменится, будет очень неприятно 😅 В качестве подстраховки надо будет настроить, однажды может пригодится Полезная инфа! Спасибо! 👍👍👍
@NESTOWL
2 ай бұрын
Ну вот.. Этот день все-таки настал... И как обычно в самый не подходящий момент... ip изменился и я потерял доступ 🙃И сразу же вспомнил это видео 😅
Спасибо за очередное полезное видео! Всегда понятное объяснение. Очень интересует настройка на ufw port knocking
@konstantinselivanov8513
3 ай бұрын
Обнови /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 (замени порты на свои)
Супер, спасибо за лекбез
Большое спасибо!
завтра попробую) уже 2 часа утра))
Я порт кнокинг делаю на ICMP с разным размером пакета - 3 пинга и порт открыт. Просто в тех же корп. сетях с большой вероятностью запросы на нестандартные порты будут дропать на фаерволе. Могут и пинг прибить, но чаще он работает -).
лайк авансом!)
😂 в начале очень смешно объяснил, от души посмеялся. Полезная информация 😊 благодарю
Написать демон, который будет следить за демоном =D а за тем демоном другой демон, который будет следить за этими двумя, а второй и за третьим тоже ) Ещё в алгоритм стука можно включить открытие не SSH порта (возможно тоже динамически меняющегося), в который будет происходить соединение клиентского скрипта до серверного, да с обменом ключами с нестандартным хитровывернутым алгоритмом (а лучше в сочетании), при успешности которого уже потом будет открываться SSH порт. Чем больше нестандартных решений, тем меньше шансов взлома.
Ура, видосик
Очень классно, не слышал о таком.
Алексей, здравствуйте. Скажите пожалуйста, как вы справляетесь с тем, что во время набора русских текстов в nvim приходится переключать раскладку? Или все таки переключаете? Очень бы хотелось писать/редактировать русский текст также удобно как и английский. Спасибо!
Александр, спасибо. полезно, интересно, наглядно :))))
Вообще огонь! Только на днях думал, как защитить ssh-сервер, смотрящий в интернет. Google что уже научился мысли читать?!
@t0digital
3 ай бұрын
Учится понемногу:)
Будет видео про Mojo и Modular? Какие перспективы?
Возможно ли использовать аппаратные ключи, по технологии FIDO?
Только сегодня встал вопрос о защите сервера, и сразу вышел Ваш видос)) Спасибо огромное!
Очень информативно, спасибо. Вопрос: а порты, которые ждут нокинг, можно задетектить nmap’ом или чем-то еще?
@__username__
3 ай бұрын
Ответ: нет. Они могут (и должны) быть закрыты, нокинг сработает и в этом случае. Стоит помнить, что во всех серьёзных мануалах написано, что нокинг - это слабая мера безопасности и не должна быть единственной. Также могу сказать, что на SSH-порт моего домашнего роутера, который висит на нестандартном порту, за более чем 10 лет не было ни единой попытки коннекта. Это я знаю достоверно, т.к. у меня есть скрипт (работоспособность которого проверена, конечно), оповещающий о неудачной попытке логина. Так что просто смени порт и кол-во потенциальных угроз снизится на порядки. Ну и ключ с паролем, само собой.
Если мы используем port knocking, то пропадает смысл переносить ssh на другой порт?
Давно хотел сделать port knocking на nftables, без дополнительных утилит или ещё чего). Сегодня решил, чего ждать и запилил за вечер два видео с двумя вариантами, думаю ещё можно чего нибудь напридумывать на чистом nftables. Данной утилитой многие пользуются, моё мнение это не вариант. Да, в случае с iptables так будет проще, ни какой головной боли, но на nftables это решается гораздо проще и надёжнее).
Насчет веб хостеров: у них есть сброс пароля всегда, даже если ты сменил пароль админа у своей VDS. Как это работает? Через доступ к фс обнуляют /etc/passwd?
А каким образом можно настроить запрет пингов всем, кроме определенных хостов? Т.е., чтобы сделать исключение этим хостам и они могли всегда пинговать сервер?
ИМХО - раз уж речь пошла про SSH и security, то можно было и рассказать про SSH Bastion (для множества серверов), что IP whitelisting для SSH через тот же IPTABLES. Последний пункт удобно реализовать через VPN на домашнем/офисном рутере со статичным ИП. В каждом случае, есть свои + и -, но про возможности самих сетей тоже не стоит забывать и на них забивать! :)
Ох, зима на моем лице оставила такой же жирный след
Еще можно повесить двухфакторку и otp пароли на вход по ssh. Вроде даже на том же хабре была статья (если ничего не путаю), там человек поднимал вопрос, что вход сертификатам это круто, но у тебя получается типа мастер-ключ (твой закрытый ключ) и тебе надо следить, где ты оставил открытый ключ, подчищать за собой и тп, двухфакторка позволяет избавиться от этого
@DrakoshaSStas
3 ай бұрын
Еще можно разделить, на свои и чужие сервера. То есть иметь два три сертификата, чтобы не пересекались. Но otp и port knocking это доп защита. Только например с мобильных сетей port knocking не очень
@vasya_pipkin
3 ай бұрын
@@DrakoshaSStas ага, а теперь у тебя этих серверов скажем так около 100 (хотя бы) и зайти надо сразу так скажем на 10)) вот будет интересно))). port knocking как по мне больше баловство, для своих каких песочниц)) Если уж и делать, то бастион хост (аля джамп хост) где SSH с OTP и потом уже к виртуалкам с не публичными адресами.
Круто
Поправился немного за это время
Привет. Расскажи как поживает макбук? Уже достаточно долго им пользуешься.
@t0digital
3 ай бұрын
Нормально. Краска потерлась слева-справа от тачпада, аккум 81% емкости осталось, около 465 циклов зарядки. Нормас
а как это удобно сконфигурировать чтоб не стучать каждый раз? аля этакий ssh config knock manager
А по смс можно сделать? Как это называется - двухфакторная авторизация?
@DrakoshaSStas
3 ай бұрын
Можно, но лучше otp, его легче сделать и без дополнительных затрат на sms.
Блестяще! Спасибо за видео. Я совершенно не спец в этой области, но хотел узнать: а нельзя ли в добавок ко всем манипуляциям, что Вы делали, создать на стандартном порте какой-либо "ложный сервер" (в настоящемсервере) - эдакую обманку для злоумышленника. Чтобы он думал, что взлом удался и он будет терять время зря? Заранее спасибо.
@Ihor33ss
3 ай бұрын
чтобы что? Если у тебя пароль длиннее 12 символов с разными комбинациями, то он ломать его будет 12 лет. Ставишь fail2ban и после 3-х неудачных попыток доступ с данного ip блокируется. Это самый надежный способ защиты от брутфорса.
@user-eq8ou5gi4h
3 ай бұрын
Это я к тому, что взломщик решив, что вломал сервер, будет "красть" ложные данные с фейковой области сервера, тихо радоваться и при этом тратить время впустую. Основной же сервер будет не тронутым.
@kalobyte
3 ай бұрын
@@user-eq8ou5gi4h chroot называется только возни много ломают не для кражи данных, а для установки впн серверов или спам софта или агентов ддос данные рандомного васи никому не нужны
Может я не внимательно смотрел. Получается, что сгенерированный ssh-ключ одинаков для root и www?
Как правильно постучится в порты на windows, через тот же PowerShell? Цикл for там не воспринимается, возможно есть какая-то альтернатива. А, то теперь на сервер не могу попасть 😂
А если сервер находится за NAT, т.е. за роутером с внешним IP-адресом, тогда как можно защитить сервер?
я себе закрыл все порты кроме 80 и 443 на основном сервере, а для SSH завел дешевый VPS в той же локалке как впн и разрешил доступ к 22 порту основной машины только из внутренней сети. 1 - трафик шифрован по впн тоннелю, 2 - только зная айпи моего впн сервера-затычки можно что-то вообще пытаться, т.е. без перехвата моего трафика чтобы узнать айпи сервера-затычки попытки доступа к ssh имеют кпд 0)
Подскажите, а в чем смысл создавать юзера для использования вместо root и тут же давать ему доступ к sudo? От чего таким образом мы защищаемся?
@t0digital
3 ай бұрын
Рутом мы можем зайти и случайно сделать непоправимое для системы. Простым пользователем случайно сделать непоправимое для системы не получится, так как явно надо будет добавить sudo и ввести пароль от текущего пользователя. Также каждый юзер с sudo вводит свой пароль, никакой пароль на root не шарится между группой пользователей, это безопаснее. К тому же этим можно гибко управлять, давать пользователям sudo-права, забирать их, ведётся логирование попыток получить sudo-права конкретными пользователями и тд.
@itMasXteR
3 ай бұрын
@@t0digital Дело в том что если мы даем sudo пользователю, то этот пользователь может изменить пароль root пользователю и войти уже через него. А если мы привыкаем вводить команды через sudo на сервере, то нет особой разницы сделаем мы непоправимое из под root или через нашего пользователя с sudo. Поправьте меня, если я не прав.
@linxuil633
3 ай бұрын
@@itMasXteR - тут важно что вы отключив доступ по root извне - даете вторую степень свободы у своей защиты. Для того чтобы зайти на ваш сервер - вам сначала нужно понять к какому вообще юзеру нужно подбирать пароль. Поменяв порт - вы уже даете 1-2 часа на подбор порта злоумышленнику. Никто не будет сканировать 2 часа рандомный ip в интернете. Но если вы засветите порт или просто его отсканируют - как они узнают какой вообще пользователь кроме root (который мы отключили) есть на вашем серевере?
класс , дико извиняюсь линукс пока не использую на какой сбори линукс такое SSH реализуемо и возможно ли на винде?
@t0digital
Күн бұрын
Я говорю о сервере на Linux. Если сервер на Windows - настройка будет какая-то другая вероятно, не работал с серверами на Windows.
Ты на MacBook Air M1 поставил macOS Соному ? Говорят намного быстрее разряжается после обновления на эту макос.
@t0digital
2 ай бұрын
Не ставил. Сижу на Монтерей и не планирую обновлять. Опять поломается всё нахрен. К сожалению, нет доверия больше маковским обновам. Обновлятели купертиновские хуевы, в прошлый раз пол дня убил на переустановку всего необходимого.
@Stalone13
2 ай бұрын
@@t0digital Хах я на Ventura всё хорошо до этого на Monterey был. А вообще MacBook планируешь обновлять ? Или будешь всё время на монтерей сидеть ?:) Я решил вообще Соному пропустить буду сидеть на Вентуре до макос 15.6
Также вопрос: почему мы на сервере перезапускаем ssh, а не sshd, после изменения конфига sshd?
@bak1necWWE
2 ай бұрын
ssh и sshd в убунте оба смотрят на sshd
Привет, можешь снять видео про neovim, мысли твои про него, почему ты бы рекомендовал или не рекомендовал его, чем он лучше или хуже за vim или любой другой редактор или ide
Ну, тут вопрос о рисках, у меня vds простоял пол года без какой либо защиты, просто ssh по паролю без ключей(ну разве что вход от рута отключен) и… 0 заходов, 350 тысяч попыток авторизации
@t0digital
3 ай бұрын
350 тыс попыток авторизации это несколько хуже, чем ноль. Зачем гонять трафик на свой сервер, занимать вычислительные ресурсы этим, ну и рисковать, разумеется. Мини-риск хуже, чем микро-риск, и значительно хуже, чем нано-риск:)
По поводу как получить доступ к серверу когда потярял ключи, при условии что это ваш сервер и есть доступ к поставщеку услуг(на всех я не проверял, но в оракл это единственный способ вернуть доступ): 1) отмонтировать системный диск от ВМ 2) создать новую вм, примонтировать ей этот диск 3) зайти в созданную вм на примонтированный диск в дирректорию с вашими старыми ключами и добавить новый созданный ключ в разрешенные хосты 4) отмонтировать диск от созданной ВМ 5) примонтировать дск обратно на старую ВМ
@Ihor33ss
3 ай бұрын
отличный лайвхак для тов. майора, спасибо.
@invilso4051
3 ай бұрын
@@Ihor33ssон итак знает)))
@Ihor33ss
3 ай бұрын
@@invilso4051 ну тогда смысл в чем? Отберет у тебя твой диск и подменяет ключи...
@user-lv1ft6nw6u
3 ай бұрын
@@Ihor33ssзашифруй диск, проблем то
@Ihor33ss
3 ай бұрын
@@user-lv1ft6nw6u сынок, а ты в курсе, на сколько снижается производительность при шифровке хотя бы на 256 бит, не говоря уже про 512? Не у всех же core i9 12900к.
Здраствуйте. Вы можете показать как правильно настроить, применить правила nftables в дистрибутиве: voidlinux Ранее работали, но теперь видимо что то voidlinux поменяли.
@t0digital
2 ай бұрын
Синтаксис самого nftables должен быть одинаковым везде вроде, едва ли они это меняли в дистрибутиве
@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
2 ай бұрын
@@t0digital разобрался
Алексей, нужно двигаться и меньше кушать. Трансформация в винни-пуха становится очевидной )
@mishuha
3 ай бұрын
А голос-то какой! Прям мимимишный.
Can you do a video and recommend us some books? thank's!
Привет! У меня такой вопрос, все вроде бы настроил по инструкции, проверил, работает. Но после перезагрузки доступ к ssh пропал( В чем может быть причина?
@t0digital
2 ай бұрын
возможно правила iptables не сохранились. Они по умолчанию не сохраняются на постоянку. sudo apt install iptables-persistent sudo service netfilter-persistent save
@Vova21rus
2 ай бұрын
@@t0digital Частично разобрался. Для восстановления ssh доступа пришлось отключать диск и лазить по файловой системе, удалять правило в iptables. В итоге выяснил, что тупо knockd не запускался "knockd[2460]: could not open eth0: eth0: That device is not up". Вот здесь теперь не понятно, почему это устройство отображается в ifconfig, и прописано в конфигах, но сервис knockd падает при старте
Нуждаюсь в вашем совете! Купил микротик лдф6 лте. При настройке и обновлении оборудования. Оператор узнает ли что симка не в смартфоне? Как быть , тариф для смартфона и экономный. Неохото потерять
@t0digital
3 ай бұрын
да, в общем случае оператор узнаёт. Чтобы не узнал надо проводить дополнительные настройки и не на всех устройствах их можно провести, не в курсе про микроток. Надёжным вариантом будет симка для модема с нормальным тарифом, такие есть.
@motortillers
3 ай бұрын
@@t0digital спасибо Вам за ответ! 🤝 Речь о MikroTik LDF LTE6 kit (RBLDFR&R11e-LTE6)
@t0digital
3 ай бұрын
нужная настройка это смена ttl, надо искать, есть ли такая возможность на этом устройстве, я не знаю
@motortillers
3 ай бұрын
@@t0digital спасибо Вам🤝
Сегодня практически нет необходимости открывать ssh-доступ через интернет. Для конфигурации есть другие способы, с помощью которых можно опять-таки открыть ssh, если очень понадобиться и потом его быстро закрыть.
Можно узнать, какой смысл создавать пользователя и выключать авторизацию на сервере для root, ведь если хакер получит доступ к юзеру, он же из под него так же сможет спокойно запускать команды с sudo, разве нет?
@ivanselyt
3 ай бұрын
а, тут еще добавляет сложность в том, что надо подобрать(угадать) имя пользователя для того, чтобы дальнейшие попытки перебора пароля и т.п. имели смысл?
@kalobyte
3 ай бұрын
@@ivanselyt подбирают пароль рута как дефолтного пользователя, потому что другие неизвестны бывают те, кто меняет конфиг ссх и разрешает вход для рута по сети на таких и рассчитаны переборы пароля
@ivanselyt
3 ай бұрын
@@kalobyte а нельзя убрать пароль у рута и сделать авторизацию под ним только с ssh ключом? А вообще как будто, если использовать port knocking, то он перекрывает все предыдущие защиты и смысл в них есть, только если каким то чудом смогут обойти port knocking
@kalobyte
3 ай бұрын
@@ivanselyt можно сделать вход под рутом с ключом без пароля стучалка по портам это просто дополнительная опция защиты и не только ссх например proxmox работает от рута и если пароль подберут через вебморду, то будет очень плохо поэтому можно так же закрыть порт 8006 и открывать его только по стуку
Недавно обнаружил, что у роутеров TP link активен ssh и об этом в официальной документации и мануалах ничего не сказано, и как ее выключить тоже не ясно. только на форуме нашел информацию что он активен для приложения Tether от TP-Link.
Было дело запретил я доступ по паролю и настроил доступ по ключам. Однако спустя пару дней обнаружил в логах брутфорс пароля. Попытался подключиться с паролем, SSH-сервер меня сразу посылает и даже в лог ничего не пишет. По всякому пытался, но не получилось повторить то, что делает чей-то бот. В итоге написал хитрый скрипт шифрованием в комбинации с нестандартными приёмами, открывающий порт для клиентского IP на время.
А можно разные SSH-ключи хранить на USB-флешке, чтобы эта "ключница" всегда была с собой и чтобы можно было ею пользоваться с разных компьютеров?
@t0digital
3 ай бұрын
Можно. Шифрованный том можно на флешке создать даже. На котором будут ключи
@andrejaga3003
3 ай бұрын
@@t0digital А не покажете, как это правильно сделать? Может, есть какие-то подводные камни? У меня в двух квартирах, на даче и на работе компьютеры, одна "ключница" сильно бы упростила жизнь. И можно вообще ключи копировать-перемещать в разные места? Нет там в зашифрованном ключе какой-нибудь привязки к конкретной машине, операционке и пр., которые зашифровываются при создании ключа?
@t0digital
3 ай бұрын
В ключе привязки к машине нет, копировать можно. Ключи стоит защитить паролем, чтобы в случае утечки ключей не потерять доступ к серверу. А по поводу криптоконтейнера вариантов много, в какой-то степени даже запароленный zip-архив с ключами тоже может играть такую роль:) Или можно воспользоваться VeraCrypt контейнером
Для дополнительных извращений можно honeypot поднять еще
У меня такая же кружка есть
fail2ban недостаточно?
еще надо fail2ban поставить, и настроить jail для sshd
Круто, знал, но не юзал, любопытная штука. Однако, довольно опасная с точки зрения вероятного падения данной службы, но на простых серверах личного назначения вполне себе. Обычно, в дополнение к смене дeфолтного порта, отключения root и входа по паролю включаю ufw/iptables и даю доступ по ssh на кастомном порту в режиме лимита. Сам факт того, что у нас нет доступа по паролю и используется контрольная фраза, обеспечивает должный уровень безопасности. Респектую Алексею за то, что поднимает фундаментальные вопросы, которые на практике многие игнорируют. пс: автору предлагаю не обращать внимание на клоунов, которые привыкли судить людей по внешнему виду, это неуверенные в себе и закомплексованные создания, жизнь их уже наказала.
надо для nftables... iptables чо-то не видно давно
Добрый день. Спасибо за видео! Чуть дополню здесь в правилах лучше использовать DROP а не Reject. Так как стучащийся не будет получать информацию есть ли за этим портом что-то или нет. В дополнение к защите.
@t0digital
2 ай бұрын
зависит от того как работают остальные порты. Если остальные ведут себя как DROP, то и наш надо на DROP, если остальные ведут себя как REJECT, то и наш на REJECT. Иначе он будет палиться отличным от других поведением
@user-uk8zu8fz7w
2 ай бұрын
@@t0digital Согласен. Тогда все лучше дропать. Зачем кому-то знать что его отвергли ) Еще раз спасибо!
Я правильно понял, что при каждом новом входе на сервер нужно простукивать порты? Удобно конечно bash скрипт для этого запускать, но это нарушит безопасность, если этот скрипт в виде файла хранить на ноуте.
@t0digital
3 ай бұрын
Каждый раз нужно простукивать, да
@kalobyte
3 ай бұрын
можеш написать скрип, который будет спрашивать порты
@mishuha
3 ай бұрын
Можешь сделать линк на скрипт коннекта на флешку и носить этот "токен" отдельно.
Чем больше что-то защищаем, оптимизируем и ускоряем тем круглее лицо)
не ну как бы первый!
@t0digital
3 ай бұрын
That's success!
Спасибо.
был случай, дали айпишник сервака одноко, команда ping таймаутила но зато команда ssh успешно работала. как так то?
@t0digital
3 ай бұрын
Ну вот в видео показано в конце, как сдавать так, чтобы сервер не пинговался, но впускал по ssh
@rosendo3219
3 ай бұрын
@@t0digitalаааа ну да точно! а теперь живо в спорт зал толстяк! :)
@t0digital
3 ай бұрын
@@rosendo3219 это миф, что зал для похцдения, похудение это питание, сон, спокойствие - ну и где-то там дальше в списке зал для ускорения метаболизма)