alfaitstudio
Услуги
  • Интерактивная видеостудия
    • Съёмка в видеостудии с прозрачной доской
    • Проведение онлайн-трансляций и вебинаров
    • Съёмка видео для соцсетей
    • Съёмка видео обзоров/распаковок/анпакингов
    • Съёмка онлайн-курсов
    • Съёмка поздравлений
  • Разработка сайтов на CMS
    • Создание сайтов
    • Создание интернет-магазинов
    • Создание маркетплейсов
    • Создание лэндингов/посадочных страниц
  • Продвижение и реклама
    • Поисковое продвижение и оптимизация
    • Настройка и ведение контекстной и таргетированной рекламы
    • Продвижение в социальных сетях
    • SEO аудит сайта
    • Продвижение интернет магазина
    • Продвижение промышленных и производственных предприятий
  • Графика и дизайн
    • UX/UI дизайн сайтов и приложений
    • Создание 3D моделей
    • Разработка фирменного стиля
    • Создание логотипа
  • 1C - установка и оптимизация
    • Установка и оптимизация 1С сервера
    • Устранение ошибок 1С
    • Создание и настройка обмена данными между 1С и 1С Битрикс
  • Разработка мобильных приложений
    • Разработка приложений для iOS и Android
  • Видеопродакшн
    • Съёмка видеоподкастов
    • Рекламные видеоролики
Пресс-центр
Проекты
  • Дизайн
Команда
Компания
  • О компании
  • Команда
  • Сертификаты
  • Реквизиты
  • Пользовательское соглашение
  • Политика обработки персональных данных
  • Публичный договор-оферта
  • Правила работы в студии
  • Как оставить отзыв
