- Настройка сервера CentOS 7 после установки
- Обновление системы CentOS 7
- Установите системные утилиты на CentOS 7
- Настройка сети в CentOS 7
- Управление услугами в CentOS 7
- 5. Отключите нежелательные сервисы в CentOS 7
- Включить брандмауэр в CentOs 7
- Включить разрешения Sudo для учетных записей пользователей
- Настройка аутентификации с помощью открытого ключа SSH в CentOS 7
- Выводы
- Начальная настройка Centos 7
- Firewall
- Добавление репозиториев
- Настройка bash_history (по желанию)
- Отключаем флуд сообщений в /var/log/messages
- Мониторинг — iftop, atop, htop, lsof
- Как редактировать текстовые файлы в Linux
- PHP и компоненты. Установка на CentOS 7
- Apache (httpd) — установка на Centos 7
- CentOS 7 установка и настройка
- Введение
- Установка CentOS 7
- Создания USB носителя для установки
- Варианты установки
- Образы iso CentOS 7
- Шаблоны
- Разбивка диска для установки
- Настройка CentOS 7
- Информация об установленной системе
- Отключение SELinux
- Добавление репозиториев
- Обновление CentOS 7
- Автоматическое обновление системы
- Популярные и полезные утилиты
- Отправка почты с авторизацией на другом SMTP сервере
Настройка сервера CentOS 7 после установки
В этом руководстве объясняются первые основные шаги, которые необходимо выполнить после установки минимальной системы CentOS 7 без графической среды, чтобы получить информацию об установленной системе, аппаратная часть которой работает, и настроить другие конкретные системные задачи, такие как сети, привилегии root, программное обеспечение, сервисы и другие.
Обновление системы CentOS 7
Первый шаг, который необходимо выполнить в новой установленной системе CentOS, — убедиться, что в системе установлены последние версии обновлений ядра и системы безопасности, репозиториев программного обеспечения и пакетов.
Чтобы полностью обновить систему CentOS 7, введите следующие команды с привилегиями root.
После завершения процесса обновления, чтобы освободить дисковое пространство, вы можете удалить все загруженные пакеты, которые использовались в процессе обновления вместе со всей информацией из кэшированных репозиториев, выполнив следующую команду.
Установите системные утилиты на 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.
Важным аспектом работы вашей машины в сети является составление списка всех открытых сетевых сокетов, чтобы увидеть, какие программы прослушивают какие порты и в каком состоянии установлены сетевые соединения.
Чтобы вывести список всех серверов, которые открыли сокеты TCP или UDP в состоянии прослушивания, введите следующие команды. Тем не менее, UDP-сервер не будет перечислять состояние сокетов из-за того, что UDP — это протокол без установления соединения, который только отправляет пакеты по сети и не устанавливает соединения.
Управление услугами в 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. Для ее установки выполните следующую команду.
Включить брандмауэр в 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, как показано в приведенной ниже выдержке.
Настройка аутентификации с помощью открытого ключа SSH в CentOS 7
Чтобы защитить SSH-сервер и настроить аутентификацию с открытым ключом, чтобы повысить безопасность вашего сервера с помощью закрытого ключа SSH для входа в систему, сначала сгенерируйте пару ключей SSH с помощью следующей команды.
Кстати, помимо указанных настроек, после установки сервера, Вы можете проводить мониторинг сайта и проверки uptime через специальный сервис https://www.host-tracker.com/.
Не вводите ключевую фразу, если вы хотите автоматизировать управление сервером через SSH.
После генерации пар ключей SSH скопируйте ключ на сервер, к которому вы хотите подключиться, введя команду ниже. Первоначально введите удаленный пароль пользователя SSH, чтобы скопировать открытый ключ.
После того, как открытый ключ SSH был скопирован на удаленный сервер, войдите в систему на удаленном сервере SSH с помощью следующей команды.
Наконец, чтобы защитить сервер SSH, убедитесь, что вы запрещаете удаленный доступ SSH к учетной записи root, открыв файл конфигурации SSH / etc / ssh / sshd_config с вашим текстовым редактором в качестве пользователя root и изменив его с Да на Нет.
Чтобы применить настройку, необходимо перезапустить службу SSH, чтобы она использовала новую конфигурацию.
Выводы
Готово! Настройка сервера CentOS 7 после установки проведена. Это всего лишь несколько основных настроек и команд, которые каждый системный администратор должен знать и применять в новой установленной системе CentOS или для выполнения повседневных задач в системе.
Чтобы обезопасить и защитить сервер CentOS 7, ознакомьтесь со следующими статьями.
Если вы планируете развертывать веб-сайты в этой системе CentOS 7, узнайте, как установить и настроить стек LAMP.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Начальная настройка Centos 7
Автор: Гончаров · Опубликовано 01.03.2018 · Обновлено 28.10.2019
Проверяем, что за система у нас
Увидим текущую версию ОС.
Устанавливаем сетевой пакет
Чтобы работала команда nslookup:
Сразу для работы с текстовыми файлами (конфигами) устанавливаем Midnight Commander:
И сразу же для удобства, меняет расцветку синтаксиса:
Отключаем SELinux, для этого открываем файл на редактирование с помощью Midnight Commander:
И у SELINUX ставим параметр disabled.
После отключения SElinux необходимо перезагрузиться или выполнить команду:
— тогда изменение выполнится без перезагрузки.
Firewall
Фаерволом в CentOS 7 является iptables. И для управления им в центос придумала другая утилита — Firewalld. Я ею не пользуюсь, поэтому останавливаю ее и удаляю из автозагрузки, т.к. удобнее пользоваться самописным скриптом, который кроссплатформенный между разными линуксами:
Установливаем утилиты для iptables:
Включаем iptables в автозагрузку:
Посмотреть текущие настройки можно командой:
Теперь создадим текстовый файл (скрипт) для iptables:
Делаем файл c правилами исполняемым:
и запускаем его:
При каждом запуске скрипта, все изменения записываются в файл /etc/sysconfig/iptables и применяются при загрузке системы.
Проверить, применились ли правила можно командой:
По умолчанию, сервис работает на 22 порту. Для безопасности его лучше сменить на любой другой свободный. Открываем конфиг
Нужно раскомментировать строку Port 22 и заменить значение 22 на любое другое, например 99999. Сохраняем.
Теперь нужно добавить в настройки фаервола наш новый порт в разрешенные. Открываем скрипт для iptables
И вместо 22 пишем 99999. Сохраняем и запускаем этот скрипт!
Можно проверить на каком порту висит сейчас sshd
видим 99999, значит все ок.
Добавление репозиториев
Добавим популярный репозиторий EPEL
Настройка bash_history (по желанию)
Все подробно расписал товарищ в этой статье.
Самое основное. Список последних выполненных команд хранится в домашней директории пользователя в файле .bash_history (в начале точка).
Нам нужно отредактировать файл .bashrc, который находится в том же каталоге, что и файл с историей.
Добавляем в него следующие строки:
Чтобы изменения применились, нужно разлогиниться и залогиниться снова.
Отключаем флуд сообщений в /var/log/messages
Сохраняем и перезапускаем:
Мониторинг — iftop, atop, htop, lsof
iftop показывает в режиме реального времени загрузку сетевого интерфейса
lsof поможет узнать какие файлы используются теми или иными процессами:
Обычно после этого требуется настроить веб-сервер, к примеру на связке nginx+apache. Статья описывающая эту связку.
Как редактировать текстовые файлы в Linux
Автор: Гончаров · Published 13.05.2018 · Last modified 28.10.2019
PHP и компоненты. Установка на CentOS 7
Автор: Гончаров · Published 13.05.2018 · Last modified 28.10.2019
Apache (httpd) — установка на Centos 7
Автор: Гончаров · Published 20.05.2018 · Last modified 28.10.2019
Всё сделал с точностью до буквы. Смена порта не получилась. Команда «netstat -tulpn | grep sshd» выводит новый номер порта, однако присоединиться через него не получается. Видно кроме этого нужно что-то ещё сделать, что в статье отсутствует.
в фаерволе разблокировали новый порт?
Да, конечно, новый порт открыл, а старый закрыл. Причина оказалась в том, что новый порт был чем-то занят, хотя перед его открытием проверил занятые порты. Нашёл список портов в Wikipedia, в нём свободный диапазон портов и выбрал из него порт. После этого всё заработало. Я так понимаю. номер порта 99999 указан в статье для примера, как реальный, его я не рассматривал, ибо порта с номером более 65535 не существует, а диапазон 49152—65535 (цитата из Wikipedia) содержит динамически выделяемые или частные порты, которые не регистрируются IANA. Эти порты используются временными (короткоживущими) соединениями «клиент — сервер» или в определённых частных случаях. Этот … Подробнее »
Источник
CentOS 7 установка и настройка
Рассмотрим установку системы CentOS 7 и последующую настройку исходя из практики использования этой операционной системы. Данная система для меня основная для использования на серверах в продакшн. Стабильность работы гарантированна. Поддержка 10 лет.
Введение
В данной статье я постарался в одном месте собрать все основные моменты базовой настройке сервера CentOS 7 которые использую на практике.
Установка CentOS 7
Создания USB носителя для установки
Существует множество программ для записи iso образа на устройство. Например, у меня два варианта для создания носителя для установки:
- Rufus — использую эту программа для создание загрузочных USB-дисков в системе Windows;
ROSA ImageWriter — использую эту програму для любой системы Linux.
Варианты установки
Рассмотрим два самых популярных варианта установки СentOS 7.
Образы iso CentOS 7
Все свежие образы можно скачать по ссылке Download CentOS. Существует два варианта:
- DVD ISO — полный образ;
- Minimal ISO — минимальный образ.
Выбор за вами. Мне нравится устанавливать минимальный вариант и дальше настраивать руками, так и опыт приходит и понимаешь как что работает.
Для сервера CentOS 7 система идеальна в плане обслуживания и стабильности работы.
Выбор с каким дистрибутивом работать это отдельная тема и я обязательно расскажу о своем пути в изучении разных дистрибутивов.
Шаблоны
Шаблоны используются как правило для установки на VDS и предоставляются компаниями предоставляющие такие услуги. Удобно, но т ем не менее я пару раз попадал в дурацкие ситуации.
Вот моменты почему я советую использовать установку на VDS систем с iso образа:
- Разбивка диска порой не учитывает конфигурацию тарифа или требований вашей системы — например, на одном хостинге при 2 G оперативной памяти был создал SWAP раздел в 512 М в результате пришлось переустанавливать систему дабы не терять место на и так небольшом диске;
- Локализация как правило Английская — мне приятней работать на своем родном языке хотя и на английском если надо всё настрою;
- Присутствие в шаблоне каких-то изменений отличающихся от стандартных минимальных параметров установки — порой не понимаешь откуда взялись какие то настройки которых раньше не видел. Кроме того, можно потратить кучу времени не понимая почему не работает то что всегда работало как часы. В итоге выясняется что в шаблоне установки нет пакета который всегда ставился в стандартном минимальном образе.
Все компании предоставляющие услуги VDS могут предоставить возможность установки системы с ISO образа системы. При установке надо правильно указать сетевые параметры исходя из предоставленных сетевых параметров настроек выбранного тарифа!
Разбивка диска для установки
Вариантов разбивки диска для CentOS 7 может быть множество исходя из пожеланий и предпочтений. Например, мне нравиться придерживатся таких параметров:
- Размер диска под систему Linux 50 G — этого мне хватает с запасом;
- Создаю раздел boot размером 1 G — так я гарантирую что при заполнении диска система загрузится однозначно;
- Создаю SWAP — согласно требованиям системы.
Можно выносить логи и кэш в отдельные разделы, но это лишняя трата времени. Лучше всегда мониторить размер диска и в случае проблем решать их. Прежде всего, так и головная боль пропадает о том какой размер указывать разделам ( вариант с перераспределением очень сюрпризная тема) и больше времени потратится на правильную настройку сервера.
Тема организации SWAP на сервере очень важная и поэтому я описал все основные моменты использования в статье SWAP для Linux
Настройка CentOS 7
Информация об установленной системе
Узнать какая система установлена на сервере можно следующей командой:
Этой информации достаточно для понимания с какой системой предстоит работать.
Отключение SELinux
Отключаем SELinux. Его использование и настройка в системе CentOS 7 отдельный разговор.
Перезагрузим для применения изменений. После перезагрузки проверяем статус:
Надо иметь четкое понимание что SELinux система требующая хорошего понимания в том как она работает и как настраивать. Надо или отключить сразу или потратить время на изучение как она работает.
Добавление репозиториев
Для инсталляции различного софта необходимо подключить репозитории в CentOS 7. Со временем пришло понимание того что относится к добавляемым репозиториям надо очень внимательно, чтобы в последствии не возникало проблем при обслуживании.
Всегда подключаю самый популярный репозиторий Epel (Extra Packages for Enterprise Linux). Epel хранилище пакетов, созданное группой специалистов операционной системы Fedora. Пакеты из Epel репозитория никогда не конфликтуют и не переустанавливают базовые пакеты RHEL.
Для свежих версий PHP использую репозиторий Remi. Расскажу про это в статье посещенной серверу LEMP.
Старюсь подключать репозитории которые поддерживают сами разработчики программ. Например, такие как Nginx, Zabbix, MariaDB.
Обновление CentOS 7
Обновление системы очень важный момент и следует относится к нему очень внимательно. Всегда проще найти проблему когда проходит немного обновлений.
Прежде всего, всегда перед обновлениями делайте резервные копии!
Перед выполнением настройки лучше выполнить полное обновление системы:
Автоматическое обновление системы
Для безопасности сервера его необходимо своевременно обновлять. Вариантов обновления CentOS 7 несколько и это тема отдельного длинного разговора.
Например, получать сообщения на почту об появившихся обновлениях и уже на основании этого принимать решение о необходимости обновления — для меня лучший вариант.
При моих пожеланиях мне подойдёт утилита yum-cron. Ставится она из базового репозитория командой:
После установки создается автоматическое задание на выполнение утилиты в /etc/cron.daily и /etc/cron.hourly.
По-умолчанию, утилита скачивает найденные обновления, но не устанавливает их. Администратору на локальный почтовый ящик root отправляется уведомление об обновлениях.
Конфигурационный файл настройки yum-cron находятся по адресу /etc/yum/yum-cron.conf.
Самый важный параметр это update_cmd — которой будет говорить системе какие выполнять обновления. Доступно несколько вариантов:
- default — полное обновление;
- security — только обновление безопасности;
- security-severity:Critical — только критические обновления безопасности;
- minimal — минимальное обновление с исправлениями ошибок;
- minimal-security — исправления ошибок и обновления безопасности;
- minimal-security-severity:Critical — исправления ошибок и критические обновления.
В разделе настроек [email] указаны параметры отправки сообщений. По умолчанию отправка сообщений идет пользователю root.
Обычно я настраиваю глобально для всего сервера пересылку локальной почты root на внешний почтовый ящик через авторизацию на другом smtp сервере.
При настройках по умолчанию на почтовый ящик будет приходить очень много сообщений о наличии обновлений. Считаю что оптимальный вариант это когда приходят сообщения о наличии обновлений по безопасности и минимальные обновления с исправлениями ошибок.
В результате мои настройки примут следующий вид:
Согласно которым будут вкачиваться все пакеты где есть исправления ошибок и обновления безопасности. Установка производиться не будет а на почту придет сообщение.
После внесения изменений настройки не забываем перезапустить службу.
Популярные и полезные утилиты
Установим в начале основные популярные утилиты которые обычно требуются в работе.
- net-tools bind-utils — сетевые утилиты после установки которых будут работать команды # ifconfig и # nslookup,
- htop atop — два интересных диспетчера задач,
- iftop — показывает в режиме реального времени загрузку сетевого интерфейса,
- lsof — вывода информации о том, какие файлы используются теми или иными процессами,
- wget — неинтерактивная консольная программа для загрузки файлов по сети,
- bzip2 — утилита командной строки с открытым исходным кодом для сжатия данных ,
- traceroute — утилита предназначенная для определения маршрутов следования данных в сетях TCP/IP,
- fdisk — умеет работать с GPT-дисками разработано по подобию fdisk ,
- yum-utils — — это набор утилит для управления репозиториями, установки и отладки пакетов, поиска пакетов и много другого.
Отправка почты с авторизацией на другом SMTP сервере
Настраиваем на базе Postfix.
Если Postfix не установлен то производим установку выполнив команду:
Запускаем и добавляем в автозагрузку командами:
Чтобы отправлять письма с консоли необходимо установить пакет mailx:
После этого можно отправлять с консоли сервера сообщения на свою почту:
Источник