Базовая настройка сервера на базе CentOS

Базовая настройка сервера на базе CentOS

Администрирование Linux сервера CentOS

CentOS выбрана мной и много другими системными администраторами, как основная система для серверов в «продакшене». Не будем останавливаться на обсуждении и разъяснении этого выбора, а перейдем к рассмотрению базовой настройки свежеустановленной операционной системы. Представленные пункты я использую как шаблон, он применим к CentOS как версии 6.5, так  и 7.0

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

Указанный пункт  уже подробно описан в одноименной записи на страницах ресурса gotoADM.ru. Сейчас сделаем основные операции. В файле ifcfg-eth0 прописываем при необходимости статический IP адрес, либо корректируем параметры получения сетевых настроек. Определить имя сетевого интерфейса можно при помощи команды ifconfig или ip a

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

mkdir /backup

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup

nano /etc/sysconfig/network-scripts/ifcfg-eth0

Далее прописываем имя сервера, используемый протокол IPv4/IPv6:

nano /etc/sysconfig/network

После этого проверяем наличие DNS записей, при отсутствии добавить в указанном формате:

nano /etc/resolv.conf

Nameserver IP/DNS

Nameserver IP/DNS

По завершению настроек сети — перезапускаем службу:

service network restart

Добавление нового пользователя

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

useradd itechf2 -G wheel -u 777

passwd itechf2

chown -R itechf2:itechf2 /home/itechf2/

chmod 700 /home/itechf2/

Далее для удобства работы снимаем комментарий со строки из файла /etc/sudoers:

nano /etc/sudoers

%wheel ALL=(ALL) NOPASSWD: ALL

Для применения настроек делаем logout и заходим под созданным пользователем.

Настройка времени и даты

Выставляем правильный часовой пояс. Удаляем стандартный файл, заменяем другим, с корректными данными:

sudo rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

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

sudo yum install ntp ntpdate -y

sudo ntpdate pool.ntp.org

11 Dec 20:32:07 ntpdate[11055]: step time server 31.135.73.5 offset 242666.411088 sec

sudo ntpdate -bs pool.ntp.org

date

Сбт Дек 11 20:32:21 MSK 2015

Отключить SElinux

Данная настройка делается «по желанию» — лучше разобраться в работе данной подсистемы. Подробнее — здесь.

Итак, переходим в файл и меняем первое значение на disabled:

/etc/selinux/config

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

Добавление репозитария EPEL и обновление системы

Сначала добавляем репозитарий:

sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Загружается http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

предупреждение: /var/tmp/rpm-tmp.MGRRqS: Заголовок V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY

Подготовка… ########################################### [100%]

1:epel-release ########################################### [100%]

Затем обновляем систему:

sudo yum -y update

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

Для удобства работы устанавливаем необходимые программы. На вкус и цвет все девушки программы — разные:

sudo yum install -y mc nano man vim pv wget gcc autoconf screen nmap netstat yum-plugin-priorities mailx traceroute sudo telnet

Подробней о консольном менеджере screen.

Логирование времени выполнения команд в .bash_history

sudo bash -c «echo ‘export HISTTIMEFORMAT=’%d/%m/%y %T ‘ >>/etc/bashrc»

export

Увеличение числа открытых файлов CentOS

sudo bash -c ‘echo «* soft nofile 150000″ >> /etc/security/limits.conf’

sudo bash -c ‘echo «* hard nofile 500000″ >> /etc/security/limits.conf’

sudo bash -c ‘echo «fs.file-max = 500000″ >> /etc/sysctl.conf’

Запретить подключаться по SSH под root

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

sudo nano /etc/ssh/sshd_config

Снимаем комментарий и ставим значение «no» на строчке PermitRootLogin

Затем перезапускаем службу SSH:

sudo service sshd restart

Базовая настройка сервера CentOS для различных задач, в том числе веб- (LAMP) и файлового сервера завершена. Буду рад услышать Ваши замечания, предложения или личные предпочтения в конфигурировании ОС. Оставляйте комментарии 😉