0

Настройка sshd

В качестве примера рассмотрен конфиг от freebsd. От linux может незначиткльно отличаться. Конфигурационный файл находиться в директории /etc/ssh: # ee /etc/ssh/sshd_config

Сам конфиг:

# Номер порта, который слушает SSH демон.
# Для большей безопасности, стандартный 22 порт можно сменить на любой другой.
Port 22

# Версия протокола
Protocol 2

# Тип адресного пространства, который используется SSH сервером.
# inet - ipv4, inet6-ipv6, any - любой.
# Оставлю четвертую версию IP протокола. Что-то мне подсказывает,
# что не скоро дома я буду использовать шестую версию IP.
AddressFamily inet

# Сетевой адрес, который будет слушать SSH демон.
# Указываю свой внутренний IP адрес, таким образом, SSH демон
# будет принимать соединения только из моей локальной сети.
ListenAddress 192.168.100.1

# Ключи я пока использовать не буду, по той причине,
# что для доступа из внутренней сети они мне не нужны,
# а снаружи доступа пока у меня нет.
# Но учту на будущее, что они у меня уже есть.
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Задаю куда писать лог авторизаций и его уровень информативности.
# AUTH значит, что лог пишется в /var/log/auth.log.
# Остальные варианты можно посмотреть в man sshd_config
# Варианты детализации лога: QUIET, FATAL, ERROR, INFO, VERBOSE.
# DEBUG - не рекомендован к использованию по причине того,
# что компрометирует безопасность.
# Похоже, он для отладки =)
SyslogFacility AUTH
LogLevel INFO

# Закрывает сеанс связи через минуту как кто-то подключился,
# но не прошел авторизацию..
# Если у меня будет суперсверхсложныйиневожможный пароль,
# то, возможно этого времени не хватит
LoginGraceTime 1m

# Под rootом подключаться запрещаем. Без вариантов.
PermitRootLogin no

# Нужно проверить права доступа к файлам (chmod) и их принадлежность (chown)
# и домашнюю директорию пользователя, прежде чем разрешить вход.
# Служит для того, чтобы пользователь не дал на домашний каталог доступ на запись всем.
StrictModes yes

# Число попыток залогиниться
# Тут все просто, три раза не получилось, "пшел вон!" =)
MaxAuthTries 3

# Максимальное количество одновременно открытых сессий.
# Мне четырех с лихвой хватит.
MaxSessions 4

# RSA метод аутификации пока не использую.
# Все по той же причине, что в моей домашней сети она не нужна
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

# Оставлю пока только аутификацию по паролю,
# причем, как я понимаю, в данном случае пароль передается не открытым текстом.
# Пустой пароль запрещен.
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication yes

Остальные опции приводить не буду, можно понять что к чему, прочитав мануал. А данной настройки для текущих работ мне вполне хватит. Перед тем, как отходить далеко от сервера, обязательно заведу нового пользователя системы (по ssh под root зайти будет невозможно):
# adduser
Username: user
Login group [user]: wheel
Shell (sh csh tcsh nologin) [sh]:

Такие вот ключевые моменты.

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.