6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка centos 7 после установки

Настройка сервера CentOS 7 после установки

CentOS – это свободный дистрибутив, основанный на исходном коде Red Hat Enterprise Linux, фактически, он создается с этих исходников практически без изменений, разработчики только вырезают весь брендинг Red Hat. Но в отличие от Red Hat, CentOS полностью бесплатна и получает регулярные обновления, спустя немного времени после выхода их для Red Hat поскольку они тоже собираются из исходного кода.

Очень часто CentOS применяется в качестве операционной системы для серверов. В одной из предыдущих статей мы рассматривали как выполняется установка CentOS 7. Сегодня будет рассмотрена настройка сервера CentOS 7 после установки. Мы рассмотрим все основные параметры, которые вам нужно будет изменить чтобы подготовить ваш сервер к работе.

Настройка CentOS после установки

Далее, мы рассмотрим все действия, которые необходимо выполнить для полной настройки CentOS на сервере, просто выберите то что вам нужно и примените на своей машине.

1. Настройка статического IP адреса

Первое, что нужно сделать – это настроить сеть. На персональных компьютерах используется получение IP адреса по DHCP, и компьютер при каждом запуске будет иметь другой адрес, сервер должен всегда работать на одном адресе, поэтому мы присваиваем ему статический IP. Также нужно настроить DNS и шлюз по умолчанию. Но сначала установите утилиту net-tools:

yum install net-tools

Сначала посмотрим доступные сетевые интерфейсы и текущий IP адрес:

Теперь можно перейти к настройке интерфейса через файл /etc/sysconfig/network-scripts/ifcfg-enp0s3, например, с помощью редактора vi:

IPADDR = ваш_ip
GATEWAY = шлюз_для_доступа_к_сети
DNS1 = IP_адрес_DNS1
DNS2 = IP_адрес_DNS2

После внесения изменений этот файл будет выглядеть вот так:

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

service network restart

Потом, при необходимости вы можете сменить IP адрес таким же способом.

2. Имя компьютера

Следующее что нам нужно сделать – это изменить имя компьютера. Текущее имя компьютера хранится в переменной HOSTNAME:

Чтобы его изменить вам нужно отредактировать файл /etc/hostname и заменить там старое имя на новое.

Также вы можете использовать команду hostnamectl:

hostnamectl set-hostname “имя_хоста”

3. Обновление CentOS

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

yum update && yum upgrade

4. Установите браузер

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

yum install links

Вы можете найти и другие консольные браузеры для Linux, например, Lynx или Elinks.

5. Настройка часового пояса

Правильная настройка часового пояса очень важна для сервера. Это уберет путаницу в логах и позволит вашим приложениям отображать правильную дату и время. Для настройки используется утилита timedatectl.

Сначала получите список часовых поясов:

Затем установите нужный, например, Europe/Kyiv:

timedatectl set-timezone Europe/Kyiv

7. Настройка локали

Локаль определяет язык и кодировку, которая будет использоваться в вашей системе, например, для включения русского языка установите значение ru_RU.UTF-8

localectl set-locale LANG=ru_RU.UTF-8

Затем смотрим что получилось:

Затем устанавливаем раскладку клавиатуры:

localectl set-keymap us

8. Отключите SELinux

Набор политик SELinux предназначены для контроля доступа к файлам в системе Linux, но если вы не собираетесь их использовать, то такую возможность можно отключить. Для этого выполните:

sed -i ‘s/(^SELINUX=).*/SELINUX=disabled/’ /etc/selinux/config

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

9. Создайте пользователя

Использовать систему от имени суперпользователя небезопасно и тем более небезопасно оставлять открытым доступ к root аккаунту по ssh. Сначала создайте обычного пользователя и установите для него пароль:

useradd имя_пользователя
# passwd пароль

Затем добавьте пользователя в группу wheel, чтобы разрешать пользователю работать от имени администратора:

usermod -G wheel имя_пользователя

Теперь осталось подправить настройки sudo, для этого добавьте такую строчку, если ее там еще нет:

%wheel ALL = (ALL) ALL

10. Включите сторонние репозитории

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

Для добавления репозитория Enterprise Linux Repository (EPEL) выполните:

yum install epel-release
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

10. Настройка SSH

Чаще всего нам приходится работать с серверами не напрямую, а по сети, через SSH. Обычно служба SSH уже установлена и активирована, но для ее правильной работы нужно выполнить несколько настроек. Сначала нужно настроить использование только безопасного протокола, для этого откройте файл /etc/ssh/ssh_config и удалите строчку Protocol 2,1. А вместо нее добавьте:

Также нужно отключить вход от имени суперпользователя:

11. Установите веб-сервер Apache

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

yum install httpd

Когда установка будет завершена, перед тем, как вы сможете перейти к работе нужно разрешить HTTP в брандмауере:

