В то время как да, это заняло бы время для обновления, И в том же поместье, это заняло бы время, чтобы восстановить, если бы что-то пошло не так, как надо, Каким количеством боли/страдания это было бы, если бы данные по той системе были удалены посредством использования / взлом?
По большей части обновления из репозиториев основы CentOS безопасно установить, единственное время, у меня были проблемы обновления с CentOS, - когда я запускаю / или должен был использовать внешний репозиторий (DAG, RPMForge, ect Ect..)
Лучшая Установка для такого рода вещи должна иметь заменяемый в горячем режиме готовый сервер, таким образом, можно протестировать обновления на нем прежде, чем развернуть их на живом сервере.
То, что я сделал бы, должно установить /etc/sshd/sshd_config
таким образом, что:
PermitRootLogin without-password
только для дополнительной безопасности и постараться не блокировать пароль root (это только позволило бы корню входить в систему с помощью ключа),
Я вместо этого использовал бы AllowGroups
вместо AllowUser
, что касается меня было бы более удобно добавить пользователей к группе, а не к sshd_config
но это могло зависеть от Ваших персональных предпочтений.
Настроенный ssh следующим образом:
nano /etc/ssh/sshd_config
AllowUsers username1 username2 username3
Перезапуск SSH
Затем предоставьте ключи тем, которые требуется избегать использования паролей.
ssh-keygen используется для генерации той пары ключей для Вас. Вот сессия, где Ваша собственная персональная частная/с открытым ключом пара создается:
#ssh-keygen -t rsa
Команда ssh-keygen-t rsa инициировала создание пары ключей.
Я не ввел пароль для своей установки (клавиша Enter была нажата вместо этого).
Закрытый ключ был сохранен в .ssh/id_rsa. Этот файл только для чтения и только для Вас. Никто больше не должен видеть содержание того файла, поскольку это используется для дешифрования всей корреспонденции, зашифрованной с открытым ключом.
Открытый ключ является сохранением в .ssh/id_rsa.pub.
Его содержание затем копируется в файле .ssh/authorized_keys системы, к которой Вы желаете к SSH, не будучи предложенным пароль.
#scp id_rsa.pub remote system:~/.ssh/authorized_keys
Наконец заблокируйте учетную запись (Ключевая аутентификация все еще будет возможна.)
# passwd -l username1
Я думаю, что Вы хотите, "Пользователь Соответствия". Вы используете его для соответствия имени пользователя, затем располагаете ряд с отступом настроек конфигурации, которые применяются конкретно к тому пользователю.
Match User Joe
PasswordAuthentication no
Match User Jane
PasswordAuthentication yes
Я использую это для установки chroot доступа только для SFTP иногда для клиентов.
Все вышеперечисленное прекрасно и работает, и, если позволите, немного подвяжу. Я использую стандартный sshd_config
для большого количества серверов и разновидностей, что делает настройку преднамеренным мыслительным процессом, и это то, что я использую.
Мой вариант использования:
Во-первых, я в основном использую Allow_Groups
, так проще управлять несколькими ящиками с множеством разных пользователей. Для пользователей, общих для всех ящиков (например, автоматизация или мониторинг), allow_Users
также хорошо работает, но я все же предпочитаю использовать группы.
Теперь перейдем к фактическим конфигурациям /etc/ssh/sshd_config
:
Во-первых, доступ SSH только к определенной группе (или пользователям):
AllowGroups sshusr
По сути, это означает, что пользователи должны быть член группы sshusr
, чтобы иметь возможность использовать SSH. Чтобы пользователи приложений не могли получить доступ по ssh, просто убедитесь, что они не являются членами группы sshusr
.ПРИМЕЧАНИЕ. Сюда входит root, поэтому вам нужно добавить root
в группу sshusr
!
Для корневого доступа используйте только ключ:
PermitRootLogin without-password
Для ограничения групп на использование аутентификации только с ключом:
Match Group ansible,monitor
PasswordAuthentication no
По умолчанию я отключаю такие вещи, как переадресация портов
и переадресация X11
и т. д., но для определенных групп вы можете включить его и разрешить аутентификацию по паролю (обычно вкл
по умолчанию, но для безопасных сред вы можете отключить выкл
для создания ключей по умолчанию)
Match Group sysadmin,dbadmin
PasswordAuthentication yes
AllowTcpForwarding yes
PermitTunnel yes
X11Forwarding yes
Тогда у вас есть особые случаи, такие как sftp
только пользователи:
Match Group sftp
ForceCommand internal-sftp
PermitTTY no
MaxSessions 5
Теперь для ограничения ключей, чтобы разрешить доступ только с определенных IP-адресов. Это работает и для полных доменных имен, но я не использовал его здесь. В файле ~/.ssh/authorized_keys
добавьте ограничение from=
к применимому ключу(ам)
from="10.1.1.1,10.2.2.2,10.3.3.0/24" ssh-rsa AAAAB3NTheRestOfMyKeyxyz
. Это позволит использовать ключ только с этих конкретных IP-адресов.
Надеюсь, это поможет вам и, возможно, многим другим.