OpenSSH. Настройка SSH сервера и клиента в Linux. Часть 3.

Всем привет!

Мы продолжаем прокачивать скилы в настройке SSH. Если вы не читали предыдущие части, то рекомендую ознакомиться с ними здесь.

Сегодня мы рассмотрим еще некоторые параметры SSH сервера.

Banner

Начнем с небольшого фана. Мы можем задавать предупреждающий баннер, дополнив файл sshd_config следующей строкой:

Banner <your_file>

Он будет отображаться каждый раз, когда клиент будет соединяться с сервером. Например, давайте включим следующее приветственное сообщение:

WELCOME TO BENDER's NIGHT CLUB "0xEBEBEBEB 0xDD

%
@S
RSQ
@K@
#KQ7
RSQ@
@%GC(7Q/
#@K%C6QKCCC6@
(@%CC3%C3CC%CCCC6Q
GCCC%C3CC66CCCsCCC@
sQ3C6CCCC%CCC3CCCCC%C7
@6%CCCCCOC6CsCCC66O%s@
GsCCC36CC6CC6%%CC%CC%@
GC36C3s%CCCCsCC%C%C%CsG
sCCC666CCCCC6%CC%CCsRG%#7
C6%C63CRQGC3C77%7(t((t((7Q^
sC3CC@C((t((7QG#K#@@@@@@@@G7Q
S6CCO#(t((@%/%O@@@@@@O(//R@@sC
QsCC6st(%@        CG       @@s@
@OCCC%((%R/C@      RC      @@7@
@OO3s@(((@/       (R/      @#R(
@s3CCCQC(t%%GQRQQQ##QGCGC((7R
GGCCCsCCCG36SGQKSSSGsss
Gs6C6CCCCCCCCCCs6CC6CC3
/@CCC3Cs3GSQQQ#QRGQS@@Q
@3%C@@(@///%///((((
@CCOR/(@(O%O%%((((((
GCCs@%(@///%////(((C
CCCCG@(@%%CQ%%%%O(/#C
sC3C%CCGGQQ#QQGGG6CC#@
@((%@#3CC3%C3CC%CCCCsQC((Q7
#Qt((t((7%Q#R@QK@Q#QG37((t((7@
%3((t(((((((t((t((t((t(tt((t(t((t@
%7t((t((t((((tt((((((((t(tt(t((t(((#C

From now on I'm gonna bend what I want, when I want, who I want. I am unstoppable!
If anyone asks, I am your debugger, baby 0111010101

Добавим этот текст в файл /etc/ssh/ssh_banner

Screenshot from 2014-11-09 21:12:15

и пропишем в файле sshd_config следующее:

Banner /etc/ssh/ssh_banner

Screenshot from 2014-11-09 21:15:12

перезапустим сервер:

sudo /etc/init.d/ssh restart

Теперь пробуем соединиться

Screenshot from 2014-11-09 21:18:52

Screenshot from 2014-11-09 21:19:40

Уоуоу бендер, остынь, приятель. Я тебе ничего плохого не делал 🙂

DebianBanner

Добавим ещё один полезный параметр, который отсутствует в файле sshd_configDebianBanner. Этот параметр добавляет в строку ответа sshd информацию об операционной системе, при обращению к серверу по протоколу TELNET или при сканировании nmap. Эта строка может выглядеть так: SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1. Скроем информацию о нашей операционной системе.

DebianBanner no

Теперь строка ответа будет выглядеть так: SSH-2.0-OpenSSH_5.5p1

TCP Wrappers

TCP Wrapper является кросс-хостинговой сетевой системой ACL (листы контроля доступа), используемой для фильтрации доступа из сети в Интернет. OpenSSH поддерживает работу с TCP wrapper-ами. Для того, чтобы разрешить доступ через SSH только с адресов 192.168.1.2 172.16.23.12, просто измените ваш файл /etc/hosts.allow следующим образом:

sshd : 192.168.1.2 172.16.23.12

LogLevel

Читайте свои журналы с помощью logwatch или logcheck. Эти инструменты облегчат вам анализ ваших журналов. С их помощью журналы будут просматриваться периодически и будут создаваться отчеты о том, что Вы пожелаете, и с той детализацией, с которой Вы пожелаете. Удостоверьтесь, что в файле sshd_config для LogLevel указано INFO или DEBUG:

LogLevel INFO

Доступные значения QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. По умолчанию INFO. DEBUG и DEBUG1 эквивалентны. DEBUG2 и DEBUG3 указывают более высокие уровни отладочной информации. Аутентификация с DEBUG level нарушает конфиденциальность пользователей и не рекомендуется.

События, связанные с доступом по SSH записываются в журнал /var/log/auth.log

UsePAM

Параметр UsePAM оставляем без изменений. Если директива UsePAM включена, то запустить sshd можно будет только от имени root.

UsePAM yes

Ну, конечно, если нам это нужно 🙂

PrintMotd и PrintLastLog

Опция «PrintMotd» определяет должен ли ssh демон печатать содержимое файла «/etc/motd», когда пользователь входит на сервер. Файл «/etc/motd» также известен как «сообщение дня».

PrintMotd yes

Опция PrintLastLog очень полезна, так как она включает отображение информации о том, когда вы последний раз и с какого компьютера заходили на сервер.

PrintLastLog yes

ChallengeResponseAuthentication

Указывает, включена ли аутентификация на основе запроса-ответа.

ChallengeResponseAuthentication yes

Т.к. аутентификация запросов-ответов обычно выполняет ту же роль, что и парольная аутентификация, следует отключить, либо PasswordAuthentication, либо ChallengeResponseAuthentication.

 Chroot

Начиная с релиза 4.9 в OpenSSH появилась возможность помещать отдельных пользователей в изолированное окружение.
Помещение в chroot управляется через директиву ChrootDirectory, задаваемую в конфигурационном файле sshd_config.

Пример помещения в chroot:

AllowUsers user1 user2 user3@192.168.1.1 user3@192.168.2.*
   Match user user2 user3
   ChrootDirectory /home/%u
   X11Forwarding no
   AllowTcpForwarding no
   ForceCommand internal-sftp
Subsystem       sftp    internal-sftp

Пользователь user1 имеет возможность входа в shell, в то время как user2 и user3 могут работать только по sftp,
без возможности выхода за пределы своей домашней директории.
При этом user3 может входить только с машины 192.168.1.1 и подсети 192.168.2.0/24.

Опция «ForceCommand internal-sftp» разрешает пользователю использовать только sftp, встроенный в sshd.

Настройку SFTP мы разберем в в следующем туториале.

На этом пока все! Эти и многие другие опции можно посмотреть здесь.

Всем удачи!

OpenSSH. Настройка SSH сервера и клиента в Linux. Часть 3.: Один комментарий

  1. Дмитрий:

    Доброго времени суток! Большое спасибо за статью. Все доступно, локанично и с примерами — это не может не радовать.
    Интересует вариант доступа к серверу из внешней сети. Особенно, когда сервер находится за NAT. Например доступ к домашнему ноутбуку, который находится в сети через роутер. Если будет такая же годная понятная статья, как все прошлые, то это будет просто великолепно.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s