firewall-cmd –add-service=http
# firewall-cmd -permanent -add-port=3221/tcp
# firewall-cmd –reload

Теперь осталось добавить Apache в автозагрузку:

systemctl start httpd.service
# systemctl enable httpd.service

Дальше вы можете проверить его работоспособность с помощью links:

12. Установите PHP

PHP – это современный язык веб-приложений и скриптов. Он часто используется в качестве языка программирования общего назначения. Для установки выполните:

yum install php

После установки необходимо перезапустить Apache:

systemctl restart httpd.service

Далее создадим тестовый файл со сриптом, чтобы проверить правильность установки:

echo -e ” ” > /var/www/html/phpinfo.php

Затем откройте созданный файл в браузере:

13. Установка базы данных

MariaDB – это база данных, основанная на исходном коде MySQL. Дистрибутивы Linux на базе Red Hat используют MariaDB вместо MySQL. Базы данных – незаменимая вещь на сервере, поэтому настройка CentOS после установки должна включать ее установку. Для установки MariaDB наберите:

yum install mariadb-server mariadb

Затем запустите и добавьте в автозагрузку:

systemctl start mariadb.service
# systemctl enable mariadb.service

И разрешите в использование службы в брандмауэре:

Осталось запустить скрипт настройки:

14. Установите GCC

GCC расшифровывается как GNU Compiler Collection, это набор компиляторов, которые считаются стандартом для сборки программ в Linux. Но по умолчанию он не поставляется с CentOS, поэтому для установки наберите:

yum install gcc

Затем вы можете посмотреть версию GCC:

15. Установите Java

Java – это объективно-ориентированный язык программирования общего назначения. Он не устанавливается по умолчанию, поэтому настройка CentOS 7 после установки может включать и его установку. Для этого выполните:

yum install java

Затем проверьте версию:

Выводы

В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!

IT Stuff

Всячина по IT

Настройка Centos 7 после установки

Статья о том как подготовить только что установленный на сервер дистрибутив Centos 7 к дальнейшей работе с ним.

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

Вариант в одну строку:

Настройка сети

Настройки сетевых интерфейсов указываются в файле /etc/sysconfig/network-scripts/ifcfg-eth0. Однако в Centos 7 файл конфигурации сетевого интерфейса может иметь имя наподобие ifcfg-enp0s1. Как изменить имя сетевого интерфейса можно прочитать здесь.

Если Вы не используете протокол IPv6, то можно закоментировать все строки с ним.

Прописываем имя этого сервера в /etc/hostname и /etc/hostname:

Не забываем прописывать DNS в /etc/resolv.conf

Перезапускаем сетевую подсистему:

Теперь можно подключиться к серверу по SSH.

Если используется proxy-сервер добавляем его адрес в файл /etc/yum.conf:

Устанавливаем программу для загрузки файлов по сети wget:

Добавляем в файл /etc/wgetrc адрес proxy-сервера:

Так же в Centos 7 по умолчанию включена система принудительного контроля доступа SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью). Она расширяет стандартные стандартные права доступа. Использовать её или нет зависит от требований к серверу и его назначению. Настройка данной системы представляет собой материал отдельной статьи.

Если же Вам данная система не нужна, отключаем SELinux:

Подключение EPEL репозитория

EPEL (Extra Packages for Enterprise Linux) — это основанный сообществом открытый и бесплатный проект репозитория, предоставляемый командой Fedora, который содержит высококачественные пакеты дополнительного программного обеспечения для Linux дистрибутивов, включая RHEL (Red Hat Enterprise Linux), CentOS, и Scientific Linux.

Отключаем FireWall

Настройка Firewall это также тема отдельной статьи. Но на некоторых серверах в нем нет надобности и его можно отключить:

Установка и настройка NTPD

Для того, чтобы на сервере всегда было точное время необходимо установить и настроить ntpd.

ntpd (Network Time Protocol daemon) — программа-демон, который устанавливает и обслуживает системное время, используется для синхронизации с другими серверами времени.

Далее нужно указать сервера времени с которыми будет синхронизировать время наш сервер. Адреса этих серверов можно найти в интернете, лучше выбирать ближайшие сервера, то есть искать сервера расположенные в вашей стране. Указываем сервера синхронизации в vi /etc/ntp.conf (лучше не меньше трех):

По умолчанию сервер NTP будет доступен всем хостам в Интернет. Если вы хотите запретить всем машинам обращаться к вашему серверу NTP, добавьте следующую строку:

Сервера с которыми сверяемся, должны иметь возможность менять наше время:

В restrict лучше указывать ip адрес вместо доменного имени, для избежания ошибок.

Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам в вашей сети, но запретить им настраивать сервер или быть равноправными участниками синхронизации времени, то вместо указанной добавьте строчку:

Если включен Firewall добавляем ntp в исключения:

Добавляем в автозапуск:

Дополнительные полезные утилиты.

