ОС и ПО
На странице "ОС и ПО" на Planetahost.ru вы найдете информацию о различных операционных системах и программном обеспечении, которые могут быть использованы на вашем веб-сервере. Изучите особенности различных ОС, таких как Linux и Windows, и выберите наиболее подходящую для ваших потребностей. Узнайте о доступных программных решениях, таких как веб-серверы, базы данных и другие инструменты, которые помогут вам эффективно управлять вашим веб-проектом. Получите рекомендации по установке и настройке ПО, а также узнайте о последних трендах и новостях в мире операционных систем и программного обеспечения. Наши материалы помогут вам оптимально использовать ОС и ПО для вашего веб-сервера и обеспечить его стабильную работу.
- Linux
- Установка LAMP
- Установка и настройка CSF
- Подключение к серверу по ssh
- Как настроить авторизацию по ключу SSH
- Как добавить область подкачки на linux Ubuntu 20.04
- Как настроить поддержку русского языка в консоли
- Базовая настройка iptables
- Настройка fail2ban для защиты ssh соединения
- Подключение к серверу Linux Ubuntu 20.04 с графическим интерфейсом через VNC
- Windows
- Замена стандартного порта RDP
- Русификация Windows Server 2012
- Установка и работа с Putty в Windows
- Как подключиться к серверу с Windows по RDP
- Как отключить режим усиленной безопасности Interner Explorer в Windows Server
- Сетевые настройки Windows-сервера в кластере с технологией IP-fabric
- Как добавить нового пользователя Windows Server 2022
- Как посмотреть логи Windows Server 2022. Журнал событий.
- Как отключить полную проверку диска при загрузке ОС Windows Server
- Установка IIS на Windows Server 2022
- Установка русского языка на Windows Server 2022
- Установка и активация сервера лицензирования RDS на Windows Server 2022
- Как добавить правило в Windows Fierwall
Linux
Установка LAMP
Введение
Стек «LAMP» — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения. Этот термин представляет собой аббревиатуру, обозначающую операционную систему Linux с веб-сервером Apache. Данные сайта хранятся в базе данных MariaDB, а динамический контент обрабатывается PHP.
Хотя этот программный стек обычно включает MySQL в качестве системы управления базами данных, некоторые дистрибутивы Linux, включая Debian, используют MariaDB в качестве замены MySQL.
В этом руководстве вы установите стек LAMP на сервер Debian 11, используя MariaDB в качестве системы управления базой данных.
Шаг 1 — Установка Apache
Веб-сервер Apache является одним из самых популярных веб-серверов в мире. Он хорошо задокументирован, имеет активное сообщество пользователей и широко использовался на протяжении большей части истории Интернета, что делает его отличным выбором для размещения веб-сайта.
Начните с обновления кеша менеджера пакетов. Если вы впервые используете sudo в этом сеансе, вам будет предложено ввести пароль пользователя, чтобы подтвердить, что у вас есть права на управление системными пакетами с помощью apt:
sudo apt update
Затем установите Apache такой командой:
sudo apt install apache2
Эта команда предложит вам подтвердить установку Apache. Подтвердите, написав Y, затем ENTER.
Вы можете убедиться, что все прошло по плану, посетив общедоступный IP-адрес вашего сервера в веб-браузере:
http://ip_вашего_сервера
После перехода по адресу у Вас должна открыться тестовая страница:
Шаг 2 — Установка MariaDB
Теперь, когда у вас есть запущенный и работающий веб-сервер, вам необходимо установить систему базы данных, чтобы иметь возможность хранить и управлять данными для вашего сайта.
Чтобы установить программное обеспечение MariaDB, запустите команду:
sudo apt install mariadb-server
После завершения установки рекомендуется запустить сценарий безопасности, который предварительно устанавливается вместе с MariaDB. Этот сценарий удалит некоторые небезопасные настройки по умолчанию и заблокирует доступ к вашей системе баз данных. Запустите интерактивный скрипт, выполнив:
sudo mysql_secure_installation
Этот сценарий проведет вас через ряд подсказок, где вы можете внести некоторые изменения в настройку MariaDB. Первое приглашение попросит вас ввести текущий пароль root базы данных. Не следует путать с системным паролем. Пользователь root базы данных является администратором с полными привилегиями в системе базы данных. Поскольку вы только что установили MariaDB и еще не вносили никаких изменений в конфигурацию, этот пароль будет пустым, поэтому нажмите ENTER в командной строке.
Следующее приглашение спрашивает, хотите ли вы установить пароль root для базы данных. Поскольку MariaDB использует специальный метод аутентификации для пользователя root, который обычно более безопасен, чем использование пароля, вам не нужно устанавливать его сейчас. Нажмите N, а затем ENTER.
Оттуда вы можете нажать Y, а затем ENTER, чтобы принять значения по умолчанию для всех последующих вопросов. Это удалит анонимных пользователей и тестовую базу данных, отключит удаленный вход в систему root и загрузит эти новые правила, чтобы MariaDB сразу учитывала внесенные Вами изменения.
Когда вы закончите, войдите в консоль MariaDB:
sudo mariadb
Вы должны получить такой ответ:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.5.15-MariaDB-0+deb11u1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Обратите внимание, что вам не нужно было вводить пароль для подключения в качестве пользователя root. Это связано с тем, что методом аутентификации по умолчанию для административного пользователя MariaDB является unix_socket вместо пароля. Хотя на первый взгляд это может показаться проблемой безопасности, это делает сервер базы данных более безопасным, поскольку единственными пользователями, которым разрешено входить в систему в качестве пользователя root MariaDB, являются системные пользователи с привилегиями sudo, подключающиеся из консоли или через приложение, работающее с те же привилегии. На практике это означает, что вы не сможете использовать администратора базы данных root для подключения из вашего PHP-приложения.
Для повышения безопасности лучше иметь выделенные учетные записи пользователей с менее широкими привилегиями, настроенными для каждой базы данных, особенно если вы планируете разместить несколько баз данных на своем сервере.
Выйти из консоли MariaDB можно следующим образом:
exit
Шаг 3 — Установка PHP
У вас установлен Apache для обслуживания вашего контента и установлена MariaDB для хранения и управления вашими данными. PHP — это компонент вашей установки, который будет обрабатывать код для отображения динамического содержимого конечному пользователю. Он может запускать сценарии, подключаться к вашим базам данных MariaDB для получения информации и передавать обработанный контент на ваш веб-сервер для отображения.
В дополнение к пакету php вам понадобится php-mysql, модуль PHP, который позволяет PHP взаимодействовать с базой данных на основе MySQL, такой как MariaDB. Вам также понадобится libapache2-mod-php, чтобы Apache мог обрабатывать файлы PHP. Базовые пакеты PHP будут автоматически установлены как зависимости.
Чтобы установить эти пакеты, выполните следующую команду:
sudo apt install php libapache2-mod-php php-mysql
После завершения установки вы можете проверить свою версию PHP с помощью следующей команды:
php -v
Вы должны получить такой вывод:
PHP 7.4.30 (cli) (built: Jul 7 2022 15:51:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies
На этом этапе ваш стек LAMP полностью готов к работе, но перед тестированием вашей установки с помощью PHP-скрипта лучше всего настроить правильный виртуальный хост Apache для хранения файлов и папок вашего веб-сайта.
Шаг 4 — Создание виртуального хоста Apache
При использовании веб-сервера Apache вы можете создавать виртуальные хосты (аналогично блокам сервера в Nginx), чтобы инкапсулировать детали конфигурации и размещать более одного домена на одном сервере. В этом руководстве мы настроим домен с именем vash_domain, но вы должны заменить его своим собственным доменным именем.
По умолчанию Apache предоставляет свое содержимое из каталога, расположенного в /var/www/html, используя конфигурацию, содержащуюся в /etc/apache2/sites-available/000-default.conf. Вместо изменения файла конфигурации веб-сайта по умолчанию /var/www/html вы создадите новый виртуальный хост для тестирования среды PHP. Виртуальные хосты позволяют размещать несколько веб-сайтов на одном сервере Apache. Вы также создадите структуру каталогов в /var/www для сайта vash_domain, оставив /var/www/html в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует каким-либо другим сайтам.
Начните с создания корневого веб-каталога для vash_domain следующим образом:
sudo mkdir /var/www/vash_domain
Затем назначьте владельца каталога с помощью переменной окружения $USER, которая будет ссылаться на вашего текущего системного пользователя:
sudo chown -R $USER:$USER /var/www/vash_domain
Затем откройте новый файл конфигурации в каталоге, доступном для сайтов Apache, с помощью предпочитаемого вами редактора командной строки. Здесь мы будем использовать nano:
sudo nano /etc/apache2/sites-available/vash_domain.conf
Команда выше создаст новый пустой файл. Добавьте следующую базовую конфигурацию с вашим собственным доменным именем:
<VirtualHost *:80>
ServerName vash_domain
ServerAlias www.vash_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/vash_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Сохраните и закройте файл, когда закончите. Если вы используете nano, вы можете сделать это, нажав CTRL + X, затем Y и ENTER.
С помощью данной конфигурации VirtualHost вы говорите Apache обслуживать vash_domain, используя /var/www/vash_domain в качестве корневого веб-каталога. Если вы хотите протестировать Apache без доменного имени, вы можете удалить или закомментировать параметры ServerName и ServerAlias, добавив знак решетки (#) в начало строк каждого параметра.
Теперь используйте команду a2ensite, чтобы включить этот виртуальный хост:
sudo a2ensite vash_domain
Возможно, вы захотите отключить веб-сайт по умолчанию, который устанавливается вместе с Apache. Это необходимо, если вы не используете собственное доменное имя, потому что в этом случае конфигурация Apache по умолчанию переопределит ваш виртуальный хост. Чтобы отключить веб-сайт Apache по умолчанию, запустите:
sudo a2dissite 000-default
Чтобы убедиться, что ваш файл конфигурации не содержит синтаксических ошибок, выполните следующую команду:
sudo apache2ctl configtest
Наконец, перезагрузите Apache, чтобы эти изменения вступили в силу:
sudo systemctl reload apache2
Далее вы создадите PHP-скрипт для проверки правильности установки и настройки PHP на вашем сервере.
Шаг 5 — Тестирование работы PHP
Теперь, когда у вас есть специальное место для размещения файлов и папок вашего веб-сайта, создайте тестовый скрипт PHP, чтобы убедиться, что Apache может обрабатывать и обрабатывать запросы на файлы PHP.
nano /var/www/vash_domain/info.php
Команда откроет пустой файл. Добавьте в файл следующий текст, который является кодом PHP:
<?php
phpinfo();
Сохраните и закройте файл, когда закончите. Если вы используете nano, вы можете сделать это, нажав CTRL + X, затем Y и ENTER.
Чтобы протестировать скрипт, откройте свой веб-браузер и перейдите по доменному имени или IP-адресу вашего сервера, а затем к имени скрипта, в данном случае это info.php:
http://vash_domain/info.php
Вы должны увидеть такую страницу:
На этой странице представлена информация о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения ваших настроек.
Если вы видите эту страницу в своем браузере, ваша установка PHP работает должным образом.
После проверки соответствующей информации о вашем PHP-сервере на этой странице лучше всего удалить созданный вами файл, поскольку он содержит конфиденциальную информацию о вашей среде PHP и вашем сервере Debian. Для этого используйте команду rm:
sudo rm /var/www/vash_domain/info.php
На этом установка и тестирование LAMP завершено.
Установка и настройка CSF
Введение
Брандмауэр Config Server Firewall (или CSF) - это бесплатный и продвинутый брандмауэр для большинства дистрибутивов Linux и VPS на базе Linux. В дополнение к базовой функциональности брандмауэра – фильтрации пакетов – CSF включает в себя другие функции безопасности, такие как обнаружение входа в систему/ вторжений/наводнений. CSF включает интеграцию пользовательского интерфейса для cPanel, DirectAdmin и Webmin, но в этом руководстве рассматривается только использование командной строки. CSF способен распознавать множество атак, таких как сканирование портов, синхронизирующие потоки и атаки методом перебора при входе во многие сервисы. Он настроен на временную блокировку клиентов, которые, как было обнаружено, атакуют облачный сервер.
С полным списком поддерживаемых операционных систем и функций можно ознакомиться на веб-сайте Config Server.
Для начала, пожалуйста, обратите внимание, что Perl и libwww являются обязательными условиями для установки CSF в любом из поддерживаемых дистрибутивов (RHEL и CentOS, openSUSE, Debian и Ubuntu). Поскольку он должен быть доступен по умолчанию, с вашей стороны не требуется никаких действий, если только один из следующих шагов не вернет фатальную ошибку (в этом случае используйте систему управления пакетами для установки отсутствующих зависимостей).
yum install perl-libwww-perl #CentOS/Fedora
apt install libwww-perl #Debian/Ubuntu
Если Вы хотите установить CSF на Debian 11 и выше, то Вам потребуется установить пакет iptables. Сделать это можно командой: apt install iptables
Шаг 1 – Загрузка CSF
Перейдем в папку /usr/src и скачаем CSF:
cd /usr/src
wget https://download.configserver.com/csf.tgz
Шаг 2 – Распакуем архив с CSF
Распаковываем архив с файлами и переходим в папку csf:
tar xzf csf.tgz
cd csf
Шаг 3 – Запускаем скрипт установки
Скрипт проверит, установлены ли все зависимости, создаст необходимые структуры каталогов и файлы для веб-интерфейса, обнаружит открытые в данный момент порты и напомнит вам перезапустить демонов csf и lfd после завершения начальной настройки.
sh install.sh
Ваш IP-адрес был добавлен в белый список, если это возможно. Кроме того, SSH-порт был открыт автоматически, даже если он использует пользовательский порт. Брандмауэр также был настроен на включение режима тестирования, что означает, что правила iptables будут автоматически удалены через пять минут после запуска CSF. Это следует отключить, как только вы убедитесь, что ваша конфигурация работает, и вы не будете заблокированы.
Теперь запустим стандартный тест для проверки наличия всех модулей для корректной работы CSF:
perl /usr/local/csf/bin/csftest.pl
Вы должны получить такой вывод:
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server
Если получаете ошибку, то проверьте наличие пакета iptables на своем сервере.
Шаг 4 – Отключение Firewalld
Отключите брандмауэр, если он запущен, и настройте CSF:
systemctl stop firewalld
systemctl disable firewalld
Шаг 5 – Базовая настройка CSF
CSF можно настроить, отредактировав его файл конфигурации csf.conf в /etc/csf:
nano /etc/csf/csf.conf
Настройка портов
Чем меньше доступ к вашему VPS, тем безопаснее ваш сервер. Однако не все порты могут быть закрыты, так как клиенты должны иметь возможность пользоваться вашими услугами.
По умолчанию открыты следующие порты:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"
Тут Вы сможете найти подробное описание каждого порта и если считаете, что он ненужен, то можете удалить из файла CSF.
Приведем парочку примеров конфигурации портов, которые нужны для успешного запуска той или иной службы.
На любом сервере:
TCP_IN: 22,53 TCP_OUT: 22,53,80,113,443 UPD_IN: 53 UPD_OUT: 53,113,123
Apache:
TCP_IN: 80,443
FTP-сервер:
TCP_IN: 20,21 TCP_OUT: 20,21 UPD_IN: 20,21 UPD_OUT:20,21
Почтовый сервер:
TCP_IN: 25,110,143,587,993,995 TCP_OUT: 25,110
Сервер MySQL (если требуется удаленный доступ)
TCP_IN: 3306 TCP_OUT: 3306
Если вы используете IPv6 для своих служб, вам также следует настроить TCP6_IN, TCP6_OUT, UPD6_IN и UPD6_OUT аналогично настройке портов IPv4 ранее.
Дополнительные настройки
CSF предлагает огромное количество различных опций в своих конфигурационных файлах. Некоторые из наиболее часто используемых настроек описаны ниже.
ICMP_IN Установка ICMP_IN в 1 разрешает пинговать ваш сервер, а 0 отклоняет такие запросы. Если вы размещаете какие-либо общедоступные службы, рекомендуется разрешать запросы ICMP, поскольку их можно использовать для определения доступности вашей службы.
ICMP_IN_LIMIT Устанавливает количество запросов ICMP (ping), разрешенных с одного IP-адреса в течение заданного промежутка времени. Обычно нет необходимости изменять значение по умолчанию (1/с)
DENY_IP_LIMIT Устанавливает количество заблокированных IP-адресов, которые CSF отслеживает. Рекомендуется ограничить количество запрещенных IP-адресов, так как слишком большое количество блоков может снизить производительность сервера.
DENY_TEMP_IP_LIMIT То же, что и выше, но для временных блоков IP-адресов.
PACKET_FILTER Фильтровать недопустимые, нежелательные и незаконные пакеты.
SYNFLOOD, SUNFLOOD_RATE и SYNFLOOD_BURST Обеспечивает защиту от SYN-флуд-атак. Это замедляет инициализацию каждого соединения, поэтому вам следует включать это, только если вы знаете, что ваш сервер подвергается атаке.
CONNLIMIT Ограничивает количество одновременных активных подключений к порту.
Пример:
22;tcp;5;250
Это заблокирует IP-адрес, если на порту 22 будет установлено более 5 подключений с использованием протокола TCP в течение 250 секунд. Блокировка снимается по прошествии 250 секунд после отправки последнего пакета клиентом на этот порт. Вы можете добавить больше портов, разделив их запятыми, как описано ниже.
порт1;протокол1;количество_соединений1;время1,порт2;протокол2;количество_соединений2;время2
Больше настроек
CSF предлагает широкий спектр настроек, которые мы не рассматривали в этом руководстве. Значения по умолчанию, как правило, хороши и могут использоваться практически на любом сервере. Настройки по умолчанию настроены на предотвращение большинства флуд-атак, сканирования портов и попыток несанкционированного доступа.
Однако если вы хотите настроить конфигурацию более подробно, прочтите комментарии в файле /etc/csf/csf.conf и отредактируйте их по своему усмотрению.
Без установки Вы можете ознакомится с описанием каждой функции Тут.
Шаг 6 – Применение изменений
Всякий раз, когда вы изменяете настройки в csf.conf, вы должны сохранить файлы и перезапустить CSF, чтобы изменения вступили в силу.
Когда Вы закончите редактировать файл conf.csf, закройте файл, нажав Ctrl + X. Когда вас спросят, сохранять изменения или нет, нажмите Y, чтобы сохранить изменения.
После этого следует применить изменения, перезапустив CSF командой:
csf -r
Если все прошло по плану, и вы все еще можете получить доступ к серверу, откройте файл конфигурации еще раз:
nano /etc/csf/csf.conf
и измените параметр TESTING в начале файла конфигурации на 0, как показано ниже:
TESTING = "0"
Сохраните файл и примените изменения с помощью команды:
csf -r
Шаг 7 – Активация CSF
Пришло запустить CSF с нашими правилами в работу:
systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v
На этом базовая настройка CSF завершена.
Шаг 8 – Работа с CLI CSF
Скоро...
Подключение к серверу по ssh
SSH — сетевой протокол, позволяющий создать безопасное удалённое подключение к серверам на базе OC Linux.
Как подключиться c OC Windows по SSH
Если на вашем компьютере установлена ОС Windows, а на сервере — UNIX-подобная система (например, Ubuntu, Debian, CentOS и др.), то для установки SSH-соединения можно использовать PuTTY. Это бесплатная программа под Windows состоит из одного запускаемого файла и не требует установки. Скачать её можно с официального сайта по ссылке
Чтобы установить соединение при помощи PuTTY, необходимо проделать следующие действия:
1.Скачайте нужную версию PuTTY по ссылке.
2. Запустите файл putty.exe. Откроется окно программы. Вводим IP-адрес сервера в графу «Имя хоста». Проверяем графу «Тип соединения» — должен быть выбран пункт «SSH». Нажимаем «Соединиться».
Может появиться предупреждение системы безопасности PuTTY — оно срабатывает при подключении к новому серверу. Нажмите Да — и соединение продолжится.
3. Вводим логин и нажимаем "Enter". Затем вводим пароль и снова нажимаем "Enter"
4. Готово. Мы подключились к серверу по SSH
Как подключиться c OC Linux по SSH
Для подключения используем SSH-клиент Terminal, который встроен в ОС на основе Linux. При вводе команд нужно помнить, что в Linux-образных ОС они вводятся только в нижнем регистре (с маленькой буквы).
1. Открываем приложение. Вводим команду вида «ssh логин@IP-адрес» . Нажимаем «Enter».
2. Если пользователь использует SSH-соединение первый раз, ему потребуется ввести команду подтверждения («Yes»)
3. Вводим пароль от виртуального сервера и нажимаем "Enter".
4. Готово. Вы успешно подкюлчились к серверу
Как подключиться c macOS и iOS по SSH
Для подключения к серверу по SSH с устройств на операционной системе macOS, также как и в предыдущем случае, используем встроенный клиент Terminal.
1. Открываем приложение. Вводим команду с данными сервера «ssh логин@IP-адрес». Нажимаем «Enter».
2. При первом входе подтверждаем свои действия соответствующей командой «Yes».
3. Вводим пароль от виртуального сервера.
4. Подключение к виртуальному серверу по протоколу SSH завершено.
Как настроить авторизацию по ключу SSH
SSH-ключи используются для идентификации клиента при подключении к серверу по SSH-протоколу. Используйте этот способ вместо аутентификации по паролю.
SSH-ключи представляют собой пару — закрытый и открытый ключ. Закрытый должен храниться в закрытом доступе у клиента, открытый отправляется на сервер и размещается в файле authorized_keys.
Создание SSH-ключей в Linux на примере Ubuntu
На клиентской стороне должен быть установлен пакет ssh (openssh). При необходимости пакет можно установить следующей командой:
sudo apt-get install ssh
В некоторых ОС компоненты OpenSSH можно установить отдельно для клиента openssh-client и отдельно для сервера openssh-server.
sudo apt install openssh-server openssh-clients
На клиентском компьютере в командной строке выполните команду генерации ключей:
ssh-keygen
Введите путь файла, в который будут помещены ключи. Каталог по умолчанию указан в скобках, в примере /домашний_каталог/.ssh/id_rsa. Если хотите оставить расположение по умолчанию, нажмите Enter.
Пароль (passphrase) используется для ограничения доступа к закрытому ключу. Пароль усложнит использование ключа третьими лицами в случае утраты. Если не хотите использовать секретную фразу, нажмите Enter без заполнения строки.
Успешно сгенерировав пару ключей, вы увидите уведомление:
Открытый ключ хранится в файле /домашний_каталог/.ssh/id_rsa.pub, закрытый — /домашний_каталог/.ssh/id_rsa.
Скопируйте открытый ключ на сервер в файл /домашний_каталог/.ssh/authorized_keys. Одной строкой:
cat ~/.ssh/id_rsa.pub | ssh username@ip-адрес-сервера 'cat >> ~/.ssh/authorized_keys'
Также Вы можете скопировать ваш ключ при помощи ssh-copy-id. Данный метод подойдет тем, чья ОС поддерживает команду SSH-Copy-ID, и удаленный сервер имеет доступ по SSH без ключа. Введите команду:
ssh-copy-id username@remote_host
Необходимо будет ввести пароль от пользователя удаленного сервера. После успешного подключения ключи будут добавлены и мы увидим соответствующий вывод:
Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.
Создание SSH-ключей на Windows с помощью PuTTYgen
Если вы используете ОС Windows, то подключиться по SSH к вашему (Linux) серверу можно через PuTTY или OpenSSH. Генерация ключей в этом случае выполняется также при помощи этих программ. В примере мы используем клиент PuTTY.
Запустите приложение PuTTYgen которое устанавливается вместе с PuTTY.
Выберите тип ключа SSH2-RSA и нажмите на кнопку "Generate".
В процессе генерации ключей несколько раз произвольно проведите мышкой по экрану приложения для создания случайных величин, используемых для ключей.
После завершения создания ключей открытый ключ выводится на экран, закрытый хранится в памяти приложения. Чтобы сохранить эти ключи нажмите "Save public key" и "Save private key" . Укажите расположение файлов с ключами.
При сохранении закрытого ключа, если не заполнено поле "Key passphrase" , появится запрос «Хотите ли вы сохранить ключ без секретной фразы?»
Теперь открытый ключ необходимо скопировать на сервер в файл authorized_keys. Используйте WinSCP или другой клиент для работы с файлами на удалённом Linux-сервере. Вы можете скопировать файл с открытым ключом целиком на сервер, чтоб его копия хранилась в папке .ssh
При запуске PuTTY укажите путь к закрытому ключу на локальном компьютере. Для этого во вкладке "Connections" - "Auth" выберите необходимый путь.
Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.
Отключение аутентификации по паролю
Подключитесь к серверу по SSH, используя пароль, и откройте файл /etc/ssh/sshd_config для редактирования.
Убедитесь, что указан правильный путь к открытым ключам SSH, поставьте значение параметра
PasswordAuthentication no.
Перезапустите службу sshd командой:
service sshd restart
Готово! После перезапуска службы подключайтесь к серверу.
Как добавить область подкачки на linux Ubuntu 20.04
Подкачка — это часть хранилища на жестком диске, которая была выделена для временного хранения данных операционной системой в случае переполнения оперативной памяти. Это позволит вам увеличить количество информации, которое ваш сервер может хранить в рабочей памяти, соблюдая определенные меры предосторожности. Область подкачки на жестком диске будет использоваться в основном тогда, когда в оперативной памяти больше нет достаточного места хранения данных для приложений.
Чтение и запись информации с диска намного медленнее, чем из оперативной памяти. Операционная система будет по-прежнему предпочитать работать с данными приложений в памяти, а подкачку использовать для более старых данных. Как правило, полезно перестраховываться и иметь область подкачки в качестве резерва на случай нехватки оперативной памяти, чтобы исключить ошибки памяти в системах без SSD
1. Проверка информации о подкачке в системе
Для начала мы проверим, есть ли уже в системе область подкачки. Можно иметь несколько файлов или разделов подкачки, но обычно одного достаточно.
Можно узнать, сконфигурирована ли в системе подкачка, введя команду:
sudo swapon --show
Если после этой команды ничего не появляется, в системе сейчас нет области подкачки.
Можно убедиться в отсутствии активной подкачки при помощи утилиты free:
В строке Swap видно, что в системе отсутствует активная подкачка.
2. Проверка свободного пространства в разделе жесткого диска
Перед созданием файла подкачки проверим текущее состояние диска, чтобы убедиться, что у нас достаточно места. Вводим комнаду:
df -h
В данном случае устройство с / в столбце "Mounted on" — наш диск. В данном примере у нас достаточно места (использовано только 3,4 Гбайт). Ваше использование, вероятно, будет другим.
Хотя существует много мнений относительно правильного размера области подкачки, на самом деле он зависит от ваших личных предпочтений и требований приложений. Обычно можно начать с объема, равного объему оперативной памяти в системе, или в два раза большего. Еще одно полезное общее правило — любое превышение 4 Гбайт для области подкачки, скорее всего, не нужно, если вы используете ее только для резервирования оперативной памяти.
3. Создание файла подкачки
Теперь, когда известно свободное место на жестком диске, можно создать файл подкачки . Мы добавим файл необходимого размера под названием swapfile в корневую (/) директорию.
Лучше всего создавать файл подкачки при помощи программы fallocate. Эта команда мгновенно создает файл указанного размера.
Поскольку на сервере в нашем случае 1 Гбайт оперативной памяти, в этом руководстве создадим файл размером 1 Гбайт. Скорректируйте с учетом необходимости на вашем сервере:
sudo fallocate -l 1G /swapfile
Чтобы проверить правильность выделенного объема памяти, введите:
ls -lh /swapfile
4. Активация файла подкачки
Теперь, когда у нас есть файл правильного размера, нам нужно превратить его в пространство подкачки.
Сначала нужно изменить права доступа к файлу, чтобы только пользователи с правами root могли читать его содержимое. Это предотвращает доступ обычных пользователей к файлу — такой доступ может существенно влиять на безопасность.
Чтобы передать все права доступа пользователям root, введите:
sudo chmod 600 /swapfile
Теперь только у пользователя с правами root отмечены флажки чтения и записи.
Теперь можем отметить файл как пространство подкачки, введя следующее:
sudo mkswap /swapfile
После этого мы можем активировать файл подкачки, чтобы система могла его использовать:
sudo swapon /swapfile
Убедитесь, что пространство подкачки активировано, введя следующее:
sudo swapon --show
Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты free:
free -h
Подкачка успешно настроена, и операционная система начнет использовать ее по мере необходимости.
5. Сделать файл подкачки постоянным
В результате внесенных нами изменений файл подкачки активирован для текущей сессии. После перезагрузки сервер не сохранит настройки подкачки автоматически. Мы можем изменить это, добавив файл подкачки к файлу /etc/fstab.
Сделайте резервную копию файла /etc/fstab на случай если что-то пойдет не так:
sudo cp /etc/fstab /etc/fstab.bak
Добавьте информацию о файле подкачки в конец файла /etc/fstab, введя следующее:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Как настроить поддержку русского языка в консоли
Добавление русского языка в Ubuntu/Debian
Установим\обновим пакет locales:
apt-get install locales
Затем выполним команду:
dpkg-reconfigure locales
Откроется диалоговое окно, в котором необходимо добавить поддержку русского языка
Выберем ru_RU.UTF-8 UTF-8
После выбора локалей для генерации будет предложен выбор локали по умолчанию в системном окружении. Выберем ru_RU.UTF-8 для поддержки русского языка в терминале
Добавление русского языка в CentOS
Для того чтобы проверить наличие готовых локалей в системе выполняем команду
locale -a | grep ru
И в выводе команды ищем необходимую нам локаль. Для случая с кодировкой UTF-8 необходимая локаль имеет вид ru_RU.utf8. Если такая строка есть в выводе команды то делаем следующее:
Создаем файл /etc/sysconfig/i18n командой:
touch /etc/sysconfig/i18n
После чего в файл пишем следующие строки:
LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"
После этих изменений сохраняем файл, выходим из консоли и заходим в нее опять. После этих действий мы наблюдаем русский шрифт в локали.
Если же при выводе команды
locale -a | grep ru
нет русской локали то ее необходимо сделать. Команда для этого выглядит так:
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
Что она делает. Она берет из папки /usr/share/i18n/locales/ файл ru_RU (это файл с русской локалью) и из папки /usr/share/i18n/charmaps файл UTF-8.gz (это символьная карта для юникода) и на основе этих файлов генерит нужную нам локаль ru_RU.UTF-8
После этого действия у нас в системе появляется нужная нам локаль, а дальше делаем все так, как описано на абзац выше.
Добавлю только что файлы находящиеся в папке usr/share/i18n/ принадлежат glibc-common-2.x.x и если вы их не наблюдаете там, то необходимо разбираться с самим glibc-common.
Установить русский язык в качестве системного можно с помощью команды:
localectl set-locale LANG=ru_RU.UTF-8
Посмотреть доступные раскладки русских клавиатур:
[root@localhost]# localectl list-keymaps | grep ru
ruwin_alt-CP1251
ruwin_alt-KOI8-R
ruwin_alt-UTF-8
ruwin_alt_sh-UTF-8
ruwin_cplk-CP1251
ruwin_cplk-KOI8-R
ruwin_cplk-UTF-8
ruwin_ct_sh-CP1251
ruwin_ct_sh-KOI8-R
ruwin_ct_sh-UTF-8
ruwin_ctrl-CP1251
ruwin_ctrl-KOI8-R
ruwin_ctrl-UTF-8
Установить русскую раскладку с переключением по ALT+SHIFT:
localectl set-keymap ruwin_alt_sh-UTF-8
После применения необходимо перезагрузить сервер.
Базовая настройка iptables
Правильно настроенный брандмауэр – один из основных аспектов безопасности сервера. Брандмауэр позволяет выбрать для сервера индивидуальные правила и политику, которые ограничат трафик. Брандмауэры, такие как iptables, позволяют определять структурные рамки, в которых будут применяться эти правила.
Данное руководство поможет вам составить список базовых правил брандмауэра для сервера Ubuntu 20.04. Такой список легко расширить, и в дальнейшем вы сможете использовать этот шаблон для создания более сложных правил.
Установка iptables-persistent
Начнем с обновления локального кеша пакетов:
sudo apt update
Теперь нужно установить пакет iptables-persistent, который позволяет сохранять наборы правил брандмауэра и автоматически использовать их в дальнейшем:
sudo apt install iptables-persistent
Во время установки пакет предложит вам сохранить текущий набор правил брандмауэра. Чтобы сделать это, выберите yes. Обратите внимание, что нужно выполнить команду netfilter-persistent для запуска службы брандмауэра iptables. Потом мы отредактируем сгенерированные файлы правил.
Команда iptables обрабатывает только трафик IPv4. Для обработки трафика IPv6 существует отдельный инструмент, ip6tables. Правила для IPv4 и IPv6 хранятся в отдельных таблицах и цепочках. Пакет iptables-persistent записывает правила IPv4 в /etc/iptables/rules.v4, а правила IPv6 – в /etc/iptables/rules.v6.
Основные команды iptables
Вывод текущих правил в табличном виде выполняется при помощи вызова команды iptables с ключом -L:
sudo iptables -L
Вывод:
Output:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
В выводе представлены 3 стандартных цепочки (INPUT, OUTPUT, FORWARD) и действие по умолчанию (default policy) для каждой цепочки – ACCEPT. Как видим, у нас пока нет боевых правил. По умолчанию iptables идет без предустановленных правил и пропускает весь трафик.
Вывод текущих настроенных правил в виде строк выполняется при помощи вызова команды iptables с ключом -S:
sudo iptables -S
Вывод:
Output:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Ключ -P указывает на действие, применяемое к пакету по умолчанию.
Построчный вывод полезен тем, что каждая строка вывода — это полноценная команда в iptables (например, мы можем получить такой вывод уже на настроенном сервере и использовать его для настройки другого сервера, сделав небольшие правки).
Для очистки всех правил используется ключ -F:
sudo iptables -F
Тут стоит отметить важность политик по умолчанию, так как они не удалятся после применения этой команды. Поясним подробней. Допустим у нас есть только удаленный доступ к серверу и в политике iptables по умолчанию выставлено действие DROP. В результате чего после очистки всех правил повторное подключение к серверу будет невозможно. Поэтому, если у нас нет физического доступа или консольного подключения к серверу, то перед сбросом всех правил необходимо убедиться, что действие по умолчанию – ACCEPT. Это позволит нам удаленно подключиться к серверу, создать разрешающее удаленную сессию первое правило. После этого для повышения безопасности можно уже выставить политику по умолчанию – DROP.
Чтобы задать действие по умолчанию ACCEPT и выполнить последующую очистку правил вводим:
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
Создание правил в iptables
Создадим правило, которое позволит принимать текущее SSH-соединение между нами и сервером
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED, RELATED -j ACCEPT
-A INPUT
: флаг -A (append) – добавляет правило в конец цепочки INPUT-m conntrack
: этот параметр вызывает модуль conntrack для отслеживания информации о соединениях.–ctstate ESTABLISHED, RELATED
: выделяем все соединения в состоянии ESTABLISHED (выделяется трафик по уже существующим соединениям) и RELATED (трафик по новым соединениям, но связанных с уже открытыми).-j ACCEPT
: действие (target) – то, что будет произведено с пакетом, если он попал под критерий. В нашем случае это ACCEPT.
Добавим еще два правила, разрешающие SSH-соединения (по умолчанию на 22 порт) и WEB-подключения на 80 порт.
Приведем синтаксис этих правил:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Разберем новые параметры:
-p tcp
: фильтруем пакеты, использующие протокол TCP–dport
: выделяем TCP-пакеты с портом назначения 22 и 80.
Также есть еще одно правило, которое связано с понятием “петли” (loopback-интерфейса). Используется loopback-интерфейс для взаимодействия служб и приложений в пределах одной локальной системы, без надобности отправления пакетов на сетевой интерфейс.
Правило выглядит так:
sudo iptables -I INPUT 1 -i lo -j ACCEPT
Разберем его:
- Ключ
-I
(insert) указывает вставить правило в цепочку на 1-ое место. Порядковый номер вставки указывается за именем цепочки INPUT (напоминаем, что флаг -A добавляет правило в конец) -i lo
– указываем интерфейс loopback и разрешаем трафик через него.
Мы составили 4 правила, на основании которых iptables будет разрешать трафик на сервер. Но поскольку мы не создали ни одного запрещающего правила, то все соединения с сервером будут по-прежнему разрешены.
Есть два способа реализации блокирования нежелательного трафика:
- Политика запрета по умолчанию.
Достигается написанием правила:
sudo iptables -P INPUT DROP
Тут надо помнить об опасности потери удаленного доступа к серверу. Желательно его применять, когда есть консольный доступ к серверу.
- Добавление запрещающего правила в конец цепочки.
sudo iptables -A INPUT -j DROP
Тут уже нет опасности потери удаленного подключения к серверу, но есть особенность добавления правил. Новые правила необходимо добавлять в цепочку перед запрещающим правилом. Достигается это путем ввода набора из трех правил: удаление запрещающего правила, добавление нового правила, добавление запрещающего правила в конец.
sudo iptables -D INPUT -j DROP
sudo iptables -A INPUT "MY_NEW_RULE"
sudo iptables -A INPUT -j DROP
Также можно вставить новое правило до запрещающего правила, используя порядковый номер. Для этого сперва узнаем нумерацию имеющихся правил:
sudo iptables -L --line-numbers
Потом на основании вывода вставляем правило под нужным порядковым номером:
sudo iptables -I INPUT 4 "MY_NEW_RULE"
Удаление правил iptables
Приведем различные способы удаления правил iptables.
Удаление по имени правила.
В этом случае используется ключ -D после которого следует имя правила в виде строки. Имя правила узнаем при помощи команды, рассмотренной выше:
sudo iptables -S
Допустим в данном выводе мы нашли правило
-A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
и которое подлежит удалению.
Для этого введем:
iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
Обратите внимание, что ключ -A при удалении правила не указывается.
Удаление по номеру правила в цепочке.
Для удаления этим способом нам необходимо знать название цепочки, к которой принадлежит правило и его порядковый номер в ней. Все это определяется командой:
sudo iptables -L --line-numbers
Вывод:
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
2 ACCEPT all -- anywhere anywhere
3 DROP all -- anywhere anywhere ctstate INVALID
4 UDP udp -- anywhere anywhere ctstate NEW
5 TCP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN ctstate NEW
6 ICMP icmp -- anywhere anywhere ctstate NEW
7 REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable
И само удаление:
sudo iptables -D ИМЯ ЦЕПОЧКИ НОМЕР
Например, удалим привило с номером 5 в цепочке INPUT:
sudo iptables -D INPUT 5
Удаление всех правил iptables
Мы можем удалить все правила в пределах одной цепи. Для этого используется ключ -F. Например, удалим все правила цепочки INPUT:
sudo iptables -F INPUT
Для удаления правил во всех цепочках вводим команду:
sudo iptables -F
Сохранение правил iptables
По умолчанию правила iptables не хранятся в постоянной памяти и сбрасываются после перезагрузки.Один из способов сохранения правил — использование пакета iptables-persistent, который мы установили ранее.
Для сохранения правил введите команду:
sudo service netfilter-persistent save
Система при следующей загрузке использует последние сохраненные правила
В процессе настройки брандмауэра, по разным причинам, возникает необходимость вернуться к заведомо рабочим, испытанным правилам. Сервис netfilter-persistent сохраняет их в файле /etc/iptables/rules.v4.
Восстанавливаем правила следующей командой:
iptables-restore < /etc/iptables/rules.v4
Примеры настройки iptables
Как заблокировать IP-адрес в iptables
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
Как разрешить IP-адрес в iptables
Необходимо разрешить весь трафик к серверу для клиента с IP-адресом 192.168.1.100:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
Как открыть порт в iptables
Предположим, что политика по умолчанию — блокировать все, что явно не разрешено. Откроем порты веб-сервера для обеспечения работы HTTP протокола — порт 80, и поддержки HTTPS протокола совместно с SSL — порт 443. Также для доступа к серверу по SSH откроем порт 22. Эту задачу можно решить как минимум двумя способами: создать однострочное правило, либо прописать правила по каждому из портов, рассмотрим оба. В одну строку:
iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT
При использовании расширения multiport, всегда необходимо использовать критерий -p tcp или -p udp, таким образом, одной строкой можно указать до 15 разных портов через запятую. Важно не путать критерии —-dport и —-dports. Первый из них используется для указания одного порта, второй сразу для нескольких, аналогично с —sport и —sports.
Вариант многострочной записи — для каждого порта свое правило:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Как закрыть порт в iptables
Необходимость в закрытии порта может возникнуть, когда используется политика по умолчанию ACCEPT и доступ к определенному сервису нужно ограничить. Рассмотрим несколько ситуаций.
Закроем доступ к FTP серверу, работающему на 21 порту:
iptables -A INPUT -p tcp --dport 21 -j DROP
Оставим доступ только себе к SSH серверу, для остальных запретим:
iptables -A INPUT -p tcp ! -s 192.168.1.100 --dport 22 -j DROP
Здесь 192.168.1.100 — IP-адрес доверенной машины, знак ! перед ключом -s используется для инверсии, т.е. всем, кроме этого адреса доступ закрыт.
Как разрешить или запретить ICMP ping трафик
Разрешить ping хоста:
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
Запретить входящие icmp-пакеты:
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
Как разрешить трафик на локальном узле
Трафик на локальном сетевом интерфейсе lo должен быть разрешен для корректной работы сервисов, использующих для обмена данными интерфейс локальной петли, например, базы данных, прокси-сервера squid. Поэтому рекомендуется разрешить трафик на вход и выход:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Настройка fail2ban для защиты ssh соединения
Fail2ban — простой в использовании локальный сервис, который отслеживает log–файлы запущенных программ, и на основании различных условий блокирует по IP найденных нарушителей.
Программа умеет бороться с различными атаками на все популярные *NIX–сервисы, такие как Apache, Nginx, ProFTPD, vsftpd, Exim, Postfix, named, и т.д.
Но в первую очередь Fail2ban известен благодаря готовности «из коробки» к защите SSH–сервера от атак типа «bruteforce», то есть к защите SSH от перебора паролей.
Установка
Если до этого вы не обновляли базы данных apt, то установку можно начать с этого:
sudo apt update
sudo apt upgrade
После обновления apt можно переходить к установке Fail2ban:
sudo apt install fail2ban
Теперь активируем Fail2ban, чтобы она автоматически запускалась после перезагрузки сервера:
sudo systemctl enable fail2ban
Перед запуском Fail2ban в работу осталось настроить параметры фильтрации, по которым будет происходить блокировка IP.
Настройка
По умолчанию Fail2ban использует правила блокировки, указанные в файле jail.conf. Это системный файл, который обновляется вместе с программой, поэтому использовать его в качестве основного файла с параметрами блокировки не рекомендуется.
Мы создадим собственный конфигурационный файл jail.local. Система приоритетов в Fail2ban настроена таким образом, что в качестве основных применяются правила, указанные в jail.local.
Структура конфигурационного файла
Конфигурационный файл Fail2ban состоит из так называемых jail-ов — отдельных блоков правил для разных служб. В одном файле jail.local можно не только указать все правила для всех сетевых служб сервера, но и управлять их включением и выключением.
Структура всех jail-ов одинакова:
-
В первой строке в квадратных скобках указывают название службы, к которой будет применяться следующий ниже набор правил. В нашем случае это [sshd].
-
Далее определяют параметр enabled, отвечающий за включение или отключение данного jail-а. Мы установим его true, чтобы наш jail был активен.
-
После этого указывают условия блокировки: максимальное количество попыток подключения (maxretry), время, за которое эти попытки были произведены (findtime), и время, на которое нужно запретить доступ с этого IP (bantime).
-
В последней части jail-а указывают IP-адреса, которые считаются надёжными (ignoreip), например, IP-адрес вашего домашнего компьютера.
Мы рекомендуем добавить в строку ignoreip домашний адрес вашего компьютера, чтобы в случае особо жёстких настроек фильтрации программа не заблокировала вам доступ к серверу — например, после нескольких неудачных попыток ввода пароля.
Создадим конфигурационный файл:
sudo vim /etc/fail2ban/jail.local
Текст конфигурационного файла будет примерно таким:
[sshd]
enabled = true
maxretry = 6
findtime = 1h
bantime = 1d
ignoreip = 127.0.0.1/8 22.33.44.55
Этот набор условий означает, что IP-адрес, с которого было произведено 6 неудачных попыток SSH-подключения за последний час (3600 секунд), будет заблокирован на одни сутки (86400 секунд). Не будут блокироваться IP-адреса локальной машины и адрес 22.33.44.55.
Время для параметров findtime и bantime можно указывать не только в секундах, но и в минутах, часах, днях и даже неделях. Для этого необходимо сразу после численного значения параметра указать соответствующую букву (m, h, d, w).
Начало работы
После создания конфигурационного файла, содержащего все необходимые правила, можно запускать Fail2ban и наблюдать за его работой.
Команда для запуска программы:
sudo systemctl start fail2ban
Команда для вывода на экран сведений о работе jail-а, отвечающего за службу sshd:
sudo fail2ban-client status sshd
Если в данный момент сервер не подвергается атаке, сразу после установки и запуска программы на экране будет следующая информация:
Здесь приведены сведения о попытках подключения к серверу и о заблокированных IP-адресах.
Если вы решите изменить настройки, указанные в конфигурационном файле jail.local, не забудьте перезапустить Fail2ban, чтобы изменения вступили в силу:
sudo systemctl restart fail2ban
Как удалить из fail2ban заблокированный ip
Сперва проверьте iptables командой:
sudo iptables -S
Вот что мы увидели в консоли:
IP адрес 85.93.129.152 заблокирован сервисом fail2ban.
Выводим список всех наших клеток (jail) следующей командой:
sudo fail2ban-client status
Здесь может быть много правил для служб, но в нашем примере указан только sshd.
Вывод списка IP для конкретной клетки ( для конкретного jail):
sudo fail2ban-client status sshd
Для того чтобы разбанить (удалить ИП с заблокированного листа) необходимо выполнить следующую команду:
sudo fail2ban-client set sshd unbanip ip-адрес
Если Вы не хотите, чтобы данный ip адрес снова был заблокирован, то добавьте его в файл jail.local в секцию [sshd] в строчку ignoreip.
Подключение к серверу Linux Ubuntu 20.04 с графическим интерфейсом через VNC
Установка графического интерфейса и VNC сервера
Для начала установим графический интерфейс на сервере. Для этого выполним команды:
sudo apt update
sudo apt install xfce4 xfce4-goodies tightvncserver
Здесь мы установим графическую оболочку xfce, пакет xfce4-goodies, который содержит несколько дополнительных возможностей для среды рабочего стола, а также VNC-сервер tightvncserver
Во время установки вас попросят выбрать display manager. Мы выбрали gdm3.
Установка занимает в среднем 5-10 минут, в зависимости от мощности вашего сервера.
После установки задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:
vncserver
... на запрос пароля вводим его дважды.
* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.
После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).
Настройка VNC сервера
Для начала, останавливаем экземпляр VNC сервера:
vncserver -kill :1
* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).
Приступаем к настройке VNC сервера. Открываем файл ~/.vnc/xstartup и вводим:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4
В этом файле могут присутствовать и другие параметры. Главное, чтобы была строчка xrdb $HOME/.Xresources и самая последняя строчка: startxfce4
Затем сделаем файл xstartup исполняемым
chmod +x ~/.vnc/xstartup
Снова запускаем vncserver:
vncserver
Подключаемся к удаленному рабочему столу
Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC. Вводим IP-адрес компьютера с VNC и номер порта.
На скриншоте показан интерфейс программы Remmina. После запуска программы выберите протокол - VNC, в строчке ввода введите ip-адрес-сервера:5901 , и нажмите "Enter".
Будет запрошен пароль — вводим тот, что устанавливали при настройке vncserver. При необходимости сохраняем его и жмем "ОК".
Готово. Подключение выполнено.
Автозапуск сервиса VNC
Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd. Создаём файл:
sudo vi /etc/systemd/system/vncserver.service
В него вводим следующее:
[Unit]
Description=VNC server
After=syslog.target network.target
[Service]
Type=forking
User=john
Group=john
WorkingDirectory=/home/john
PIDFile=/home/john/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
где замените пользователя john на своего
Сохраните файл.
Затем перезапустим демон systemd
sudo systemctl daemon-reload
И добавим в автозагрузку наш сервис
sudo systemctl enable vncserver.service
Полезные команды
Проверка статуса сервиса VNC:
sudo systemctl status vncserver
Остановка текущего экземпляра сервера VNC, если он еще работает:
vncserver -kill :1
Смена пароля доступа к VNC:
vncpasswd
Windows
Замена стандартного порта RDP
Введение
RDP по умолчанию использует порт 3389 для всех удаленных подключений и это давно известно злоумышленникам. Они используют атаки методом перебора, чтобы угадать учетные данные для входа в систему. Оказавшись внутри, они могут украсть или зашифровать конфиденциальные данные, установить вредоносное ПО и делать на удаленных компьютерах все, что им заблагорассудится.
Когда вы меняете номер порта RDP по умолчанию с 3389 на любой другой свободный порт, хакерам становится трудно угадать, какой порт RDP вы используете. Смена порта не поможет, если атака совершается специально на Вас, но хорошо отобьет ботов, которые сканируют стандартные порты.
Перейдем к изменению порта.
Шаг 1 -Выбор сервера
Для начала выберите в списке ваших виртуальных серверов нужный и нажмите сверху кнопку Перейти
Шаг 2 - Запуск скрипта
Вы попали в менеджер управления виртуальным сервером. Теперь справа от Вашего сервера есть 3 точки, нажмите их и выберите кнопку Запустить скрипт
Вам откроется окно в котором нужно будет найти скрипт Смена порта RDP. Для старта скрипта нужно указать новый порт в поле USER_PORT (Вы можете указывать любой порт больше 1023, но лучше указывать из диапазона 49152-65535, так Вы точно не получите конфликта с другими службами) и нажать кнопку Запустить скрипт.
После всех выполненных действий запустится скрипт. Вам надо подождать когда статус Выполняется скрипт справа от виртуального сервера сменится на Активна.
На этом изменение порта RDP завершено. Теперь протестируем работу.
Шаг 3 - Проверка работы
Запустите стандартное средство Windows для работы с RDP - Подключение к удаленному рабочему столу или Remmina, если у Вас Linux. Введите IP в поле и нажмите кнопку Подключить. Обратите внимание, что теперь надо вводить IP с номером порта, так как Вы изменили стандартный порт и программа не знает новый. Пример: 77.77.77.77:6788.
Если Вам открылось окно авторизации, то все прошло успешно и служба RDP работает на новом порту.
Русификация Windows Server 2012
Установка языкового пакета
Заходим в Control Panel и заходим в настройку языков - Language
Control Panel - Language. Добавляем язык - Add a language
Add language. Выбираем русский язык
Chose language.
Русский язык появился в списке, но он ещё не установлен. Переходим в Options русского языка
Language installation.
Скачиваем и устанавливаем - Download and install language pack
Language installation.
После установки снова заходим в Options и назначаем Русский язык - языком по умолчанию.
Setting default language.
После применения настроек будет предложено выйти. Отказываемся, чтобы произвести все необходимые настройки разом.
Lof off later.
Региональные настройки
Снова заходим в Control Panel. На этот раз нам нужны региональные настройки - Region
Control Panel - Region.
Вкладка Format. Здесь можно ничего не менять - по-умолчанию. используется основной язык системы, в нашем случае - Russia (Russia).
Region - Format.
Вкладка Location. Изменяем поле Home Location на Russia
Region - Location.
Вкладка Administrative. Изменяем поле Language for non-Unicode programs на Russian (Russia). И мастер настройки предложит перезагрузку сервер с чем на этот раз соглашаемся.
Region - Administrative.
Region - Administrative - Unicode При следующем логине получим полностью русифицированную версию Windows Server 2012
Установка и работа с Putty в Windows
PuTTy
PuTTY - клиент для удаленного подключения к серверам с использованием различных протоколов (SSH, Telnet, rlogin).
Состав дистрибутива
putty.exe - основной файл программы PuTTY.
plink.exe - интерфейс командной строки к PuTTY.
pscp.exe - консольный SCP-клиент.
psftp.exe - консольный SFTP-клиент.
pageant.exe - агент авторизации c помощью RSA/DSA-ключей для PuTTY, PSCP и Plink.
PuTTYgen|puttygen.exe - приложение для генерации RSA и DSA ключей.
Установка
Есть два варианта установки PuTTY для Windows:
Использование инсталлятора
В случае выбора установки с помощью инсталлятора, потребуются административные права доступа к компьютеру. Будет установлен весь набор приложений дистрибутива PuTTY.
Использование портабельной версии
В случае выбора использования данной версии, потребуется скачать только те файлы, которые нужны. Минимум - putty.exe
Все варианты установки доступны для скачивания с официальной страницы разработчика http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html рекомендуются к использованию версии последнего релиза (latest release version)
Работа
Подключение по ssh
Для подключения к SSH удаленного сервера с настройками по умолчанию потребуется выполнить минимальное количество шагов:
Запустить putty.exe
В появившемся окне в поле "Host name" указать IP-адрес или доменное имя сервера
Нажать кнопку "Open"
Ввести логин и пароль. Обратите внимание, что при вводе пароля в целях увеличения безопасности вводимые символы не будут отображаться.
Ссылки
Как подключиться к серверу с Windows по RDP
Доступ к серверу
Для того, чтобы подключиться к серверу Windows, необходимо знать реквизиты доступа, а именно IP-адрес сервера, имя пользователя и пароль.
Реквизиты доступа к серверу можно посмотреть в личном кабинете.
Для виртуальных серверов:
В меню слева выберите раздел Товары/Услуги - Виртуальные серверы. Затем выделите ваш сервер и нажмите "Инструкция". В новой вкладке откроется страница с данными для подключения к серверу.
Для выделенных серверов:
В меню слева выберите раздел Товары/Услуги - Выделенные серверы. Затем выделите ваш сервер и нажмите "Инструкция". В новой вкладке откроется страница с данными для подключения к серверу.
В инструкции указан стандартный пароль, который был сгенерирован при установке операционной системы. Если вы сменили этот стандартный пароль, подключаться к серверу следует с новым паролем.
Подключение с Windows
Нажмите комбинацию клавиш Win+R
и в открывшемся окне наберите mstsc.exe и кликните «ОК»
.
В открывшемся окне укажите IP-адрес VDS и кликните кнопку «Подключить»
.
Затем укажите имя пользователя и пароль из письма и кликните «ОК»
.
При подключении к серверу приложение покажет уведомление о недоверенном сертификате.
Уведомление указывает, что сервер шифрует передаваемые данные самоподписанным SSL-сертификатом.
Отметьте поле «Больше не выводить запрос о подключениях к этому компьютеру» и нажмите «Да»
.
В новом окне откроется рабочий стол сервера.
Подключение с Ununtu
Microsoft не выпускает клиенты для подключения по RDP на Linux.
Рекомендуем использовать клиент Remmina.
Если приложение не установлено, откройте консоль и введите команды с правами root-пользователя:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next sudo apt-get update sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
После перезагрузки приложение станет доступно в меню приложению Ubuntu.
В окне приложения выберите тип подключения RDP и введите IP адрес сервера.
Затем кликните кнопку «Подключиться»
и укажите имя пользователя и пароль из письма.
При первом подключении Remmina уточнит информацию о недоверенном сертификате безопасности. Нажмите «Принять»
и вы увидите рабочий стол сервера.
Подключение с MacOS
Чтобы получить удалённый доступ с MacOS, потребуется установить бесплатное приложение Microsoft Remote Desktop в App Store.
Запустите установленное приложение и нажмите кнопку «Add PC».
Далее необходимо заполнить данные.
В поле «PC name» введите домен, который ведёт на сервер, или IP-адрес сервера.
В выпадающем списке «User account» есть два пункта:
- Ask when required — спросить пароль при подключении. Выберите этот пункт, если хотите каждый раз при последующих подключениях вводить логин и пароль для доступа к серверу.
- Add user account — создать пользователя для подключения. Выберите этот пункт, чтобы сохранить данные для авторизации и не вводить их в дальнейшем.
Нажмите Add. После этого вы увидите в приложении созданное подключение. Кликните по нему дважды, чтобы подключиться к серверу через RDP.
При первом подключении вы получите уведомление о непроверенном сертификате. Дело в том, что подключение защищено сертификатом, заверенным самим сервером, а не центром сертификации. Чтобы уведомление не появлялось в дальнейшем, нажмите Show certificate и поставьте галочку в поле Always trust. Примените изменения, нажав Continue.
Подключение с Android / IOS
Вы также можете подключиться к серверу с мобильных устройств.
Microsoft выпустила официальное приложение Microsoft Remote Desktop
. Приложение доступно для скачивания на Android и iOS.
Для подключения со смартфона создайте в приложении новое соединение.
В открывшемся окне укажите IP адрес. В поле “User name” выберите “Add user account”
.
Затем введите логин и пароль администратора. Для сохранения нажмите кнопку “Save”
.
Подключение будет доступно в главном меню приложения.
При подключении приложение также запросит подтвердить сертификат безопасности.
После подтверждения сертификата вы увидите рабочий стол сервера.
Как отключить режим усиленной безопасности Interner Explorer в Windows Server
В серверных операционных системах семейства Windows по умолчанию включена конфигурация усиленной безопасности Internet Explorer. Она защищает серверы от атак через веб-страницы, устанавливая настройки безопасности для браузера Internet Explorer.
Но данная конфигурация зачастую мешает в работе администратора сервера: не даёт установить другой браузер и блокирует веб-ресурсы.
В статье приведена инструкция по отключению режима усиленной безопасности Interner Explorer в Windows Server 2022. В более ранних версиях Windows Server действия аналогичные.
Для отключения данного режима нужно сделать следующее:
1) Заходим на сервер по RDP. Затем Пуск - Диспетчер серверов.
2) В диспетчере серверов перейдите в пункт "Локальный сервер/Local server".
3)Найдите пункт "Конфигурация усиленной безопасности Internet Explorer/IE Enhanced Security Configuration" и нажмите на Включено/On.
4)Появится окно с параметрами конфигурации, где надо переключить состояние настроек в Отключить/Off для администраторов и пользователей. После нажмите Ок.
5) Теперь нажмите F5, чтобы обновились параметры локального сервера. Затем проверьте, что конфигурация усиленной безопасности перешла в состояние Отключено/Off.
Готово.
Сетевые настройки Windows-сервера в кластере с технологией IP-fabric
IP -fabric
IP-fabric — один из типов настройки сети кластера. Такой тип настройки позволяет создавать виртуальные машины (ВМ) с публичными IP-адресами в приватной сети.
ВМ в кластере IP-fabric получают IP-адреса с маской /32. В качестве шлюза по умолчанию для каждой ВМ используется отдельный виртуальный интерфейс. Узлы кластера выполняют функцию маршрутизаторов.
Маршрутизация в кластере осуществляется с использованием протокола iBGP.
Преимущества использования IP-fabric:
- снижение объёма служебного трафика;
- экономия адресного пространства;
- изоляция трафика ВМ;
- отсутствие привязки IP-адресов к узлам кластера;
- возможность оперативной миграции ВМ между узлами кластера.
Правильные сетевые настройки виртуальных серверов, расположенных на вычислительных кластерах с технологией IP-fabric следующие:
IP-адрес | выдается каждому клиенту свой |
Маска подсети | 255.255.255.255 |
Основной шлюз | 10.70.98.1 |
Предпочитаемый DNS сервер | 85.93.129.2 |
Альтернативный DNS сервер | 85.93.128.2 |
Посмотреть настройки сети, в частности ip-адрес сервера можно в личном кабинете billmanager
Перейдите в личный кабинет. Далее выберите слева раздел "Товары/Услуги" - "Виртуальные серверы". В столбце "IP-адрес" указан ip адрес вашего сервера.
Сконфигурировать сетевой интерфейс в операционной системе Windows можно двумя подходами:
- Через графический интерфейс GUI — медленно, требует изрядного количества кликов мышью.
- С помощью командной строки — быстро и эффективно, но требует понимания того, что вы делаете.
Настройка основного сетевого адреса с помощью GUI
Откройте меню управления сетевыми интерфейсами:
Пуск - Панель Управления(Control panel)
Далее выбирайте сети и интернет(Network and Internet)
Теперь центр управления сетями и общим доступом(Network and Sharing Center)
Далее выберите изменение параметров адаптера(Change adapter settings)
Выберите сетевой интерфейс Ethernet, а затем правой кнопкой мыши откройте контекстное меню. В данном меню выберете пункт Свойства(Properties)
В открывшемся меню найдите подключение по протоколу TCP/IPv4 (Internet Protocol Version 4), затем выберете его и нажмите кнопку Свойства(Properties)
Заполните поле IP-адреса, маски подсети, основного шлюза и DNS сервров, по завершению нажмите кнопку Ок, а в следующем окне Закрыть(Close)
Настройка дополнительного сетевого адреса с помощью GUI
Настройка сетевого алиаса через графический интерфейс выполняется в той же оснастке, что и настройка основного сетевого адреса. Перейдите в меню дополнительных настроек TCP/IP, далее кнопка дополнительно(Advanced)
Далее в разделе IP-адреса кнопка Добавить(Add...)
Заполните поле IP-адреса и длины сетевого префикса. После того как закончите конфигурирование, нажмите кнопку Добавить(Add), а после кнопку Ок:
Настройка основного сетевого адреса с помощью командной строки
Запустите командную строку
Пуск - Система(Windows System) - Командная строка(Command Prompt)
Определите наименование основного сетевого интерфейса:
netsh interface ip show config | findstr "configuration for interface"
В выводе команды представлено два сетевых интерфейса, нас интересует только Ethernet Instance 0 (наименование может быть другим, поэтому внимательно читайте вывод команды). В настройке сетевого интерфейса обратной петли нет необходимости.
Настройте основной сетевой интерфейс Ethernet:
netsh interface ipv4 add address "Ethernet Instance 0" <адрес узла> 255.255.255.255 10.70.98.1
Настройте предпочитаемый и альтернативные DNS-сервера:
netsh interface ipv4 add dns "Ethernet Instance 0" 85.93.129.2 index=1
netsh interface ipv4 add dns "Ethernet Instance 0" 85.93.128.2 index=2
В качестве предпочитаемого и альтернативного DNS-серверов, вы можете использовать, например, Google Public DNS - 8.8.8.8 и 8.8.4.4.
Настройка дополнительного сетевого адреса или сетевого алиаса
введите следующую команду в командной строке:
netsh interface ipv4 add address "Ethernet Instance 0" <адрес узла> 255.255.255.255
Возможные проблемы:
Представим себе такую ситуацию:
У Вас есть два виртуальных сервера. VPS1 в кластере с технологией IP-fabric, а VPS2 - с обычной коммутацией.
VPS1 имеет ip адрес 10.10.10.10/32, а VPS2: 10.10.10.20/24.
При этом пинг с сервера VPS1 до VPS2 есть, а с сервера VPS2 до VPS1 нет.
Чтобы сделать видимым сервер VPS1 с сервера VPS2, нужно добавить статический маршрут на сервере VPS2:
route -p add 10.10.10.10/32 via 10.10.10.1
Как добавить нового пользователя Windows Server 2022
После установки Windows Server на VDS вам доступна только одна учётная запись — Administrator. Однако во многих случаях сервер нужен для работы нескольких человек. Добавим нового пользователя в систему.
В Windows Server 2022 в панель управления можно перейти следующим образом: Нажмите на "пуск" ,затем выберите Панель управления(Control Panel).
В панели управления в разделе «Учётные записи пользователей(User Accounts)» нажмите «Изменение типа учётной записи(Change Account type)». Откроется список пользователей вашего сервера.
Здесь выберите опцию «Добавить учётную запись пользователя(Add a user account)»
Запустится мастер создания пользователей. Введите логин, пароль, подтверждение пароля, подсказку и нажмите «Далее(Next)».
Система добавит новую учётную запись и отобразит её данные — имя и уровень прав. Для завершения настройки нажмите «Готово(Finish)»
После этого в списке пользователей появится новая учётная запись.
При необходимости вы можете изменить пароль от пользователя, удалить пользовтаеля или сменить тип созданного пользователя — дать ему права администратора. Чтобы сменить выдать пользователю права администратора, кликните на карточку учётной записи — откроется окно настройки. Затем в меню слева выберите «Изменение типа учётной записи(Change the account type)»
Укажите требуемый уровень прав и нажмите «Изменение типа учётной записи(Change Account Type)» для вступления настроек в силу.
На этом процесс создания пользователя на Windows Server 2022 завершён. Чтобы новый пользователь мог подключиться к серверу по RDP, ему потребуются следующие данные:
IP-адрес вашего сервера / домен
логин пользователя
пароль пользователя
Как посмотреть логи Windows Server 2022. Журнал событий.
Операционная система Windows, системные службы и приложения записывают события и ошибки в системные журналы, чтобы в дальнейшем у системного администратора была возможность проверки операционной системы и диагностики проблем.
Получить доступ к этим записям можно через встроенное приложение Просмотр событий (Event Viewer). Есть несколько вариантов запуска данного приложения:
- через меню Пуск – Просмотр событий (Start – Event Viewer)
- в командной строке или в окне Выполнить набрать eventvwr.msc
- в Диспетчере серверов в разделе Средства выбрать Просмотр событий (Server Manager – Tools – Event Viewer). В диспетчер серверов можно зайти, через меню "Пуск"
Описание интерфейса программы
Окно программы состоит из следующих компонентов:
1. Панель навигации позволяет выбрать конкретный журнал, записи которого необходимо просмотреть;
2. Список событий, содержащийся в выбранном журнале. В колонках выведена базовая информация о событии. Их можно отсортировать по датам, типам, категориям событий и т.д.;
3. Детальная информация о выбранном во второй панели событии. Также детальную информацию можно открыть в отдельном окне, если кликнуть по нужному событию два раза;
4. Панель быстрых действий, которые можно совершить с данным журналом или событием. Действия также доступны в контекстном меню (клик правой кнопкой мыши по журналу или событию).
Для удобства просмотра и управления системные журналы разбиты по категориям:
- Приложения (Application) – как и гласит название, содержит события и ошибки приложений;
- Безопасность (Security) – если в операционной системе включена и настроена функция аудита, журнал будет содержать записи, связанные с отслеживанием соответствующих событий (например, авторизация пользователя или попытки неудачного входа в операционную систему);
- Система (System) – здесь регистрируются события операционной системы и системных сервисов;
- Установка (Setup) – события, связанные с инсталляцией обновлений Windows, дополнительных приложений.
В разделе Журналы приложений и служб (Applications and Services Logs) можно найти более детальную информацию о событиях отдельных служб и приложений, зарегистрированных в операционной системе, что бывает полезно при диагностике проблем в работе отдельных сервисов.
Сами события также разделяются на типы:
- Сведения (Information) — информируют о штатной работе приложений.
- Предупреждение (Warning) — событие, свидетельствующее о возможных проблемах в будущем (например, заканчивается свободное место на диске – приложения могут продолжать работу в штатном режиме, но когда место закончится совсем, работа будет невозможна).
- Ошибка (Error) — проблема, ведущая к деградации приложения или службы, потерям данных.
- Критическое (Critical) — значительная проблема, ведущая к неработоспособности приложения или службы.
- Аудит успеха (Success audit) — событие журнала Безопасность (Security), обозначающее успешно осуществленное действие, для которого включено отслеживание (например, успешный вход в систему).
- Аудит отказа (Failure audit) — событие журнала Безопасность (Security) обозначающее безуспешную попытку осуществить действие, для которого включено отслеживание (например, ошибка входа в систему).
Как узнать, кто перезагрузил (выключил) сервер Windows?
Информация об учетной записи, которая отправила команду перезагрузки Windows сохраняется в журнал событий.
- Откройте консоль Event Viewer и перейдите в раздел Windows Logs -> System;
2. Включите фильтр журнала событий в панели быстрых действий справа
3. В поле фильтра укажите EventID 1074 и нажмите OK;
4. В журнале событий останутся только события выключения (перезагрузки), откройте нужное событие
В событии от источника User32 будет указан пользователь, который инициировал перезагрузку Windows. В этом примере это пользователь Administrator.
В качестве пользователя, запустившего перезагрузку операционную систему может быть указан NT AUTHORITY\SYSTEM.
Это означает, что перезагрузку инициировала одна из служб или программ Windows, запущенная от имени SYSTEM.. Например, это может быть процесс службы wuauserv, который закончил установку обновлений Windows и выполнил перезагрузку согласно настроенной политике Windows Update или с помощью задания модуля PSWindowsUpdate.
The process C:\Windows\uus\AMD64\MoUsoCoreWorker.exe (WKS-PC11S22) has initiated the restart of computer WKS-PC11S22 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Operating System: Service pack (Planned)
Reason Code: 0x80020010
Shutdown Type: restart
Comment:
Если у Вас виртуальный сервер, и он был перезагружен из панели управления VMmanager6, то в журнале может быть следующая запись:
По событию 1074 можно найти только причины корректных (штатных) перезагрузок сервера. Если Windows была перезагружена не штатно (например, при потере электропитания, или появления BSOD), тогда нужно искать события с EventID 6008.
Просмотр журнала производительности Windows
В просмотре событий Windows можно найти достаточное количество интересных вещей, например — посмотреть на проблемы с производительностью компьютера. Для этого в левой панели откройте Журналы приложений и служб — Microsoft — Windows — Diagnostics-Perfomance — тут вы можете наблюдать, есть ли среди событий какие-либо ошибки — они сообщают о том, что какой-то компонент или программа привела к замедлению загрузки Windows. По двойному клику по событию, вы можете вызвать подробную информацию о нем.
Как отключить полную проверку диска при загрузке ОС Windows Server
Chkdsk (Chkdsk.exe) представляет собой утилиту командной строки в Windows-системах, которая проверяет тома дисков на наличие проблем и ошибок с файловой системой. Этот инструмент также может попытаться исправить все найденные ошибки. Например, chkdsk может исправить проблемы, связанные с наличием плохих секторов, потерянных кластеров, а также потерянных файлов и каталогов. Однако автоматическая проверка файловой системы утилитой chkdsk, при некорректной перезагрузке ПК, раздражает некоторых пользователей. И в принципе, такую проверку можно отключить (хотя и не рекомендуется – ведь вы теряете контроль за целостностью вашей файловой системы).
Чтобы отключить автоматическую проверку диска при загрузке Windows, сделайте следующее:
1) Зайдите на сервер по RDP.
2) Запустите командную строку. Для Windows Server 2022 введите в строку поиска cmd.exe и запустите командную строку. В других версиях windows нажимаем «Пуск» - «Выполнить» - вводим cmd
3) В открывшемся окне вводим команду:
chkntfs /X C:
где С — имя диска, который постоянно проверяется.
Теперь проверка отключена. Если захотите ее снова включить, необходимо набрать команду chkntfs /D.
Установка IIS на Windows Server 2022
В статье расскажем, как установить службу Internet Information Services (IIS) на серверы с операционной системой Windows Server 2022. Инструкция подойдет и для ОС Windows Server 2016 и Windows Server 2019.
IIS (Internet Information Services) — набор сервисов от компании Microsoft для работы веб-сервера и других интернет служб. IIS устанавливается на сервер и работает с протоколами HTTP/HTTPS, POP3, SMTP, FTP, NNTP.
Установка IIS на Windows Server 2022
1. Чтобы приступить к установке, зайдите подключитесь к серверу по RDP с правами администратора и зайдите в «Диспетчер серверов» (Server Manager). Если он не запущен, то зайдите в меню "Пуск" - «Диспетчер серверов» (Server Manager)
2. Теперь выберите слева «Панель мониторинга» (Dashboard), затем пункт «Добавить роли и компоненты» (Add roles and features).
3. Запустится мастер установки IIS, ознакомьтесь с первой страницей и нажмите «Далее» (Next)
4. Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next)
5. Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next)
6. На странице выбора ролей сервера поставьте чекбокс напротив «Веб-сервер IIS» (Web Server IIS).
7. Оставьте все без изменений в появившемся окне и нажмите «Добавить компоненты» (Add Features)
8. Нажмите «Далее» (Next)
9. Проверьте список компонентов IIS, выберите нужные или оставьте по умолчанию, нажмите «Далее» (Next)
10. Ознакомьтесь с информацией в следующем окне и нажмите «Далее» (Next)
11. Просмотрите список ролей веб-сервера IIS, которые будут установлены. Отметьте необходимые или оставьте без изменения и нажмите «Далее» (Next). Обратите внимание, что служба FTP по умолчанию не устанавливается. Если в дальнейшем вам понадобятся новые роли, то вы сможете их добавить без переустановки IIS.
12. Нажмите кнопку «Установить» (Install). При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.
13. Дождитесь окончания установки и нажмите "Закрыть"(Close)
14. После перезагрузки запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start). Теперь выберите раздел "Средства"(Tools) справа вверху. В списке содержимого появится установленная служба IIS. Запустите её.
Возможности сервера IIS
Возможности, доступные вам в службе IIS, перечислены на панели Просмотр возможностей (Features View). Отсюда управляйте возможностями IIS, настраивайте и перезапускайте. Например, настройте SSL-сертификаты.
Проверка работы Web-сервера IIS
Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site.
Проверьте его работу, набрав на вашем сервере в адресной строке браузера localhost. Загрузится страница, созданная по умолчанию.
Файлы этой страницы по умолчанию расположены на диске C:\inetpub\wwwroot
Добавление нового сайта на сервер
Добавьте сайты, которые будут обслуживаться этим веб-сервером. Для этого в контекстном меню выберите слева пункт «Сайты» (Sites) и выберите справа «Добавить сайт» (Add Website).
Заполните поля формы данными о сайте и нажмите ОК. Пример заполнения данных для сайта plhost-test.ru представлен ниже.
Готово. Теперь Вы можете увидеть только что добавленный сайт в списке сайтов.
Таким образом мы установили Web-сервер IIS на операционную систему Windows Server 2022, а затем добавили сайт. Данный способ работает только для статичных html-сайтов. Если у вас сайт, созданный на движке одного из популяных CMS, таких как Wordpress, Joomla, Drupal и т.д. , то вам нужно будет добавить поддержку PHP, включить необходимые расширения а также установить сервер базы данных SQL. Но это уже тема для отдельной статьи...
Установка русского языка на Windows Server 2022
По умолчанию на OC Windows server 2022 установлен англоязычный интерфейс.
Установка обновлений
Для установки русскоязычного интерфейса, первым шагом необходимо подключиться к серверу по RDP. Затем важно установить последние обновления WIndows Server, иначе при установке русского языка может возникнуть ошибка. Для этого перейдем в панель управления "Start" - "Settings".
Затем выберите раздел "Update & Security"
Сначала проверяем наличие новых обновлений с помощью кнопки «Check for updates»
Далее устанавливаем обновления, нажимаем на кнопку "Install now"
Запустится поиск и установка всех доступных обновлений системы, дождитесь завершения процесса, после чего нужно будет перезагрузить сервер.
После перезагрузки Зайдите в раздел "Windows Update" и проверьте, что все обновления установлены.
Если потребуется снова установить какой-нибудь пакет обновления, или перезагрузить сервер, сделайте это. Только после установки всех обновлений можно приступать к установке русского языка на сервер.
Установка русского языка на Windows Server 2022
1. После загрузки системы, перейдем в панель управления "Start" - "Settings".
2. В открывшемся окне переходим в раздел "Time & Language".
3. Слева выбираем раздел "Language", затем выбираем "Add a language".
4. Находим нужный нам русский язык, выбираем его и жмем на кнопку "Next".
5. Отмечаем все пункты и жмем "Install".
6. Запустится скачивание и установка языкового пакета. Дождитесь окончания установки.
7. По окончании установки система перезагрузим систему
Важно! Соединение к серверу будет разорвано, а все открытые программы будут закрыты.
8. После перезапуска вы увидите русскоязычный интерфейс OC Windows.
9. Теперь снова нажмите "Пуск" - "Параметры". Далее выберите раздел "Время и язык".
10. Выберите слева раздел "Регион". Выберите страну "Россия", Формат региона также должен быть Русский(Россия).
11. В этом же разделе прокрутите вниз и выберите "Дополнительные параметры даты, времени, региона"
12. В открывшемся окне выберите "Изменение форматов даты, времени и чисел".
13. Выберите вкладку "Дополнительно" и нажмите на кнопку "Копировать параметры"
14. Скопируйте текущие параметры в экран приветствия и для новых учетных записей пользователей. Затем нажмите "ОК". Система предложит перезапустить сервер для применения изменений. Нажмите на кнопку "позже".
15. Осталось сменить язык для приложений, не использующих Юникод. Нажмите на кнопку "Изменить язык системы"
16. Текущий язык системы поставьте "Русский" и нажмите "ОК".
Теперь можете перезагрузить систему для применения всех изменений в системе.
На этом установка русского языка для Windows Server 2022 окончена.
Установка и активация сервера лицензирования RDS на Windows Server 2022
В это статье мы рассмотрим процесс установки, настройки и активации роли сервера лицензирования удаленных рабочих столов (Remote Desktop Licensing) на базе Windows Server 2022 , а также процедуру установки и активации клиентских терминальных (RDS CAL).
Установка роли Remote Desktop Licensing в Windows Server 2022
1. Чтобы приступить к установке, зайдите подключитесь к серверу по RDP с правами администратора. Зайдите в «Диспетчер серверов» (Server Manager). Если не запущен, то зайдите в меню "Пуск" - «Диспетчер серверов» (Server Manager)
2. Теперь выберите слева «Панель мониторинга» (Dashboard), затем пункт «Добавить роли и компоненты» (Add roles and features).
3. Запустится Мастер добавления ролей и компонентов, ознакомьтесь с первой страницей и нажмите «Далее» (Next)
4. Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next)
5.Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next)
6. На странице выбора ролей сервера поставьте чекбокс напротив "Remote Desktop Services"
7. На этой странице оставляем всё без изменений и выбираем "Далее"(Next)
8. На этой странице также выбираем "Далее"(Next)
9. В качестве компонента роли нужно выбрать службу «Лицензирование удаленных рабочих столов» (Remote Desktop Licensing) (также соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в появившемся мастере)
10.Также выберите «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host) (опять соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в открывшемся окне). Отметив необходимы службы ролей, нажимаем «Далее» (Next) .
11. Нажмите кнопку «Установить» (Install). При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.
12. Сервер перезагрузится для завершения установки. Дождитесь окончания установки и нажмите "Закрыть"(Close)
Для управления службой RDS-Licensing используется консоль Remote Desktop Licensing Manager — licmgr.exe .
В Windows Server стандартные компоненты и роли проще всего установить с помощью PowerShell. Для установки службы лицензирования RDS и утилиты RD Licensing Diagnoser достаточно выполнить одну команду:
Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools
Для вывода списка RDS служб, установленных на сервере, используйте команду:
Get-WindowsFeature -Name RDS* | Where installed
Активация сервера лицензий RDS в Windows Server
Чтобы сервер лицензирования RDS мог выдавать лицензии клиентам, его необходимо активировать. Для этого нужно открыть консоль Remote Desktop Licensing Manager.
1. Введите в строку поиска licmgr.exe и нажмите "Enter"
2. Щелкните ПКМ по имени вашего сервера в меню слева и выберите пункт "Activate Server".
3. Запустится мастер активации сервера лицензирования RDS. Нажмите "Далее"(Next). В следующем окне нужно будет выбрать желаемый метод активации. Советуем выбрать "Автоматическое подключение"
4. Далее нужно будет заполнить ряд информации о вашей организации (часть полей является обязательными)
5. Здесь Вы можете сразу приступить к установке клиентских лицензий, если выберите чекбокс "Start Install Licenses Wizard now". Об этом есть раздел ниже. А пока что нажмите на кнопку "Finish".
На этом активация сервера лицензирования RDS законена.
Типы клиентских терминальных лицензий (RDS CAL)
Каждый пользователь или устройство, которое подключается к серверам Remote Desktop Session Host, должно иметь клиентскую лицензию (CAL — client access license). Есть два типа терминальных CAL.
- На устройство (Per Device CAL) – это постоянный тип лицензии, назначающийся компьютеру или устройству, которое подключается к RDS серверу более одного раза (при первом подключении устройства ему выдается временная лицензия). Данные лицензии не являются конкурентными, т.е. если у вас 10 лицензий Per Device, то к вашему RDS серверу смогут подключится всего 10 компьютеров.
- На пользователя (Per User CAL) – такой тип лицензии позволяет одному пользователю подключиться к серверу RDS с любого количества компьютеров/устройств. Данный тип лицензий привязывается к учетной записи пользователя в Active Directory, но выдается не навсегда, а на определенный период времени. Лицензия выдается на срок от 52 до 89 дней (случайное число).
Установка клиентских лицензий RDS CAL в Windows Server 2022
Теперь на сервер лицензирования нужно установить приобретенный пакет терминальных лицензий (RDS CAL).
1. В консоли Remote Desktop Licensing Manager щелкните ПКМ по серверу и выберите Install Licenses.
2. Запустится мастер установки лицензий. Нажмите "Далее"(Next)
3. Выберите способ активации (автоматически, через веб или по телефону) и программу лицензирования (в нашем случае Enterprise Agreement).
4. Введите номер лицензии RDP Microsoft Enterprise Agriment
5. Укажите тип продукта (Windows Server 2022), тип лицензии (RDS Per User CAL) и количество терминальных лицензий, которые нужно установить на сервере.
6. Необходимые лицензии будут установлены. Полсе чего нажмите "Finish"
Определение сервера лицензирования для службы удаленных рабочих столов
Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser). Сделать это можно из диспетчера серверов.
1. Зайдите в «Диспетчер серверов» (Server Manager). Если он не запущен, то зайдите в меню "Пуск" - «Диспетчер серверов» (Server Manager)
2. Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) . Сделать это можно из диспетчера серверов, выбрав в правом верхнем меню «Средства» (Tools) — «Remote Desktop Services» — «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) .
Здесь мы видим, что доступных лицензий пока нет, т. к. не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов.
3. Сервер лицензирования указывается теперь в локальных групповых политиках. Для запуска редактора выполним команду gpedit.msc
4. Откроется редактор локальной групповой политики. В дереве слева раскроем вкладки:
- «Конфигурация компьютера» (Computer Configuration)
- «Административные шаблоны» (Administrative Templates)
- «Компоненты Windows» (Windows Components)
- «Службы удаленных рабочих столов» (Remote Desktop Services)
- «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host)
- «Лицензирование» (Licensing)
- «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host)
- «Службы удаленных рабочих столов» (Remote Desktop Services)
- «Компоненты Windows» (Windows Components)
- «Административные шаблоны» (Administrative Templates)
Откроем параметры «Использовать указанные серверы лицензирования удаленных рабочих столов» (Use the specified Remote Desktop license servers) ,кликнув 2 раза по соответствующей строке.
5. В окне редактирования параметров политики, переставим переключатель в «Включено» (Enabled) . Затем необходимо определить сервер лицензирования для службы удаленных рабочих столов. В моем примере сервер лицензирования находится на этом же физическом сервере. Указываем сетевое имя или IP-адрес сервера лицензий и нажимаем «ОК» .
6. Далее меняем параметры политики «Задать режим лицензирования удаленных рабочих столов» (Set the Remote licensing mode) .
7. Также устанавливаем переключатель в «Включено» (Enabled) и указываем режим лицензирования для сервера узла сеансов удаленных рабочих столов. В нашем случае выбираем «На пользователя» (Per User) и нажимаем «ОК» .
8. Изменив вышеперечисленные политики, закрываем редактор
9. Возвращаемся в оснастку «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser). Нажмите «Обновить» (Refresh) и видим, что ошибок нет, а число лицензий, доступных клиентам, соответствует тому, что мы вводили на предыдущем шаге.
На это установка сервера лицензирования RDS на Windows Server 2022 завершена.
Как добавить правило в Windows Fierwall
Файрвол (Firewall) - это устройство сетевой безопасности, которое отслеживает входящий и исходящий сетевой трафик. Файрвол разрешает или блокирует пакеты данных на основе набора правил безопасности. Часто можно встретить идентичный по смыслу термин Брандмауэр. Также в русском языке встречается написание "фаервол".
С помощью брандмауэра (Firewall) можно ограничить доступ в интернет для всех, кроме конкретных программ. Также можно разрешить соединяться с компьютером, на котором он установлен только из внешней сети или только из внутренней сети, только по определенному порту, с определенных ip-адресов и т.д.
Брандмауэр (Firewall) в windows представляет собой набор правил. Правило это описание разрешения или запрета соединения. Они могут быть входящими и исходящими, регулирующими доступ к этому компьютеру или с этого компьютера в сеть.
Например, если хотите чтобы Ваш сайт был доступен из внешней сети, необходимо настроить правило Firewall.
Данная инструкция написана для Windows Server 2022. Для других версий ОС Windows она также применима.
Для настройки правила сделайте следующее:
1.Подключитесь к своему серверу и нажмите "Пуск" - "Панель управления(Control Panel)".
2. Выберите раздел "Система и безопасность(System and Security)"
3. Выберите раздел "Брандмауэр Windows" (Windows Defender Firewall)
4. В столбце слева выберите Дополнительные параметры(Advanced settings)
5. В открывшемся окне перейдите в раздел “Правила для входящих подключений”(Inbound Rules), после чего нажмите “Создать правило”(New Rule).
6. Создадим правило для порта 80, также можно создать правило для конкретной программы или использовать стандартное правило для стандартных служб Windows. Можно также создать полностью настраиваемое правило под Ваши нужды.
7. Выберем тип протокола для фильтрации трафика, это может быть либо tcp либо udp, порт может быть любой или вообще можно открыть-закрыть все порты. В нашем примере мы откроем 80 порт для протокола tcp.
8. Далее определим, что именно должно делать правило - разрешать или запрещать трафик по указанным нами на предыдущем шаге портам. Мы разрешим трафик в нашем примере.
9. Укажем для какой сети должно применяться это правило. Доменной, частной или публичной. Если Вы не знаете, какую выбрать, выберите все три.
10. На последнем шаге задайте имя правила и описание(если необходимо).
11. Готово. Теперь данный порт открыт. В списке "Правил для входящих подключений" мы можем увидеть только что созданное правило.