Начальная конфигурация, необходимая при установке CentOS.


Дата публикации:8 декабря 2020 года.



INFOMARTION > Начальная конфигурация, необходимая при установке CentOS.

Обзор.

В этом разделе описаны первые необходимые настройки после установки CentOS. Он построен с использованием CentOS 7.6 (1810).

Оглавление

  1. базовая настройка
  2. резюме

1. базовая настройка

В этом разделе описаны основные настройки, необходимые сразу после установки CentOS.

1-1. Проверка операционной системы

Во-первых, убедитесь, что у вас установлена правильная операционная система.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

'CentOS Linux release 7.6.1810 (Core)' - это установленная операционная система. Убедитесь, что он правильный.

1-2. Установка инструмента

Сразу после установки основные команды, такие как ifconfig, не могут быть выполнены. Поэтому установка выполняется таким образом, чтобы основные сетевые и другие команды могли быть выполнены командами yum.

Пожалуйста, выполните это при необходимости, поскольку можно обновить то, что уже установлено, с помощью 'yum -y update'.

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools・・・Команда ifconifg и другие могут быть использованы после установки.

wget・・・Буквально, но можно использовать команду wget. Вкратце, эта команда отправляет http-запрос.

tcpdump・・・Буквально, но можно использовать команду tcpdump. Вкратце, он может отслеживать запросы, отправляемые на сервер.

traceroute・・・Буквально, но можно использовать команду traceroute. Вкратце, он показывает маршрут IP-адресата назначения.

1-3. Отключение selinux

Отключите selinux, так как он включен и может повести себя неожиданно.

Начнем с того, что selinux - это настройка, связанная с безопасностью. Если вы в состоянии использовать его, вы можете включить его, но если это сложно, отключите его. Отключение selinux не обязательно сделает безопасность уязвимой.Вероятность возникновения проблем выше, если он включен, хотя лично я не очень хорошо его понимаю. Простое объяснение заключается в том, что selinux - это мера безопасности после взлома сервера (настроенная для минимизации ущерба в случае взлома), поэтому гораздо важнее принять меры безопасности для предотвращения взлома сервера.

Ниже приведены шаги по деактивации.

[username@hostname ~]$ getenforce
Disabled

Если он не "Отключен", его можно изменить с помощью следующей процедуры.

[username@hostname ~]$ vi /etc/selinux/config


config【До изменений】


SELINUX=enforcing


config【после изменения】


SELINUX=disabled

'SELINUX' и 'SELINUXTYPE', но именно 'SELINUX' необходимо изменить. Обратите внимание, что если вы измените "SELINUXTYPE" по ошибке, сервер не запустится.

Перезапустите сервер, и конфигурация вступит в силу.

1-4. дополнительный оперативный пользователь

Вход в систему и работа от имени пользователя root опасны, поэтому добавьте пользователя для входа в систему. На следующем этапе отключите вход пользователя root.

Риск работы в качестве пользователя root, вошедшего в систему, заключается в том, что вы можете делать все, что захотите. Риск того, что вы можете делать все, что угодно, заключается в том, что вы можете случайно изменить или удалить важные изменения, связанные с операционной системой. Если вы используете сервер для личного пользования, например, для хобби или учебы, и не совершаете таких обычных ошибок, я лично не вижу никакой проблемы в том, чтобы войти в систему как пользователь root. Причина номер один, по которой не разрешается вход в систему пользователю root, - разделение полномочий. Команда разработчиков приложений использует для разработки приложений пользователей, которые касаются только каталога. Команда пакетной разработки использует пользователей, которые касаются только каталога пакетной разработки. Лучше разделить пользователей, чтобы необходимые команды могли касаться нужных директорий, таких как

Ниже описаны шаги по добавлению пользователей.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

※xxxxxxxx - имя добавляемого пользователя. Установите любой пароль.

1-5. Изменение пароля пользователя root

Если вы не являетесь пользователем root, переключитесь на пользователя root с помощью команды su - и выполните следующую команду

[username@hostname ~]$ su -
[root@hostname ~]# passwd

※Установите любой пароль.