Обязателен для установки набор утилит для сборки программ из исходного кода и создания rpm пакетов.

При минимальной установке в Centos 7 отсутствуют некоторые полезные утилиты для работы с сетью arp, hostname, ifconfig, netstat, rarp, route, plipconfig, slattach, mii-tool, iptunnel и ipmaddr. Чтобы вернуть их необходимо установить набор утилит net-tools.

Официальная страничка проекта net-tools здесь.

Также полезно установить lsof (от англ. LiSt of Open Files) — утилита показывает какие файлы используются теми или иными процессами.

Установим Midnight Commander — файловый менеджер для удобного перемещения по файловой системе и управления файлами. Она состоит из 2 панелей (фрэймов), в которых может отображаться информация о двух выбранных каталогах одновременно, содержимое, выбранного в одной из панелей, файла, и многое другое.

Вот пожалуй и вся универсальная настройка Centos 7 после установки. Далее уже идет настройка сервера под Ваши задачи. Надеюсь информация была полезной.

Навигация по записям

2 комментария к “ Настройка Centos 7 после установки ”

Дмитрий, добрый день.

Читать еще:  80070570 ошибка при установке Windows 10

Не стоит так сразу рубить network manager, не так он и плох

Вот пара простых примеров.

Задать адрес ipv4 и маску для сетевой карты eno1

nmcli c modify eno1 ipv4.addresses 10.0.0.30/24

Задаём статичный шлюз для этой сетевой

nmcli c modify eno1 ipv4.gateway 10.0.0.1

nmcli c modify eno1 ipv4.dns 10.0.0.1

Указываем, что эти данные задаются вручную, а не с помощью DHCP (для DHCP вместо manual нужно указать auto, но мы-то уже вручную всё указали)

nmcli c modify eno1 ipv4.method manual

А по поводу настроек CentOS 7 — из моей подписи посмотрите ссылку, вдруг что полезное пригодится. 🙂

Настройка сервера CentOS 7 после установки

В этом руководстве объясняются первые основные шаги, которые необходимо выполнить после установки минимальной системы CentOS 7 без графической среды, чтобы получить информацию об установленной системе, аппаратная часть которой работает, и настроить другие конкретные системные задачи, такие как сети, привилегии root, программное обеспечение, сервисы и другие.

Обновление системы CentOS 7

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

Чтобы полностью обновить систему CentOS 7, введите следующие команды с привилегиями root.

# yum check-update
# yum upgrade

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

Установите системные утилиты на CentOS 7

Следующие пакеты утилит могут оказаться полезными для повседневного системного администрирования: nano (текстовый редактор для замены редактора vi), wget, curl (утилиты, используемые в основном для загрузки пакетов по сети) net-tools, lsof (утилиты для управления локальная сеть) и bash-завершение (автозаполнение командной строки).

Установите их все в один выстрел, выполнив следующую команду.

# yum install nano wget curl net-tools lsof bash-completion

Настройка сети в CentOS 7

CentOS 7 имеет широкий спектр инструментов, которые можно использовать для настройки и управления сетью, от ручного редактирования файла конфигурации сети до использования таких команд, как ip, ifconfig, nmtui, nmcli или route.

Самая простая утилита, которую новичок может использовать для управления и изменения конфигурации сети, — это графическая командная строка nmtui.

Чтобы изменить имя хоста системы с помощью утилиты nmtui, выполните команду nmtui-hostname, задайте имя хоста своего компьютера и нажмите OK для завершения, как показано на снимке экрана ниже.

Чтобы управлять сетевым интерфейсом, выполните команду nmtui-edit, выберите интерфейс, который вы хотите редактировать, и выберите правку в правом меню, как показано на скриншоте ниже.

Когда вы перейдете в графический интерфейс, предоставленный утилитой nmtui, вы можете настроить параметры IP сетевого интерфейса, как показано на снимке экрана ниже. Когда вы закончите, перейдите к OK, используя клавишу [tab], чтобы сохранить конфигурацию и выйти.

Чтобы применить новую конфигурацию сетевого интерфейса, выполните команду nmtui-connect, выберите интерфейс, которым вы хотите управлять, и нажмите опцию Деактивировать / Активировать, чтобы вывести из эксплуатации и поднять интерфейс с настройками IP, как показано на скриншотах ниже.

Чтобы просмотреть настройки сетевого интерфейса, вы можете проверить содержимое файла интерфейса или выполнить приведенные ниже команды.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Проверьте конфигурацию сети

Другими полезными утилитами, которые можно использовать для управления скоростью, состоянием канала или получения информации о сетевых интерфейсах машины, являются ethtool и mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Проверьте сетевое соединение

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

Чтобы вывести список всех серверов, которые открыли сокеты TCP или UDP в состоянии прослушивания, введите следующие команды. Тем не менее, UDP-сервер не будет перечислять состояние сокетов из-за того, что UDP — это протокол без установления соединения, который только отправляет пакеты по сети и не устанавливает соединения.

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