Контакты
Ещё
    Задать вопрос
    Мой кабинет
    Корзина0
    +7 (800) 555-26-23
    Заказать звонок
    88005552623@mail.ru
    Тюмень, ул. Ленина 2а, ТРЦ Панорама, 6 этаж 603 офис
    • Вконтакте
    • Telegram
    • YouTube
    • Одноклассники
    • Whats App
    • Viber
    0
    +7 (800) 555-26-23
    Заказать звонок
    alfaitstudio
    Услуги
    • Интерактивная видеостудия
      Интерактивная видеостудия
      • Съёмка в видеостудии с прозрачной доской
      • Проведение онлайн-трансляций и вебинаров
      • Съёмка видео для соцсетей
      • Съёмка видео обзоров/распаковок/анпакингов
      • Съёмка онлайн-курсов
      • Съёмка поздравлений
    • Разработка сайтов на CMS
      Разработка сайтов на CMS
      • Создание сайтов
      • Создание интернет-магазинов
      • Создание маркетплейсов
      • Создание лэндингов/посадочных страниц
    • Продвижение и реклама
      Продвижение и реклама
      • Поисковое продвижение и оптимизация
      • Настройка и ведение контекстной и таргетированной рекламы
      • Продвижение в социальных сетях
      • SEO аудит сайта
      • Продвижение интернет магазина
      • Продвижение промышленных и производственных предприятий
    • Графика и дизайн
      Графика и дизайн
      • UX/UI дизайн сайтов и приложений
      • Создание 3D моделей
      • Разработка фирменного стиля
      • Создание логотипа
    • 1C - установка и оптимизация
      1C - установка и оптимизация
      • Установка и оптимизация 1С сервера
      • Устранение ошибок 1С
      • Создание и настройка обмена данными между 1С и 1С Битрикс
    • Разработка мобильных приложений
      Разработка мобильных приложений
      • Разработка приложений для iOS и Android
    • Видеопродакшн
      Видеопродакшн
      • Съёмка видеоподкастов
      • Рекламные видеоролики
    Пресс-центр
    Проекты
    • Дизайн
    Команда
    Компания
    • О компании
    • Команда
    • Сертификаты
    • Реквизиты
    • Пользовательское соглашение
    • Политика обработки персональных данных
    • Публичный договор-оферта
    • Правила работы в студии
    • Как оставить отзыв
    Контакты

      Видеостудия

      Разработка сайтов

      Дизайн и графика

      1С - установка и оптимизация

      Реклама и продвижение

      alfaitstudio
      Услуги
      • Интерактивная видеостудия
        Интерактивная видеостудия
        • Съёмка в видеостудии с прозрачной доской
        • Проведение онлайн-трансляций и вебинаров
        • Съёмка видео для соцсетей
        • Съёмка видео обзоров/распаковок/анпакингов
        • Съёмка онлайн-курсов
        • Съёмка поздравлений
      • Разработка сайтов на CMS
        Разработка сайтов на CMS
        • Создание сайтов
        • Создание интернет-магазинов
        • Создание маркетплейсов
        • Создание лэндингов/посадочных страниц
      • Продвижение и реклама
        Продвижение и реклама
        • Поисковое продвижение и оптимизация
        • Настройка и ведение контекстной и таргетированной рекламы
        • Продвижение в социальных сетях
        • SEO аудит сайта
        • Продвижение интернет магазина
        • Продвижение промышленных и производственных предприятий
      • Графика и дизайн
        Графика и дизайн
        • UX/UI дизайн сайтов и приложений
        • Создание 3D моделей
        • Разработка фирменного стиля
        • Создание логотипа
      • 1C - установка и оптимизация
        1C - установка и оптимизация
        • Установка и оптимизация 1С сервера
        • Устранение ошибок 1С
        • Создание и настройка обмена данными между 1С и 1С Битрикс
      • Разработка мобильных приложений
        Разработка мобильных приложений
        • Разработка приложений для iOS и Android
      • Видеопродакшн
        Видеопродакшн
        • Съёмка видеоподкастов
        • Рекламные видеоролики
      Пресс-центр
      Проекты
      • Дизайн
      Команда
      Компания
      • О компании
      • Команда
      • Сертификаты
      • Реквизиты
      • Пользовательское соглашение
      • Политика обработки персональных данных
      • Публичный договор-оферта
      • Правила работы в студии
      • Как оставить отзыв
      Контакты
        0
        alfaitstudio
        0
        • Мой кабинет
        • Услуги
          • Назад
          • Услуги
          • Интерактивная видеостудия
            • Назад
            • Интерактивная видеостудия
            • Съёмка в видеостудии с прозрачной доской
            • Проведение онлайн-трансляций и вебинаров
            • Съёмка видео для соцсетей
            • Съёмка видео обзоров/распаковок/анпакингов
            • Съёмка онлайн-курсов
            • Съёмка поздравлений
          • Разработка сайтов на CMS
            • Назад
            • Разработка сайтов на CMS
            • Создание сайтов
            • Создание интернет-магазинов
            • Создание маркетплейсов
            • Создание лэндингов/посадочных страниц
          • Продвижение и реклама
            • Назад
            • Продвижение и реклама
            • Поисковое продвижение и оптимизация
            • Настройка и ведение контекстной и таргетированной рекламы
            • Продвижение в социальных сетях
            • SEO аудит сайта
            • Продвижение интернет магазина
            • Продвижение промышленных и производственных предприятий
          • Графика и дизайн
            • Назад
            • Графика и дизайн
            • UX/UI дизайн сайтов и приложений
            • Создание 3D моделей
            • Разработка фирменного стиля
            • Создание логотипа
          • 1C - установка и оптимизация
            • Назад
            • 1C - установка и оптимизация
            • Установка и оптимизация 1С сервера
            • Устранение ошибок 1С
            • Создание и настройка обмена данными между 1С и 1С Битрикс
          • Разработка мобильных приложений
            • Назад
            • Разработка мобильных приложений
            • Разработка приложений для iOS и Android
          • Видеопродакшн
            • Назад
            • Видеопродакшн
            • Съёмка видеоподкастов
            • Рекламные видеоролики
        • Пресс-центр
        • Проекты
          • Назад
          • Проекты
          • Дизайн
        • Команда
        • Компания
          • Назад
          • Компания
          • О компании
          • Команда
          • Сертификаты
          • Реквизиты
          • Пользовательское соглашение
          • Политика обработки персональных данных
          • Публичный договор-оферта
          • Правила работы в студии
          • Как оставить отзыв
        • Контакты
        • Корзина0
        • +7 (800) 555-26-23
        88005552623@mail.ru
        Тюмень, ул. Ленина 2а, ТРЦ Панорама, 6 этаж 603 офис
        • Вконтакте
        • Telegram
        • YouTube
        • Одноклассники
        • Whats App
        • Viber
        • Главная
        • Пресс-центр
        • Блог
        • Базовая настройка *nix сервера на примере Alma Linux в редакции minimal

        Базовая настройка *nix сервера на примере Alma Linux в редакции minimal

        18 апреля 2022
        Блог

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

        После того как "Красная шапочка" окончательно прикончила проект CentOS, сделав из него по сути бесконечную beta версию своего RHEL, у многих встал вопрос, а что собственно дальше делать и какой теперь дистрибутив использовать?

        А в мире .rpm их не так и много, помимо самого RHEL есть ещё Open SUSE, но она не полностью совместима с пакетной базой RHEL и в данной статье рассматриваться не будет. И выбор остаётся не велик, либо Oracle Linux, либо Alma Linux, и тут у Альмы есть серьёзное преимущество. Так как все компоненты в ней не имеют проприетарных лицензий, её можно использовать к коммерческой эксплуатации, как и когда-то CentOS, и Альма 100% совместима с пакетной базой RHEL.

        Всё описанное в статье было применено к Alma Linux 8.5 в редакции minimal, а сам дистрибутив взят отсюда.

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

        1. Настройка сетевых подключений

        В общем случае, сеть в Alma Linux настраивается с помощью NetworkManager и его консольной утилиты nmtui. Она идет в базовой установке системы. Там простой и понятный графический интерфейс.

        Для того чтобы туда попасть, пишем следующие команды

        nmtui

        Выбираем пункт "Edit a connection"
        Выбираем нужный нам интерфейс
        Активируем чек-бокс "Automatically connect"

        2. Обновление системы

        dnf update

        3. Установка текстового редактора nano

        А теперь, дабы не испытывать "боль и унижение" от текстового редактора vi, предлагаю установить nano:

        dnf install nano

        4. Исправление русской локализации

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

        Для того чтобы это исправить, делаем простые шаги:

        cd /etc 
        nano /etc/vconsole.conf

        приводим конфиг к такому виду:

        KEYMAP="ru"
        FONT="UniCyr_8x16"

        После перезагружаемся:

        reboot

        5. Добавление репозитория EPEL

        dnf -y install epel-release

        6. Установка и настройка bash-completion

        Чтобы стал доступен весь список команд после ввода пары символов, используется утилита bash-completion. Это реально удобно, TAB и готово!

        dnf install bash-completion
        cat /etc/profile.d/bash_completion.sh
        source /etc/profile.d/bash_completion.sh

        7. Установка необходимых утилит для работы с сетью

        dnf install net-tools

        в этот пакет входят такие утилиты как:

        • ifconfigl;
        • netstat.

        А теперь поставим утилиту для работы с DNS, которая входит в пакет bind-utils:

        dnf install bind-utils

        8. Дисковое пространство

        Для того чтобы понять, что и сколько занимает, а также для чистки/удаления, нам понадобится утилита ncdu:

        dnf install ncdu

        9. Тop"ы

        dnf install iftop
        dnf install htop
        dnf install atop

        10. Отключение SELinux

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

        cd /etc/sysconfig/ 
        nano selinux
        //меняем значение на SELINUX=disabled:
        setenforce 0

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

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

        По-умолчанию, сервис ssh работает на 22 порту и если все оставить как есть, то мы получим огромное количество попыток авторизоваться. Боты сканят непрерывно интернет и подбирают пароли к ssh. Это не доставляет в реальности каких-то серьезных хлопот и тем не менее, подобные запросы забивают лог secure и тратят некоторые ресурсы сервера, как минимум на установку соединения и рукопожатия (handshake).

        Чтобы немного закрыть себя от сканов простых ботов, изменим порт, на котором работает ssh. Можно выбрать любой пятизначный номер, это не принципиально. От автоматического сканирования это защитит. Повесим демон ssh на 2222 порт. Для этого редактируем файл /etc/ssh/sshd_config.

        Но с начала отключим стандартный Firewall:

        systemctl status firewalld
        systemctl status firewalld
        systemctl stop firewalld
        systemctl disable firewalld

        Возвращаемся к ssh. Раскомментируем строку Port 22 и заменим значение 22 на 2222:

        cd /etc/ssh/
        nano /etc/ssh/sshd_config
        systemctl restart sshd
        netstat -tulpn | grep sshd

        Видим:

        tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 720/sshd
        tcp6 0 0 :::2222 :::* LISTEN 720/sshd

        13. Отключение суперпользователя по ssh

        Для того чтобы отключить, откройте конфигурационный файл ssh:

        nano /etc/ssh/sshd_config

        Измените строку следующим образом:

        PermitRootLogin no

        Сохраните файл и перезапустите сервер SSH, выполнив следующие команды:

        systemctl restart sshd

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

        14. Настраиваем синхронизацию времени через chrony

        dnf install chrony
        //Запускаем chrony и добавляем в автозагрузку: systemctl start chronyd
        systemctl enable chronyd
        //Проверяем, нормально ли запустился:
        systemctl status chronyd

        15. Настройка хранения истории bash

        Как известно, история команд в Linux хранится в файле ~/.bash_history. Для редактирования пишем:

        nano ~/.bashrc

        Размер файла ограничен списком из 500 последних выполненных команд, которые затираются по мере заполнения этого файла.

        500 команд — это довольно мало, вы легко можете потерять полезную команду, которую выполнили, скажем неделю назад.

        Чтобы увеличить размер хранимой истории, необходимо в файл ~/.bashrc добавить строки:

        export HISTSIZE=10000
        export HISTFILESIZE=10000
        //HISTSIZE — количество команд, которые необходимо запоминать в списке истории (по умолчанию — 500);// //HISTFILESIZE — максимальное количество строк, содержащееся в файле истории ~/.bash_history (по умолчанию — 500);

        Теперь у нас будет храниться история последних 10 тыс. команд. Для применения настроек нужно выполнить:

        source ~/.bashrc

        Или перезайти в терминал.

        Идем дальше, если вы выполните команду history, то заметите, что выполненные подряд одни и те же команды повторяются в истории. Это жутко неудобно, давайте отключим такое поведение. Для этого в файл ~/.bashrc добавим строку:

        export HISTCONTROL=ignoreboth:erasedups

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

        • ignorespace — не сохранять строки, начинающиеся с символа <пробел>;
        • ignoredups — не сохранять строки, совпадающие с последней выполненной командой;
        • ignoreboth — использовать обе опции ‘ignorespace’ и ‘ignoredups’;
        • erasedups — удалять ВСЕ дубликаты команд из истории.

        Не забываем выполнить source ~/.bashrc для применения настроек на лету.

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

        Давайте не будем сохранять в истории команды ls, ps и history с доп. опциями. Для этого в файл ~/.bashrc добавим строку:

        export HISTIGNORE='ls:ps:history*'
        source ~/.bashrc

        По умолчанию, Bash записывает историю команд в ~/.bash_history только при завершении сессии. Если Ваша сессия будет отключена некорректно, то как правило история команд в текущем сеансе не сохраниться — это неудобно. Чтобы это исправить нужно добавить в ~/.bashrc следующую строку:

        PROMPT_COMMAND='history -a'

        Как вы уже заметили, вывод истории команд не учитывает дату и время выполнения этой команды, а иногда бывает очень нужно понимать, когда же Вы выполнили эту команду. Но все можно поправить, чтобы добавить дату к списку команд, нужно изменить формат вывода истории, для этого в ~/.bashrc нужно добавить строку:

        export HISTTIMEFORMAT='%d.%m.%Y %H:%M:%S:'
        source ~/.bashrc

        И в конце, все вышеописанные опции можно добавить в ~/.bashrc с помощью одной команды:

        cat <> ~/.bashrc
        export HISTSIZE=10000
        export HISTFILESIZE=10000
        export HISTCONTROL=ignoreboth:erasedups
        PROMPT_COMMAND='history -a'
        export HISTIGNORE='ls:ps:history*'
        export HISTTIMEFORMAT='%d.%m.%Y %H:%M:%S: '
        EOT
        source ~/.bashrc

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

        Если нужно удалить конкретную строку в истории, то выполните:

        history -wd 231

        Для удаления всей истории команд выполните:

        history -c

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

        history -r

        Следует обратить внимание, что если вы сохраняете историю сразу по факту выполнения команды (настройка PROMPT_COMMAND=’history -a’), а не по выходу из сессии, как это предусмотрено по умолчанию, то полную очистку истории указанными выше способами (опции -c и -r) вы не сделаете, история в файле ~/.bash_history сохраниться. Тогда для полной очистки истории команд нужно очистить файл ~/.bash_history, для этого выполните:

        echo>~/.bash_history

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

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

        set +o history

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

        set -o history

        16. Автоматическое обновление системы

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

        dnf install dnf-automatic
        systemctl enable --now dnf-automatic.timer

        Дефолтный таймер настроен на запуск dnf-automatic через час после загрузки сервера и ежедневное повторение. Конфиг таймера живет тут - /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer.

        17. FireWall или межсетевой экран!

        Итак, самое интересное я оставил напоследок, по поводу «какой межсетевой экран лучше» написано много статей и там в основном сравнивают iptables с nftables и кто-то даже рассказывает, что один безопаснее другого.

        На самом же деле в Linux с самого начала был и есть всего один межсетевой экран и называется он NetFilter, и поставляется NetFilter с ядром Linux. А всеми любимые iptables с nftables являются утилитами для управления и настройки, а не самим межсетевым экраном.

        Но тут мы рассмотрим другой более удобный и современный инструмент для взаимодействия с NetFilter, а именно UFW.

        Установим межсетевой экран:

        dnf install ufw

        Проверим список доступных приложений:

        ufw app list

        Включим межсетевой экран:

        ufw enable

        Разрешим ssh (ssh просто как пример):

        ufw allow 'SSH'

        Проверим статус:

        ufw status

        И увидим примерно следующее:

        В Действие Из
        -- -- --
        SSH ALLOW Anywhere
        224.0.0.251 mDNS ALLOW Anywhere
        SSH (v6) ALLOW Anywhere (v6)
        ff02::fb mDNS ALLOW Anywhere (v6)

        С помощью правил limit можно ограничить количество подключений к определённому порту с одного IP-адреса, это может быть полезно для защиты от атак перебора паролей. По умолчанию подключения блокируются, если пользователь пытается создать шесть и больше подключений за 30 секунд:

        ufw limit ssh/tcp

        18. Изменение названия localhost

        По умолчанию, во время установки Alma Linux ставит имя хоста localhost.localdomain. Если вы его не поменяли, то можно это сделать позже. Для начала давайте проверим, какое имя хоста у вас установлено. Делается это с помощью команды в консоли hostname, либо с помощью uname:

        hostname
        localhost.localdomain
        uname -n

        Для того чтобы изменить имя хоста в Alma Linux, необходимо отредактировать файл /etc/hostname.

        cat /etc/hostname
        localhost.localdomain

        Сохраняем файл и проверяем:

        hostname
        Alma Linux.localhost

        Есть готовая команда, которая сразу устанавливает необходимое имя сервера:

        hostnamectl set-hostname Alma Linux.localhost

        Вот собственно и всё, сервер настроен и готов, нет не к работе – к тонкой настройке под конкретные нужды. Можно было бы к статье добавить ещё описание настройки ssh авторизации по ключу, а также настройку Port Knocking и Fail2ban, но это уже была бы не базовая настройка.

        Подписаться на
        рассылку

        Будьте в курсе последних новостей отрасли

        Подписаться

        Команда

        • Виктор Стафеев
          Системный администратор
          Виктор Стафеев
          E-mail
          121@alfaopt.com
          Написать сообщение
        • Комментарии
        Загрузка комментариев...
        Назад к списку
        Услуги
        Интерактивная видеостудия
        Разработка сайтов на CMS
        Продвижение и реклама
        Графика и дизайн
        1C - установка и оптимизация
        Разработка мобильных приложений
        Видеопродакшн
        Продукция
        Компания
        О компании
        Команда
        Сертификаты
        Реквизиты
        Пользовательское соглашение
        Политика обработки персональных данных
        Публичный договор-оферта
        Правила работы в студии
        Как оставить отзыв
        Проекты
        Пресс-центр
        Контакты
        Подписка на рассылку
        +7 (800) 555-26-23
        Заказать звонок
        88005552623@mail.ru
        Тюмень, ул. Ленина 2а, ТРЦ Панорама, 6 этаж 603 офис
        • Вконтакте
        • Telegram
        • YouTube
        • Одноклассники
        • Whats App
        • Viber
        Версия для печати
        Политика конфиденциальности
        © 2023
        0

        Ваша корзина пуста

        Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
        В каталог
        Заказать звонок
        Написать сообщение
        Оставить отзыв
        Ближайший офис