Psychopol

+25 740
с 2018
174 подписчика
61 подписка
Resident Evil 9 отчёт CAPCOM
Resident Evil 9 отчёт CAPCOM
Отключаем прямой доступ к терминалу на арендованном сервере
Навряд ли кто-то из читателей хотя бы раз в жизни не арендовал виртуальный выделенный сервер (VPS). Это просто и весьма дёшево: для личного блога, игрового сервера, учебных целей и так далее. Случается, что на подобном сервере нужно хранить чувствительную информацию: криптографические ключи, личную и корпоративную переписку и тому подобное. В этой статье рассмотрим отключение прямого доступа к эмулятору терминала, что позволит подключаться к серверу исключительно через ssh, а всем недобросовестным хостерам увидеть милую кошечку с радугой вместо строки приветствия. Пример будет разобран на операционной системе Debian, использующей systemd. Главная задача заключается в отключении служб, отвечающих за инициализацию терминала: systemd-logind и getty. Первым всегда инициализируется терминал tty1. Отключаем его командой: systemctl disable getty@tty1. Оперировать остальными терминалами позволяет утилита getty-static. Также отключаем ее: systemctl disable getty-static. Перезапустив сервер, в веб-терминале VNC вместо строки приглашения с просьбой ввести логин, увидим чёрный экран. Однако, при нажатии Ctrl+Alt+F2 мы попадем во второй терминал, так как активна служба systemd-logind, которая обрабатывает манипуляции с терминалами. Блокируем ее, изменяя конфигурационный файл /etc/systemd/logind.conf: [Login] NAutoVTs=0 ReserveVT=0 Теперь подключиться к серверу возможно только через ssh, прямой доступ не работает. Святое место пусто не бывает, поэтому черноту, которая заменила терминал, заменим на жизнерадостную заставку с Nyan cat. Устанавливаем: apt-get install nyancat. Затем создаем файл сервиса: nano /etc/systemd/system/nyancat-tty.service [Unit] Description=nyancat on tty1 After=graphical.target [Service] Type=simple ExecStartPre=/bin/sleep 5 ExecStart=/usr/bin/nyancat -snI ExecStop=/bin/kill -HUP ${MAINPID} StandardInput=tty StandardOutput=tty TTYPath=/dev/tty1 Restart=always RestartSec=2 [Install] WantedBy=graphical.target И наконец включаем нашу службу красочной замены терминала: systemctl enable nyancat-tty.service Теперь все попытки физического подключения к терминалу операционной системы будут выдавать милую заставку. Так как прямого доступа к управлению системой нет, к настройкам сети и ssh следует проявлять особое внимание.
3