Управление услугами в CentOS 7

CentOS 7 управляет демонами или сервисом с помощью утилиты systemctl. Чтобы вывести список всех служб, выполните следующую команду.

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

# systemctl list-unit-files -t service

Чтобы просмотреть список старых служб SysV, имеющихся в вашей системе, и отключить их, выполните следующие команды chkconfig.

# chkconfig —list
# chkconfig service_name off

5. Отключите нежелательные сервисы в CentOS 7

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

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

# systemctl stop postfix
# systemctl disable postfix
# yum remove postfix

В дополнение к командам netstat, ss, lsof или systemctl вы также можете запускать команды ps, top или pstree, чтобы обнаружить и определить, какие нежелательные службы работают в вашей системе, а также отключить или удалить их.

По умолчанию утилита pstree не установлена ​​в CentOS 7. Для ее установки выполните следующую команду.

# yum install psmisc
# pstree -p

Включить брандмауэр в CentOs 7

Firewalld — это основная утилита брандмауэра, с которой взаимодействует для управления правилами iptables.

Чтобы включить, запустить и проверить брандмауэр в CentOS 7, выполните следующие команды.

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

Чтобы открыть определенную службу для входящих подключений, сначала проверьте, присутствует ли приложение в правилах firewalld, а затем добавьте правило для службы, как показано в следующем примере, который разрешает входящие подключения SSH. Используйте ключ —permanent для постоянного добавления правила.

# firewall-cmd —add-service=[tab] #List services
# firewall-cmd —add-service=ssh
# firewall-cmd —add-service=ssh —permanent

Если служба уже определена в правилах firewalld, вы можете вручную добавить порт службы, как показано в примере ниже.

# firewall-cmd —add-port=22/tcp —permanent
# firewall-cmd —reload #Apply the rule on-fly

Включить разрешения Sudo для учетных записей пользователей

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

# adduser tecmint
# passwd tecmint
# usermod -aG wheel tecmint

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

# su — tecmint
# sudo yum update

Настройка аутентификации с помощью открытого ключа SSH в CentOS 7

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

Кстати, помимо указанных настроек, после установки сервера, Вы можете проводить мониторинг сайта и проверки uptime через специальный сервис https://www.host-tracker.com/.

Не вводите ключевую фразу, если вы хотите автоматизировать управление сервером через SSH.

# ssh-keygen -t RSA

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

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

Наконец, чтобы защитить сервер SSH, убедитесь, что вы запрещаете удаленный доступ SSH к учетной записи root, открыв файл конфигурации SSH / etc / ssh / sshd_config с вашим текстовым редактором в качестве пользователя root и изменив его с Да на Нет.

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

# systemctl restart sshd

Выводы

Готово! Настройка сервера CentOS 7 после установки проведена. Это всего лишь несколько основных настроек и команд, которые каждый системный администратор должен знать и применять в новой установленной системе CentOS или для выполнения повседневных задач в системе.

Чтобы обезопасить и защитить сервер CentOS 7, ознакомьтесь со следующими статьями.

Если вы планируете развертывать веб-сайты в этой системе CentOS 7, узнайте, как установить и настроить стек LAMP.

Начальная настройка CentOS 7

Автор: ITSeason · Опубликовано 23.07.2019 · Обновлено 01.08.2019

Введение

В настоящей статье будет рассмотрен процесс минимальной первоначальной настройки сервера на операционной системе CentOS 7. CentOS – это Linux дистрибутив основанный на Red Hat Enterprise Linux. Как и сам RHEL CentOS известен своей стабильностью и длительным сроком поддержки, который равен 10 годам. Используется преимущественно в серверах. Настраивать мы будем CentOS установленный в минимальном варианте. Рассмотрим процесс минимальной защиты SSH подключения, настройку межсетевого экрана, отключение SELinux, установку некоторых полезных программ и подключим репозиторий EPEL.

Подключение репозитория EPEL

Репозиторий EPEL (Extra Packages for Enterprise Linux) создан участниками проекта Fedora, содержит достаточно новые версии популярных программ. Пакеты EPEL чаще всего основаны на их аналогах в Fedora. Репозиторий EPEL это в первую очередь дополнительные пакеты для Red Hat Enterprise Linux, но по мимо RHEL поддерживает так же CentOS, Scientific Linux и Oracle Linux. Он включен в репозиторий Extras, который подключен по умолчанию, поэтому установить EPEL не составит никакого труда. Делается это через yum одной командой:

yum install epel-release

Установка программ

Установка nano

Nano – текстовый консольный редактор для UNIX-подобных операционных систем, распространяемый под лицензией GNU GPL. Первый выпуск состоялся еще в 2000 году. Достаточно удобен в использовании. Устанавливается из base репозитория.

yum install nano

