Pull to refresh

Comments 35

Ой зря вы реальный токен бота оставили и в картинках, и в текстах...

Ой! Да уже всем без разницы. К чему утруждать полицию.. Месье комиссар одобряет

Что такое "пароль на ssh", если календарь показывает 2024-й год уже?

Это такой секрет доступа, который человек способен запомнить (а не хранить на каком-либо носителе).

UFO landed and left these words here

Когда делается выбор между способами аутентификации, нужно не общеизвестные мантры повторять, а здраво оценивать потребности и риски в конкретном случае.

Это такая штука, которая нужна, когда умирает единственный носитель ключа… Хотя здесь скорее пароль VNC

Судя по отчёту fail2ban за последние сутки, на мой сервер с логином ломились 1734 раза.

Авторизация по логину отключена.

Это мне надо будет 1734 раза нажать кнопку "Запретить"? Работать то когда?

Подобные способы реализации двухфакторной авторизации — это отстрел лица. Насквозь. Пуля почувствуется в момент когда телега решит прилечь.

Чем SSH-ключи не угодили?

У одного «стартапа» как-то прилегла авторизация из-за того, что сервис не смог отправить оповещение в слак о новом логине. Сделать асинхронный запрос — «зачем чинить то, что не сломалось?». Тестов у них, емнип, на момент моего общения с их представителем, тоже не было.

Возможно я не прав... но:
0. ssh и пароль в 2024 году нужно считать "днем открытых дверей".
1. По моим наблюдениям, с какого устройства подключаются на ssh, на нем же и TG запущен. Для удобства. Хотя бы в браузере. Контроль над TG будет получен одновременно с ключами.
2. Если TG ляжет (по любой причине), то контроль по ssh будет потерян.

ssh и пароль в 2024 году нужно считать "днем открытых дверей".

Только SSH или любой парольный доступ к любым сервисам?

Так вроде как пароль в 24 символа надо подбирать много тысяч лет. У меня есть штук 5 тестовых серверов где о ужас доступ по ssh у рута по паролю и стоит нотификация о подключении в телегу. За 4 года я не видел неавторизованных доступов. Как такое может быть?

Ошибка выжившего? :)

А вообще я везде по ключам хожу только и порты открываю себе Port Knock-ом.

А можете указать на хороший гайд где описывается настройка уведомлений о подключениях через телегу?

Вы можете заменить содержимоеtelegram_auth.py из статьи на это, будут просто уведомления о логине по ssh и sftp.

Скрытый текст
#!/usr/bin/env python3

import requests
import sys
import os

# Укажите ваш токен бота и chat_id
TELEGRAM_BOT_TOKEN = "SET"
CHAT_ID = "SET"

# Получение информации о пользователе
def get_ssh_info():
    user = os.getenv('PAM_USER', 'Unknown')
    rhost = os.getenv('PAM_RHOST', 'Unknown')
    service = os.getenv('PAM_SERVICE', 'Unknown')
    tty = os.getenv('PAM_TTY', 'Unknown')
    
    return user, rhost, service, tty

# Функция отправки сообщения в Telegram
def send_telegram_message(message):
    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
    payload = {
        "chat_id": CHAT_ID,
        "text": message,
    }
    
    try:
        response = requests.post(url, json=payload)
        response.raise_for_status()
    except requests.exceptions.RequestException as e:
        print(f"Failed to send message: {e}")
        sys.exit(1)

# Основная логика выполнения
if __name__ == "__main__":
    user, rhost, service, tty = get_ssh_info()
    message = f"🔔 SSH Login Alert 🔔\nUser: {user}\nRemote Host: {rhost}\nService: {service}\nTTY: {tty}"
    send_telegram_message(message)

  1. Отключайте ssh доступ у рута, а стучитесь через обычного пользователя и потом используйте su - или sudo. Если у вас утечёт только пароль/ключ, то для получения доступа злоумышленнику придётся ещё и имя пользовательской учётки угадывать, а у вас будет время сменить скомпрометированные учётные данные. Не ахти что, но хоть что-то.

  2. Используйте ключи вместо паролей для доступа через ssh

  3. Второй фактор (не только в ssh, а вообще) через телегу/смс/электронную почту/другой сервис живёт до тех пор, пока этот сервис вам предоставляет услуги. Телега забанила ваш бот по желанию левой пятки, телефон отключен за неуплату (забыли/уехали/оператор прилёг), ваш почтовый ящик попал спам-лист и приехали. TOTP гораздо надёжней и секурней. Да, всяким бабушкам проще через смс OTP получать, но мы тут обсуждаем продвинутые вещи, вроде ssh.

  4. Учимся пользоваться fail2ban или похожими инструментами

Советы очень классные, может быть у вас есть пример конфигурации для тераформа?)

Второй фактор (не только в ssh, а вообще) через телегу/смс/электронную почту/другой сервис живёт до тех пор, пока этот сервис вам предоставляет услуги.

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

COTP плох тем, что теоретически его можно перехватить. И потом, подключать всякие сервисы, боты для отправки, которые потом меняют апи - не ахти как удобно. А при TOTP никуда ничего отправлять не надо. Один раз настроил и всё.

Можете привести если не пример, то хотя бы теоретический сценарий перехвата сообщения в сети Jami? При этом двухфакторная авторизация совершенно не исключает все перечисленные выше методы. Она дополняет их.

Огромное спасибо за рекомендацию Jami, очень годная и интересная штука оказалась)

Пожалуйста. Но Jami не идеален. Например, на плохих каналах он заметно уступает тому же WhatsApp по качеству видео. А вот его способность эффективно использовать DHT для соединения с корреспондентом, действительно много стоит. Так что желаю всего наилучшего этому проекту и быстрого развития.

Хорошая реализация, а сколько было уже тревожных логинов? Я весной после дорогостоящего взлома инфраструктуры, также сделал 2FA через Тележку, но только для запуска bash через sudo - все остальное недоступно теперь в принципе. В итоге, в случае проблем с ботом у меня остается возможность использовать su с паролем. А в бот приходит pin код требуемый для запуска оболочки

Ну пока 0 😁

Запрос приходит только при вводе корректной связки логина/пароля.

(с ключами пока не добрался потестить)

Такой вид *бутки администратора* сойдёт как для галочки, но всёже надо креативнее и надёжнее, ну или просто надёжно :)

Имхо, лучше otp/totp для 2fa использовать, благо носителей уже вагон и маленькая тележка.

И для любого варианта прокатит (pass / key / key+pass) + otp

UFO landed and left these words here
Sign up to leave a comment.

Articles