Анонимность / Безопасность
April 11, 2023

Путь к олимпу Безопасности.

Бонсуар Господа 🍷

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

Начнем с того, что такое SSH вообще ? Такс, стоп! Тебя че в гугле заблокировали ?) После того как ознакомились с ним. У нас появиться какой-то представление о нем. Мне лень обьяснить, что такое SSH. Гугл в помощь. Кстати, если ты до этого работал с ними, можешь чуток пролистать. Но все же рекомендую читать досконально. Дальше идем генерировать их.

$ ssh-keygen

Можно генерировать ключи спокойной так, но мы можешь ещё более продвинутые варианты посмотреть. Например заменить заменить стандартный RSA алгоритм, на ed25519. Многие его рекомендуют. (Можно ниче не менять и нажать Enter.)

$ ssh-keygen -t ed25519

Как ты знаешь (или узнал). Все наши публичные и приватные ключи хранятся в директории ~/.ssh/id_rsa.pub —> Идем дальше и я покажу, как я сам генерирую ключи и ими пользуюсь.

$ ssh-keygen -a 32 -t rsa -b 4098 -C "libre" -- я так генерирую.

После генерации пойдем пополнять кошельки. Желательно приобрести сервер через анонимные криптовалюты. На выбор... --> Monero, ZCash, Dash. Рекомендую прочитать мою статью про анонимность. (часть вторая.) —> Там я составил список анонимных хостинг провайдеров и конечно полезные другие материалы. Я буду показывать на примере 1984.hosting

5 $ КАРЛ!

Регистрируемся и выберем самый дешевый тариф. Его с головой хватить под нашу задачку.

Примерно так...

Короче я хотел изначально поставить Devuan на сервере, но у меня возникли проблемы. Написал в Feedback. Мне ответили спустя 2 дня. Ну конечно я уже первый день успел поставить Debian 11 и поднял Wireguard. Честно лень было снести все и попробовать ставить Девуан + собрать все с нуля. Пусть остается на Дебиан 11. Он ставиться за пару минут, через авто установку. Прям шикарно без напряжение. Идем дальше...

Панель управление...

Раздел Hostname нам не пригодиться, поставим надежный пароль для Рута. Укажем наш SSH генерированный публичный ключ. Мы дальше отключим вход через пароль и повысим защиту нашего сервера. (Вход через пароль = про*б*ть свой сервер.) После установки подключимся --> ssh root@айпи сервера | Мы указали наши публичные ключи и от нас не спрашивает пароля. Мы уже на месте... Первым делом нам нужно обновить систему. Cоздать пользователя и дать ему привилегии. Делается это все за пару команд.

apt update && apt upgrade -y --> Мы обновляем пакеты.

apt install neofetch htop sudo -y --> Ставим парочка пакетов. Они нам дальше пригодиться.

adduser username --> Добавим пользователя.
 
passwd username --> Укажем пароль.

usermod -aG sudo username --> Добавим только что созданного пользователя в группу sudo. 

Выйдем из рута и осуществим вход на только, что созданный юзер.

Теперь нам нужно срочно запретить вход через пароль и ещё парочка вещей подредактировать. Путь --> sudo nano /etc/ssh/sshd_config

3220 это не мой порт. Я его просто поставил рандомно.

Нам сначала нужно изменить стандартный 22 порт. Об этом знают все админы и хакеры в том числе. По этому меняем его первым делом. Потом спустимся чуток вниз и найдем строку: "PasswordAuthentication" — ставим значение "no"

Вот так...

Идем дальше. Нам нужно запретить подключаться к серверу Root пользователю через SSH. Мы себе создали юзера и считаю нужно отключиться Рута, для повышение безопасности. Ещё забыл сказать, никогда не ставьте одинаковые пароли. Это очень глупо. Да мы запретили вход по паролю, но только дурак поставить одинаковые пароли. Это все для повышение безопасности. Такс найдем строчку: "PermitRootLogin" и поставим "no" — Так мы отключили вход через SSH на учетный запись Root.

Надеюсь все у вас хорошо зрением...

Наша последняя поправочка в конфиге. Спустимся в конец конфига. Пропишем там: "AllowUsers username" --> у меня это "Alderson", а вы можете свой добавить. Вот так это выглядит...

Почти все...

Сохраняем конфиг --> Сtrl + O, Enter | Выйдем из конфига --> Сtrl + X | Нам нужно теперь перезагрузить сервис или можно перезагрузить сам сервер: sudo reboot

Теперь не торопимся и создаем удобный конфиг для подключение через SSH. (На компьютер клиента, а не на сервере.) Да бы не вводить айпи сервера каждый раз. Создать конфиг не сложно. Делается это так...

nano ~/.ssh/config --> Cоздаем файл. Копируем и ставим там то что внизу. 

Host <Все что захочем, a я поставлю "qwe">
    User <Свой юзер, У меня это "alderson">
    port <SSH порт. Не знаю что вы там, что поставили у себя.>
    HostName <Айпи сервера>
    MACs hmac-sha2-512
    KexAlgorithms curve25519-sha256@libssh.org 
    VisualHostKey no
    IdentityFile ~/.ssh/id_rsa
    
После того как мы указали нужные нам параметры. Сохраним конфиг и выйдем из него.

Вводим терминале ssh <ваш указанный hostname в конфиге>

unix/porn <3

Если у вас все прекрасно работает. Можем чуток добавить краски на черно-белый терминал. Ради эстетики. Первым делом идем удалить содержимое файла --> sudo nano /etc/motd | удалим от туда все и сохраним. Вот так это выглядит...

Пустота

Дальше нам нужно переименовать hostname —> sudo nano /etc/hosts У меня это "debian", а вы можете свой вариант указать.

uwu Debian <3

Теперь идем редактировать конфиг neofetch: —> nano ~/.config/neofetch/config.conf | Тут нужно вам выбрать себе готовый конфиг из гитхаба. Скопировать и заменить файле. Ссылка на конфиги...

ням-ням :3

Мм почти все. Создаем файл в домашний директории --> nano rose.ascii | скопируем любой ascii рисунок из интернета. Мой любимый...

    _,--._.-,
   /\_/-,\_ )
.-.) _;='_/ (.;
 \ \'     \/\ )
  \.'-. _.'|-'
 <_`-'\'_.'/
   `'-._( \
    ___   \\,      ___
    \ .'-. \\   .-'_. /
     '._' '.\\/.-'_.'
        '--``\('--'
              \\
              `\\,
                \|
                
                

Сохраним его в конфиге. Теперь нам добавить строчку в файле bashrc --> sudo nano ~/.bashrc Добавим туда под конец --> neofetch --ascii /home/alderson/rose.ascii Сохраним конфиг и выйдем.

Выглядит это так...

Выйдем из сервера --> sudo exit | Обратно подключимся и радуемся результатом.

красота...

I am yor sempai...

Итоги...

Сегодня мы ознакомились с очень полезным материалом. Если у вас возникает какие-то проблемы. Можешь написать мне. Некст статья будет про Wireguard или Fail2Ban. А сегодняшняя был разогревочкой перед схваткой с ними. Материал не был сложным и надеюсь у всех получиться повторить его. Если что-то пошло не так, ты знаешь где меня найти. На сегодня достаточно. Стоит запомнить:

Безопасность — это лишь тоненькая яблочная кожура над раскаленным хаосом.

Murasakibara Sempai... :3

С вами был Томми, подпишитесь на блог, до встречи Господа. 🍷 Я пошел смотреть аниме и кушать чипсы, хех. А ты про телеграмм не забудь.

Телеграмм блог.