Что бы открыть текстовый файл в nano нужно выполнить команду вида:

nano /путь к файлу/название файла

Если такой файл существует – откроется его содержимое, если нет – создастся новый файл.

Консольный текстовый редактор nano

Для сохранения изменений необходимо нажать комбинацию клавиш Ctrl+O, для выхода из редактора – Ctrl+X, для поиска по файлу – Ctrl+W. В принципе все команды прописаны в нижней части файла.

Установка Midnight Commander

Midnight Commander – файловый менеджер поддерживающий не только UNIX-подобные операционные системы, но и Microsoft Windows и Mac OS X. Первый выпуск состоялся в 1998 году. С помощью Midnight Commander очень удобно осуществлять навигацию по файловой системе, создавать/удалять каталоги, редактировать файлы и многое другое. Имеет встроенный редактор файлов. Устанавливается из base репозитория.

Установка Midnight Commander

Для того, что бы открыть Midnight Commander нужно ввести команду:

При удаленном SSH подключении к серверу навигацию по Midnight Commander можно выполнять с помощью мыши.

Установка net-tools

Net-tools – набор утилит и инструментов для работы с сетью в операционных системах семейства Linux. В CentOS 7 по умолчанию он отсутствует. Устанавливается из base репозитория.

yum install net-tools

После установки пакета net-tools станут доступны такие команды как netstat и ifconfig.

Читать еще:  Настройка Windows 10 для SSD

Установка htop

Htop – это программа для отображения в терминале информации о запущенных процессах. Является альтернативой программы top, которая доступна по умолчанию. Htop имеет более понятный и удобный интерфейс по сравнению с top. Устанавливается из репозитория EPEL.

yum install htop

Для запуска htop необходимо ввести команду:

При удаленном подключении доступно управление мышью. Клавишей F9 можно завершить выбранный процесс. Для выхода необходимо нажать F10.

Настройка Firewall

В CentOS 7 для управления брандмауэром используется инструмент FirewallD. Он выступает в качестве внешнего интерфейса межсетевого экрана Netfilter, встроенного в ядро Linux с версии 2.4. FirewallD предоставляет функционал межсетевого экрана с поддержкой сетевых зон, которые определяют уровень доверия для сетевого соединения или интерфейса. Поддерживает применение конфигурации без перезагрузки межсетевого экрана. При необходимости FirewallD можно отключить и использовать в качестве утилиты настройки брандмауэра Iptables. Но сегодня речь пойдет именно о стандартном инструменте – FirewallD.

В FirewallD существует 9 предустановленных зон:

  1. Drop – Все входящие соединения сбрасываются без ответа, возможны только исходящие соединения.
  2. Block – Все входящие соединения блокируются, отправителю пакета отправляется сообщение о блокировке. Возможны только исходящие соединения.
  3. Public – Для использования в общественных местах. Разрешены отдельные входящие соединения. По умолчанию это ssh и dhcpv6-client. После установки используется как зона по умолчанию и является единственной активной зоной.
  4. External – Для использования во внешних сетях с активированным режимом маскарадинга. Разрешены отдельные входящие соединения. По умолчанию это только ssh.
  5. Internal – Для использования во внутренних сетях. Разрешены отдельные входящие соединения. По умолчанию это ssh, dhclient, samba-client и mdns.
  6. Dmz – Демилитаризованная зона. Для компьютеров с ограниченным доступом к внутренней сети. Разрешены отдельные входящие соединения. По умолчанию это только ssh.
  7. Work – Для использования в рабочей среде. Разрешены отдельные входящие соединения. По умолчанию это ssh и dhcpv6-client.
  8. Home – Для использования в домашних сетях. Разрешены отдельные входящие соединения. По умолчанию это ssh, dhclient, samba-client и mdns.
  9. Trusted – Для использования в доверенной сети. Разрешены все соединения.

Команды FirewallD

  • Статус FirewallD:
  • Вывод зоны по умолчанию:
  • Изменение зоны по умолчанию:

firewall-cmd –set-default-zone=наименование зоны

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

  • Вывод активных зон и интерфейсов относящихся к данным зонам:
  • Получение списка всех поддерживаемых сервисов:
  • Добавление временного разрешающего правила для сервиса в указанной зоне:

firewall-cmd –zone=public –add-service=http

Данное правило разрешает http трафик. Вместо http можно указать наименование любого другого сервиса. Такое правило применяется незамедлительно и действует до перезагрузки.

  • Добавление постоянного разрешающего правила для сервиса в указанной зоне:

firewall-cmd –zone=public –permanent –add-service=http

Данное правило действует до его удаления.

  • Добавление временного разрешающего правила для зоны по умолчанию:
  • Добавление постоянного разрешающего правила для зоны по умолчанию:

firewall-cmd –permanent –add-service=http

  • Временное правило для открытия порта для указанной зоны:

firewall-cmd –zone=public –add-port=80/tcp

