Първоначална конфигурация, необходима при инсталирането на 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

Ако тя не е "Disabled", можете да я промените, като използвате следната процедура.

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


config【Преди промяната】


SELINUX=enforcing


config【след промяната】


SELINUX=disabled

"SELINUX" и "SELINUXTYPE", но именно "SELINUX" трябва да се промени. Имайте предвид, че ако промените "SELINUXTYPE" по погрешка, сървърът няма да се стартира.

Рестартирайте сървъра и конфигурацията ще влезе в сила.

1-4. допълнителен оперативен потребител

Влизането и работата като потребител root е опасно, затова добавете потребител, който да влиза в системата. В следваща стъпка деактивирайте влизането на потребителя root.

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

По-долу са описани стъпките за добавяне на потребители.

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

※xxxxxxxx е името на потребителя, който ще бъде добавен. Задайте всякаква парола.

1-5. Промяна на паролата на потребителя root

Ако не сте потребител root, преминете към него със su - и изпълнете следната команда

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

※Задайте всякаква парола.

Никога не се отказвайте от първоначалната парола. Паролата "root" е най-лошата. Паролите "password" и "1234" също са доста опасни. Добре е да има минимум осем цифри, включително буквено-цифрови символи.

Тази настройка на паролата е доста важна за мерките за сигурност и трябва да се задава с най-голямо внимание. Промяната на паролата на главния потребител е доста елементарна, но имайте предвид, че сме чували много истории за инциденти със сигурността, причинени от това. Не предполагайте, че никой няма да атакува сървъра ви, защото е с малък размер. Нападателят получава достъп до произволен сървър с потребителско име "root" и парола "root".

1-6. Конфигурация за забрана на влизането в системата от неработещи потребители (забранява влизането в системата от потребител 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 активиран) е yes (да) и 'NTP synchronized' (NTP синхронизиран) е yes (да).


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 в local. (Отидете например на WinSCP).

След преместване изпълнете командата за изтриване.

[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, така че ако след прочитането на тази статия смятате, че има недостатъци, опитайте да ги настроите.

Благодарим ви, че гледахте до края.