Никогда не выходите из начального пароля. Пароль 'root' - самый худший. Пароли "password" и "1234" также довольно опасны. Минимум восемь цифр, включая буквенно-цифровые символы.

Эта настройка пароля очень важна для обеспечения безопасности и должна быть установлена с особой тщательностью. Изменение пароля пользователя root является довольно простым, но имейте в виду, что мы слышали много историй об инцидентах безопасности, вызванных этим. Не думайте, что никто не будет атаковать ваш сервер, потому что он небольшой по размеру. Атакующий получает доступ к произвольному серверу с именем пользователя 'root' и паролем 'root'.

1-6. Конфигурация для запрета входа нерабочих пользователей (запрещает вход пользователя root и других пользователей).

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

Ниже описаны шаги по отключению входа пользователя root и добавлению пользователей, которые могут войти в систему. Переключитесь на пользователя root, а затем измените файл конфигурации. (Можно переключиться на пользователя root с помощью 'su-', но не иметь возможности войти в систему).

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【До изменений】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【после изменения】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

※xxxxxxxx - это имя операционного пользователя, которое вы только что добавили.


Здесь следует отметить, что если имя AllowUsers указано неверно, никто не сможет войти в систему, поэтому тщательно проверяйте имена пользователей.

Проверьте синтаксис и перезапустите sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

После того, как вы вышли из системы и подтвердили, что вы не можете войти в систему как root и что вы можете войти в систему как добавленный операционный пользователь, вы закончили.


1-7. синхронизация времени

Убедитесь, что время синхронизировано. Иногда время на сервере не синхронизируется, поэтому дата и время вывода журнала выводится в другое время, чем ожидалось, и анализ проблемы занимает много времени.

Проверьте запуск процесса синхронизации времени (chronyd). Проверьте состояние синхронизации времени. Обратите внимание, что в CentOS7 используется 'chronyd', а в более ранних версиях - 'ntpd', поэтому будьте осторожны, если вы используете 6 или более раннюю версию.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: день (месяца) 2020-11-29 16:30:43 JST
  Universal time: день (месяца) 2020-11-29 07:30:43 UTC
        RTC time: день (месяца) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Все в порядке, если 'Local time' совпадает с текущим временем, 'NTP enabled' - да и 'NTP synchronized' - да.


1-8. Настройки аутентификации ключей

Для операционных пользователей, которых вы только что добавили, разрешите им входить в систему только с помощью аутентификации по ключу.

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

Ниже описана процедура настройки аутентификации ключей.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

※xxxxxxxx - имя дополнительного операционного пользователя.

※После выполнения команды "ssh-keygen -t rsa -b 2048", вам будет предложено ответить, все значения по умолчанию и нажать "Enter". Устанавливается также без пароля. (Ввод пароля обеспечивает дополнительную безопасность, как аутентификация по ключу плюс аутентификация по паролю, но в данном случае пароль не предполагается).


Затем проверьте, что ключ был создан.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

※xxxxxxxx - имя дополнительного операционного пользователя.

Убедитесь, что закрытый ключ "id_rsa" открытый ключ "id_rsa.pub" сохранен.

Переименуйте открытый ключ и переместите каталог для загрузки закрытого ключа.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

※xxxxxxxx - имя дополнительного операционного пользователя.

Удалите закрытый ключ (id_rsa) с сервера после его локального перемещения.

Переместите /home/xxxxxxxx/id_rsa в локальный. (Перейдите, например, к WinSCP).

После перемещения выполните команду delete.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

※xxxxxxxx - имя пользователя, добавленное в шаге (3).

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

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

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【До изменений】


PasswordAuthentication yes


sshd_config【после изменения】


PasswordAuthentication no

Проверьте синтаксис и перезапустите sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

На этом настройка аутентификации ключа завершена.


2. резюме

Мы описали начальную конфигурацию, необходимую при установке CentOS.

Информация в этой статье - это минимум, который должен быть реализован при установке CentOS, поэтому если после прочтения статьи вы почувствуете, что есть недостатки, пожалуйста, попробуйте их установить.

Спасибо, что досмотрели до конца.