Данное правило открывает 80 TCP порт. Применяется немедленно, действует только до перезагрузки.

  • Постоянное правило для открытия порта для указанной зоны:

firewall-cmd –zone=public –permanent –add-port=80/tcp

  • Вывод списка разрешенных сервисов в указанной зоне:

firewall-cmd –zone=public –list-services

  • Вывод открытых портов в указанной зоне:

firewall-cmd –zone=public –list-ports

  • Временное удаление разрешающего правила для сервиса в указанной зоне:

firewall-cmd –zone=public –remove-service=http

  • Постоянное удаление разрешающего правила для сервиса в указанной зоне:

firewall-cmd –zone=public –permanent –remove-service=http

С удалением правил для открытых портов ситуация аналогичная как и с удалением правил для сервисов:

firewall-cmd –zone=public –remove-port=80/tcp

firewall-cmd –zone=public –permanent –remove-port=80/tcp

Для применения правил с опцией –permanent необходимо выполнить перезагрузку или команду:

Отключение SELinux

SELinux (Security Enhanced Linux) – это система принудительного контроля доступа. Принудительный контроль доступа – разграничение доступа, которое основано на назначении метки конфиденциальности информации и допуске к информации такого уровня конфиденциальности. SELinux имеет три режима работы:

  • Enforcing — SELinux включен, принудительные правила политики
  • Permissive — SELinux включен, правила политики не принудительные
  • Disabled — SELinux отключен

SELinux – это достаточно серьезный инструмент безопасности. В CentOS, как и в RHEL и Fedora, активен по умолчанию. Включён в состав ядра Linux начиная с версии 2.6. Работа с ним требует определенных навыков, на освоение которых требует время. Поэтому чаще всего SELinux просто отключают когда он начинает мешать, не прибегая к его настройке. Однако отключать его следует только в том случае, когда это действительно необходимо. Во всех остальных случаях лучшим решением будет разобраться в настройке политик SELinux и не отключать его. Проверить статус работы SELinux можно командой:

Если вы все-таки решили его отключить, то выполните:

И замените SELINUX=enforcing на SELINUX=disabled . После этого перезагрузите сервер и проверьте статус. SELinux должен быть отключен.

Защита SSH подключения

SSH (Secure Shell) – это сетевой протокол прикладного уровня, использующейся для удалённого управления операционной системой и передачи данных. Шифрует абсолютно весь трафик, включая передаваемые пароли. В CentOS доступен сразу после установки, в том числе разрешен в брандмауэре. Если ваш сервер доступен из вне, то с большой долей вероятности его постоянно будут пытаться взломать путем подбора паролей. Поэтому необходимо обезопасить себя от взлома и выполнить хотя бы минимальную настройку для предотвращения печального исхода. Об этом и пойдет речь в этом разделе. Я не буду описывать аутентификацию по ключу, хоть она и считается более безопасной, сегодня речь о минимальной настройке.

Отключаем авторизацию под пользователем root

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

Находим строку #PermitRootLogin yes и меняем ее на PermitRootLogin no . Обратите внимание, что комментария ( # ) на строке быть не должно. Сохраняем файл и перезапускаем службу ssh:

systemctl restart sshd

Теперь с логином root авторизоваться невозможно. Только перед тем как делать запрет на подключение под root создайте пользователя с возможность выполнения sudo. Для это пользователя необходимо добавить в группу, пользователи которой могут выполнять sudo. В CentOS это группа wheel. Для добавления существующего пользователя в эту группу введите:

usermod -G wheel user

Для создания нового пользователя:

Затем нужно задать для него пароль:

Меняем порт по умолчанию

SSH по умолчанию работает на 22 порту. Именно по этому порту и пытаются подключится к серверу для подбора пароля. Если сменить этот порт на любой другой, то вероятность взлома вашего сервера будет существенно снижена. Перед сменой порта необходимо убедится, что порт который вы собираетесь использовать для SSH не используется другим сервисом. Так же необходимо открыть порт в брандмауэре, иначе вы не сможете подключиться. Для изменения порта открываем тот же самый конфигурационный файл, находим строку #Port 22 и меняем ее на Port 8770 . Вместо 8770 необходимо указать номер порта который вы хотите использовать для SSH подключения. Сохраняем файл и перезапускаем службу ssh:

systemctl restart sshd

После перезапуска службы авторизоваться по 22 порту будет невозможно. Теперь для подключения по SSH к серверу необходимо вместо ssh user@ip-адрес вводить команду ssh -p 8770 user@ip-адрес. Если подключаетесь через PuTTY достаточно просто сменить номер порта.

Настройка авторизации с определенного ip-адреса

Запрет на подключение к серверу со всех ip-адресов кроме своего является достаточно эффективной мерой защиты сервера, так как с любого другого адреса подключиться к серверу будет просто невозможно. Для реализации этой меры защиты у вас должен быть статический белый ip-адрес. Если такового нет, то можно вместо ip добавить сеть из диапазона которой вам выдаются динамические адреса. Для этого в файл hosts.allow нужно добавить ваш адрес или сеть:

Добавляем в конец файла запись для ip-адреса 192.168.0.3:

Если нужно указать несколько адресов:

SSHD: 192.168.0.3 192.168.0.5

После этого перезагружаем SSH:

systemctl restart sshd

Теперь к серверу можно подключиться только с указанного адреса.

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

Заключение

Настройка приведенная в данной статье не является единственно правильной. Это всего лишь один из возможных вариантов настройки сервера. Программы установленные в руководстве не являются специфическими и подойдут к серверам настраиваемым под любые задачи, будь то сервер виртуализации или веб-сервер. Если у вас есть вопросы или дополнения к настоящей статье – пишите в комментариях.

ИТ База знаний

Полезно

— Узнать IP – адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP – АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

15 примеров CURL в Linux

Как перезагрузить сеть в Ubuntu?

Установка локального сервера кеширования DNS на Linux

Linux: команды для работы с файлами и директориями

Openvox DGW-1004R

Установка CentOS 7 Minimal

Отличный GUI для CentOS

3 минуты чтения

Всем привет! Сегодня в статье рассмотрим установку CentOS 7 Minimal, первичную настройку сети и установку графического интерфейса под названием Mate. У нас уже есть статья и видео об установке немного иной редакции CentOS 7 – Network Edition, но при установке Minimal есть несколько тонкостей, о них – ниже.

Первое отличие в том, что образ несколько больше – 700 Мб, но это всё равно несравнимо с объемом DVD или Full редакции. Следующее отличие, вытекающее из предыдущего – отсутствует возможность выбрать дополнительный софт для установки (скриншот ниже):

В CentOS 7 также добавилась возможность включить сетевой интерфейс непосредственно во время установки – в 6 версии такого не было, однако, я дополнительно продемонстрирую самый наглядный способ настройки сетевого интерфейса в 7 версии.

Процесс установки

Итак, выполняем все шаги последовательно как указано в нашем видео и статье по установке сетевой версии данной ОС, ждём 15-30 минут и вводим свои логинпароль (предварительно подключившись через терминал).

Первым желанием было проверить, работает ли сетевой интерфейс и был ли ему назначен адрес – я ввёл команду ifconfig , и, как оказалось, данная команда на 7 версии является устаревшей и вместо неё необходимо использовать команду ipaddr для вывода информации об интерфейсах и команду iplink для вывода статистики на них же.

Но так все привыкли к стандартным командам пакета net-tools , его необходимо будет установить с помощью команды yum install net-tools . Однако, помня первое ощущение непонимания, когда у меня не работала сеть в минимальной инсталляции на 6 версии, я хочу дополнительно показать очень простой способ её настройки – об этом ниже.

Читать еще:  Установка Mac os mojave на pc

Важно! Команда ifconfig устарела. Для сетевого взаимодействия с сервером рекомендуем пользоваться командой «ip» (ip -a), которая по функциональности (с точки зрения L2 и L3) превосходит «ifconfig».

Настройка сетевых интерфейсов с помощью nmtui

Вводим команду nmtui – в итоге должен запуститься простой графический интерфейс для настройки сети (скриншот ниже):

Я, к примеру, хочу изменить настройки единственного интерфейса – выбираем первую опцию Edit a connection и видим следующую картину:

Выбираем Edit… и делаем с интерфейсом всё, что вздумается 🙂 Как видно на скриншоте ниже, наш сервер получил IP – адрес по DHCP – меня это устраивает и я оставлю всё как есть. Главной целью было продемонстрировать данную утилиту – nmtui

Установка MATE и необходимых пакетов

Итак, почему MATE? Ответ прост – он гораздо легче дефолтного Gnome, очень нетребователен к ресурсам и крайне прост в установке. Итак, производим несколько простых шагов по установке пакетов(ниже):

  • yum groupinstall “Development Tools” – установка необходимого комплекта пакетов для работы GUI (только если уже не установлены) ;
  • yum install epel-release – установка EPEL репозитория;
  • yum groupinstall “X Window system” – установка группового пакета X Window System, это займет около 5 минут. Сам пакет имеет объем 73 Мб;
  • yum groupinstall “MATE Desktop” – установка непосредственно Mate – довольно объемный пакет – 506 Мб;

Далее, запускаем GUI! Вводим команду systemctl isolate graphical.target , вводим имя юзера и пароль, и видим графический интерфейс (скриншот ниже):

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

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

😪 Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

😍 Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Первоначальная настройка сервера с CentOS 7

Главное меню » Операционная система CentOS » Первоначальная настройка сервера с CentOS 7

Шаг первый – Войти под root

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

Если вы еще не подключены к серверу, идти вперед и войдите в систему как пользователь root , используя следующую команду (замените слово SERVER_IP_ADDRESS на IP адрес вашего сервера):

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

О Root

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

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

Шаг второй – создать нового пользователя

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

В этом примере создается новый пользователь с именем “demo“, но вы должны заменить его на имя пользователя, который вам нравится:

Затем назначьте пароль новому пользователю (опять же, заменить слово “demo” с пользователем, который вы только что создали):

Введите надежный пароль и повторить его еще раз, чтобы проверить его.

Шаг третий – суперпользователь

Теперь мы имеем новую учетную запись пользователя с регулярными привилегиями учетной записи. Тем не менее, нам иногда необходимо выполнять административные задачи.

Чтобы избежать необходимости выйти из нашего обычного пользователя и снова войти в систему в качестве корневой учетной записи, мы можем установить, известного как “супер – пользователь” или корневые привилегии для нашей обычной учетной записи. Это позволит нашему обычному пользователю выполнять команды с правами администратора, поставив слово sudo перед каждой командой.

Чтобы добавить эти привилегии к нашему новому пользователю, нам нужно добавить нового пользователя в группу “wheel“. По умолчанию на CentOS 7, пользователям, принадлежащим к группе “wheel” разрешено использовать команду sudo .

Запустите эту команду под root, чтобы добавить нового пользователя к группе wheel (заменить слово demo на нового пользователя):

Теперь ваш пользователь может запускать команды с привилегиями супер-пользователя! Для получения дополнительных сведений о том, как это работает, проверьте наш гид о sudoers.

Шаг четвертый – добавить публичный ключ аутентификации (рекомендуется)

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

Генерация пары ключей

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

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

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

Нажмите вернуться, чтобы принять это имя файла и путь к нему (или введите новое имя).

Далее, вам будет предложено ввести ключевую фразу, чтобы обеспечить ключ. Вы можете либо ввести ключевую фразу или оставьте пустым парольную фразу.

Это создает закрытый ключ id_rsa и открытый ключ, id_rsa.pub , в директории .ssh домашней директории localuser‘s. Помните, что закрытый ключ не должен использоваться совместно с кем – либо, кто не должен иметь доступ к серверам!

Скопируйте открытый ключ

После генерации пары ключей SSH, вы захотите скопировать свой открытый ключ на новый сервер. Мы рассмотрим два простых способа сделать это.

Вариант 1: Использование ssh-copy-id

Если ваша локальная машина имеет установленный скрипт ssh-copy-id , вы можете использовать его, чтобы установить свой открытый ключ любому пользователю, которому вы установили учетные данные для входа.

Запустите скрипт ssh-copy-id , указав пользователя и IP – адрес сервера, на который вы хотите установить ключ, так:

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

Вариант 2: Вручную установить ключ

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

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

Выберите открытый ключ, и скопируйте его в буфер обмена.

Добавить открытый ключ для новых удаленных пользователей

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

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

Теперь вы будете в домашнем каталоге вашего нового пользователя.

Создайте новую папку с именем .ssh и ограничьте права доступа со следующими командами:

Теперь откройте файл в .ssh под названием authorized_keys с помощью текстового редактора. Мы будем использовать vi для редактирования файла:

Введите режим вставки, нажав i , а затем введите свой открытый ключ (который должен быть в вашем буфере обмена), вставьте его в редактор. Теперь нажмите , ESC чтобы выйти из режима вставки.

Введите 😡 и , ENTER чтобы сохранить и выйти из файла.

Теперь ограничьте права доступа к файлу authorized_keys с помощью следующей команды:

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

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

Шаг пятый – Настройка SSH демона

Теперь, когда у нас есть наш новый аккаунт, мы можем обеспечить наш сервер немного изменяя его конфигурацию SSH – демон (программа, которая позволяет нам войти в систему удаленно), чтобы запретить удаленный доступ по SSH к корневой учетной записи.

Начните с открытия файла конфигурации с помощью текстового редактора в качестве root:

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

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

Подсказка: Для поиска этой линии, наберите /PermitRoot и затем нажмите ENTER . Это должно привести курсор к символу “P” на этой строке.

Раскомментируйте строку, удалив символ “#” (нажмите Shift-x ).

Теперь переместите курсор на “yes”, нажав кнопку c .

Теперь вместо “yes” наберите “no”. Нажмите Escape когда вы закончите редактирование. Оно должен выглядеть следующим образом :

Отключение удаленного корневого входа настоятельно рекомендуется на каждом сервере!

Введите 😡 , а затем, ENTER чтобы сохранить и выйти из файла.

Перезагрузите SSH

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

Введите эту команду, чтобы перезапустить SSH:

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

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

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

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

Помните, что если вам нужно выполнить команду с привилегиями суперпользователя, введите “sudo” перед ним, как здесь:

Если все хорошо, вы можете выйти из ваших сессий, набрав:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: