ОС и ПО

На странице "ОС и ПО" на Planetahost.ru вы найдете информацию о различных операционных системах и программном обеспечении, которые могут быть использованы на вашем веб-сервере. Изучите особенности различных ОС, таких как Linux и Windows, и выберите наиболее подходящую для ваших потребностей. Узнайте о доступных программных решениях, таких как веб-серверы, базы данных и другие инструменты, которые помогут вам эффективно управлять вашим веб-проектом. Получите рекомендации по установке и настройке ПО, а также узнайте о последних трендах и новостях в мире операционных систем и программного обеспечения. Наши материалы помогут вам оптимально использовать ОС и ПО для вашего веб-сервера и обеспечить его стабильную работу.

Linux

Linux

Установка LAMP

lamp-install-linux-planetahost.jpg

Введение

Стек «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_вашего_сервера

После перехода по адресу у Вас должна открыться тестовая страница:

apache2-test-page.png

Шаг 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-test-page.png

На этой странице представлена информация о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения ваших настроек.

Если вы видите эту страницу в своем браузере, ваша установка PHP работает должным образом.

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

sudo rm /var/www/vash_domain/info.php

На этом установка и тестирование LAMP завершено. 

Linux

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

csf-install-linux-planetahost.jpg

Введение

Брандмауэр 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

Скоро...

Linux

Подключение к серверу по ssh

SSH — сетевой протокол, позволяющий создать безопасное удалённое подключение к серверам на базе OC Linux.

Как подключиться c OC Windows по SSH

Если на вашем компьютере установлена ОС Windows, а на сервере — UNIX-подобная система (например, Ubuntu, Debian, CentOS и др.), то для установки SSH-соединения можно использовать PuTTY. Это бесплатная программа под Windows состоит из одного запускаемого файла и не требует установки. Скачать её можно с официального сайта по ссылке

Чтобы установить соединение при помощи PuTTY, необходимо проделать следующие действия:

1.Скачайте нужную версию PuTTY по ссылке.
2. Запустите файл putty.exe. Откроется окно программы. Вводим IP-адрес сервера в графу «Имя хоста». Проверяем графу «Тип соединения» — должен быть выбран пункт «SSH». Нажимаем «Соединиться».

image.png

Может появиться предупреждение системы безопасности PuTTY — оно срабатывает при подключении к новому серверу.  Нажмите Да — и соединение продолжится.

ssh4.png

3. Вводим логин и нажимаем "Enter". Затем вводим пароль и снова нажимаем "Enter"

ssh2.png

4. Готово. Мы подключились к серверу по SSH

ssh3.png

Как подключиться c OC Linux по SSH

Для подключения используем SSH-клиент Terminal, который встроен в ОС на основе Linux. При вводе команд нужно помнить, что в Linux-образных ОС они вводятся только в нижнем регистре (с маленькой буквы).

1. Открываем приложение. Вводим команду вида «ssh логин@IP-адрес» . Нажимаем «Enter».

ssh5.png

2. Если пользователь использует SSH-соединение первый раз, ему потребуется ввести команду подтверждения («Yes»)

ssh6.png

3. Вводим пароль от виртуального сервера и нажимаем "Enter".

ssh7.png

4. Готово. Вы успешно подкюлчились к серверу

ssh8.png

Как подключиться c macOS и iOS по SSH

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

1. Открываем приложение. Вводим команду с данными сервера «ssh логин@IP-адрес». Нажимаем «Enter».

ssh9.png

2. При первом входе подтверждаем свои действия соответствующей командой «Yes».

ssh10.png

3. Вводим пароль от виртуального сервера.

ssh11.png

4. Подключение к виртуальному серверу по протоколу SSH завершено.

ssh12.png

Linux

Как настроить авторизацию по ключу 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 без заполнения строки.

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

sshkey1.png

Открытый ключ хранится в файле /домашний_каталог/.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

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

sshkeys2.png

Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

Создание SSH-ключей на Windows с помощью PuTTYgen

Если вы используете ОС Windows, то подключиться по SSH к вашему (Linux) серверу можно через PuTTY или OpenSSH. Генерация ключей в этом случае выполняется также при помощи этих программ. В примере мы используем клиент PuTTY.

Запустите приложение PuTTYgen которое устанавливается вместе с PuTTY.

sshkey4.png

Выберите тип ключа SSH2-RSA и нажмите на кнопку "Generate".

sshkey5.png

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

sshkey6.png

После завершения создания ключей открытый ключ выводится на экран, закрытый хранится в памяти приложения. Чтобы сохранить эти ключи нажмите "Save public key" и "Save private key" . Укажите расположение файлов с ключами. 

sshkey7.png

При сохранении закрытого ключа, если не заполнено поле "Key passphrase" , появится запрос «Хотите ли вы сохранить ключ без секретной фразы?»

sshkey8.png

Теперь открытый ключ необходимо скопировать на сервер в файл authorized_keys. Используйте WinSCP или другой клиент для работы с файлами на удалённом Linux-сервере. Вы можете скопировать файл с открытым ключом целиком на сервер, чтоб его копия хранилась в папке .ssh

sshkey9.png

Откройте файл authorized_keys через WinSCP и файл, в который вы сохранили открытый ключ (public), на локальном компьютере текстовым редактором. Скопируйте значение ключа, сохраните и закройте файл в WinSCP.

sshkey10.png

При запуске PuTTY укажите путь к закрытому ключу на локальном компьютере. Для этого во вкладке "Connections" - "Auth" выберите необходимый путь.

sshkey11.png

Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

Отключение аутентификации по паролю

Подключитесь к серверу по SSH, используя пароль, и откройте файл /etc/ssh/sshd_config для редактирования.

Убедитесь, что указан правильный путь к открытым ключам SSH, поставьте значение параметра

PasswordAuthentication no.

sshkey3.png

Перезапустите службу sshd командой:

service sshd restart

Готово! После перезапуска службы подключайтесь к серверу.

Linux

Как добавить область подкачки на linux Ubuntu 20.04

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

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

1. Проверка информации о подкачке в системе

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

Можно узнать, сконфигурирована ли в системе подкачка, введя команду:

sudo swapon --show

Если после этой команды ничего не появляется, в системе сейчас нет области подкачки.

Можно убедиться в отсутствии активной подкачки при помощи утилиты free:

swap1.png

В строке ​​​Swap видно​​​, что в системе отсутствует активная подкачка.

2. Проверка свободного пространства в разделе жесткого диска

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

df -h

swap2.png

В данном случае устройство с / в столбце "​​​​​​Mounted on"​​​ — наш диск. В данном примере у нас достаточно места (использовано только 3,4 Гбайт). Ваше использование, вероятно, будет другим.

Хотя существует много мнений относительно правильного размера области подкачки, на самом деле он зависит от ваших личных предпочтений и требований приложений. Обычно можно начать с объема, равного объему оперативной памяти в системе, или в два раза большего. Еще одно полезное общее правило — любое превышение 4 Гбайт для области подкачки, скорее всего, не нужно, если вы используете ее только для резервирования оперативной памяти.

3. Создание файла подкачки

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

Лучше всего создавать файл подкачки при помощи программы fallocate. Эта команда мгновенно создает файл указанного размера.

Поскольку на сервере в нашем случае 1 Гбайт оперативной памяти, в этом руководстве создадим файл размером 1 Гбайт. Скорректируйте с учетом необходимости на вашем сервере:

sudo fallocate -l 1G /swapfile

Чтобы проверить правильность выделенного объема памяти, введите:

ls -lh /swapfile

swap3.png

4. Активация файла подкачки

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

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

Чтобы передать все права доступа пользователям root, введите:

sudo chmod 600 /swapfile

Теперь только у пользователя с правами root отмечены флажки чтения и записи.

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

sudo mkswap /swapfile

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

sudo swapon /swapfile

swap4.png

Убедитесь, что пространство подкачки активировано, введя следующее:

sudo swapon --show

Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты free:

free -h

swap5.png

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

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

Linux

Как настроить поддержку русского языка в консоли

Добавление русского языка в Ubuntu/Debian

Установим\обновим пакет locales:

apt-get install locales

Затем выполним команду:

dpkg-reconfigure locales

Откроется диалоговое окно, в котором необходимо добавить поддержку русского языка

linux-rus1.png

Выберем ru_RU.UTF-8 UTF-8

linux-rus2.png

После выбора локалей для генерации будет предложен выбор локали по умолчанию в системном окружении. Выберем ru_RU.UTF-8 для поддержки русского языка в терминале

linus-rus3.png

Добавление русского языка в 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

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

 

Linux

Базовая настройка 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

Добавим еще два правила, разрешающие SSH-соединения (по умолчанию на 22 порт) и WEB-подключения на 80 порт.
Приведем синтаксис этих правил:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Разберем новые параметры:

Также есть еще одно правило, которое связано с понятием “петли” (loopback-интерфейса). Используется loopback-интерфейс для взаимодействия служб и приложений в пределах одной локальной системы, без надобности отправления пакетов на сетевой интерфейс.
Правило выглядит так:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Разберем его:

Мы составили 4 правила, на основании которых iptables будет разрешать трафик на сервер. Но поскольку мы не создали ни одного запрещающего правила, то все соединения с сервером будут по-прежнему разрешены.
Есть два способа реализации блокирования нежелательного трафика:

  1. Политика запрета по умолчанию.

Достигается написанием правила:

sudo iptables -P INPUT DROP

Тут надо помнить об опасности потери удаленного доступа к серверу. Желательно его применять, когда есть консольный доступ к серверу.

  1. Добавление запрещающего правила в конец цепочки.
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

 

 

Linux

Настройка 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-ов одинакова:

  1. В первой строке в квадратных скобках указывают название службы, к которой будет применяться следующий ниже набор правил. В нашем случае это [sshd].

  2. Далее определяют параметр enabled, отвечающий за включение или отключение данного jail-а. Мы установим его true, чтобы наш jail был активен.

  3. После этого указывают условия блокировки: максимальное количество попыток подключения (maxretry), время, за которое эти попытки были произведены (findtime), и время, на которое нужно запретить доступ с этого IP (bantime).

  4. В последней части 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

Если в данный момент сервер не подвергается атаке, сразу после установки и запуска программы на экране будет следующая информация:

linux-fail2ban1.png

Здесь приведены сведения о попытках подключения к серверу и о заблокированных IP-адресах.

Если вы решите изменить настройки, указанные в конфигурационном файле jail.local, не забудьте перезапустить Fail2ban, чтобы изменения вступили в силу:

sudo systemctl restart fail2ban
Как удалить из fail2ban заблокированный ip

Сперва проверьте iptables командой:

sudo iptables -S

Вот что мы увидели в консоли:

linux-fail2ban2.png

IP адрес 85.93.129.152 заблокирован сервисом fail2ban.

Выводим список всех наших клеток (jail) следующей командой:

sudo fail2ban-client status

linux-fail2ban3.png

Здесь может быть много правил для служб, но в нашем примере указан только sshd.

Вывод списка IP для конкретной клетки ( для конкретного jail):

sudo fail2ban-client status sshd

linux-fail2ban4.png

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

sudo fail2ban-client set sshd unbanip ip-адрес

linux-fail2ban5.png

Если Вы не хотите, чтобы данный ip адрес снова был заблокирован, то добавьте его в файл jail.local в секцию [sshd] в строчку ignoreip.

Linux

Подключение к серверу Linux Ubuntu 20.04 с графическим интерфейсом через VNC

Установка графического интерфейса и VNC сервера

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

sudo apt update
sudo apt install xfce4 xfce4-goodies tightvncserver

Здесь мы установим графическую оболочку xfce, пакет xfce4-goodies, который содержит несколько дополнительных возможностей для среды рабочего стола, а также VNC-сервер tightvncserver

Во время установки вас попросят выбрать display manager. Мы выбрали gdm3.

linux-xfce1.png

Установка занимает в среднем 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 и номер порта.

linux-xfce2.png

На скриншоте показан интерфейс программы Remmina. После запуска программы выберите протокол - VNC, в строчке ввода введите ip-адрес-сервера:5901 , и нажмите "Enter". 

Будет запрошен пароль — вводим тот, что устанавливали при настройке vncserver. При необходимости сохраняем его и жмем "ОК".

linux-xfce3.png

Готово. Подключение выполнено.

linux-xfce4.png

Автозапуск сервиса 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

Windows

Замена стандартного порта RDP

Введение

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

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

Перейдем к изменению порта.

Шаг 1 -Выбор сервера

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

rdp-port-planetahost-1.jpeg

Шаг 2 - Запуск скрипта

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

rdp-port-planetahost-2.jpeg

Вам откроется окно в котором нужно будет найти скрипт Смена порта RDP. Для старта скрипта нужно указать новый порт в поле USER_PORT (Вы можете указывать любой порт больше 1023, но лучше указывать из диапазона 49152-65535, так Вы точно не получите конфликта с другими службами) и нажать кнопку Запустить скрипт.

rdp-port-planetahost-3.jpeg

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

rdp-port-planetahost-4.jpg

rdp-port-planetahost-5.jpeg

На этом изменение порта RDP завершено. Теперь протестируем работу.

Шаг 3 - Проверка работы

Запустите стандартное средство Windows для работы с RDP - Подключение к удаленному рабочему столу или Remmina, если у Вас Linux. Введите IP в поле и нажмите кнопку Подключить. Обратите внимание, что теперь надо вводить IP с номером порта, так как Вы изменили стандартный порт и программа не знает новый. Пример: 77.77.77.77:6788.

rdp-port-planetahost-6.jpeg

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

rdp-port-planetahost-7.jpeg

Windows

Русификация 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

Windows

Установка и работа с 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

Как подключиться к серверу с Windows по RDP

Доступ к серверу

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

Реквизиты доступа к серверу можно посмотреть в личном кабинете.

Для виртуальных серверов: 
В меню слева выберите раздел Товары/Услуги - Виртуальные серверы. Затем выделите ваш сервер и нажмите "Инструкция". В новой вкладке откроется страница с данными для подключения к серверу.

rekv1.png

Для выделенных серверов:

В меню слева выберите раздел Товары/Услуги - Выделенные серверы. Затем выделите ваш сервер и нажмите "Инструкция". В новой вкладке откроется страница с данными для подключения к серверу.

vydel7.png

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

Подключение с Windows

Нажмите комбинацию клавиш Win+R и в открывшемся окне наберите mstsc.exe и кликните «ОК».

rdp1.png

В открывшемся окне укажите IP-адрес VDS и кликните кнопку «Подключить».

Затем укажите имя пользователя и пароль из письма и кликните «ОК».

rdp2.png

При подключении к серверу приложение покажет уведомление о недоверенном сертификате.

Уведомление указывает, что сервер шифрует передаваемые данные самоподписанным SSL-сертификатом.

Отметьте поле «Больше не выводить запрос о подключениях к этому компьютеру» и нажмите «Да».

rdp3.png

В новом окне откроется рабочий стол сервера.

rdp4.png
Подключение  с 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.

rdp5.png

В окне приложения выберите тип подключения RDP и введите IP адрес сервера.

Затем кликните кнопку «Подключиться» и укажите имя пользователя и пароль из письма.

rdp6.png

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

rdp7.png
Подключение  с MacOS

Чтобы получить удалённый доступ с MacOS, потребуется установить бесплатное приложение Microsoft Remote Desktop в App Store.

rdp8.png

Запустите установленное приложение и нажмите кнопку «Add PC».

rdp9.png

Далее необходимо заполнить данные. 

В поле «PC name» введите домен, который ведёт на сервер, или IP-адрес сервера.

В выпадающем списке «User account» есть два пункта:

  1. Ask when required — спросить пароль при подключении. Выберите этот пункт, если хотите каждый раз при последующих подключениях вводить логин и пароль для доступа к серверу.
  2. Add user account — создать пользователя для подключения. Выберите этот пункт, чтобы сохранить данные для авторизации и не вводить их в дальнейшем.
rdp10.png

Нажмите Add. После этого вы увидите в приложении созданное подключение. Кликните по нему дважды, чтобы подключиться к серверу через RDP. 

rdp11.png

При первом подключении вы получите уведомление о непроверенном сертификате. Дело в том, что подключение защищено сертификатом, заверенным самим сервером, а не центром сертификации. Чтобы уведомление не появлялось в дальнейшем, нажмите Show certificate и поставьте галочку в поле Always trust. Примените изменения, нажав Continue.

Подключение  с Android / IOS

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

Microsoft выпустила официальное приложение Microsoft Remote DesktopПриложение доступно для скачивания на Android и iOS.

Для подключения со смартфона создайте в приложении новое соединение.

rdp12.png

В открывшемся окне укажите IP адрес. В поле “User name” выберите “Add user account”.

Затем введите логин и пароль администратора. Для сохранения нажмите кнопку “Save”.

rdp13.png

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

При подключении приложение также запросит подтвердить сертификат безопасности.

rdp14.png

После подтверждения сертификата вы увидите рабочий стол сервера.

rdp15.png

Windows

Как отключить режим усиленной безопасности Interner Explorer в Windows Server

В серверных операционных системах семейства Windows по умолчанию включена конфигурация усиленной безопасности Internet Explorer. Она защищает серверы от атак через веб-страницы, устанавливая настройки безопасности для браузера Internet Explorer.

Но данная конфигурация зачастую мешает в работе администратора сервера: не даёт установить другой браузер и блокирует веб-ресурсы. 

В статье приведена инструкция по отключению режима усиленной безопасности Interner Explorer в Windows Server 2022. В более ранних версиях Windows Server действия аналогичные.

Для отключения данного режима нужно сделать следующее:

1) Заходим на сервер по RDP.  Затем Пуск - Диспетчер серверов.

win-ie1.png

2) В диспетчере серверов перейдите в пункт "Локальный сервер/Local server".

win-ie2.png

3)Найдите пункт "Конфигурация усиленной безопасности Internet Explorer/IE Enhanced Security Configuration" и нажмите на Включено/On.

win-ie3.png

4)Появится окно с параметрами конфигурации, где надо переключить состояние настроек в Отключить/Off для администраторов и пользователей. После нажмите Ок.

win-pe4.png

5) Теперь нажмите F5, чтобы обновились параметры локального сервера. Затем проверьте, что конфигурация усиленной безопасности перешла в состояние Отключено/Off.

win-ie5.png

Готово. 

Windows

Сетевые настройки Windows-сервера в кластере с технологией IP-fabric

IP -fabric

IP-fabric — один из типов настройки сети кластера. Такой тип настройки позволяет создавать виртуальные машины (ВМ) с публичными IP-адресами в приватной сети.

ВМ в кластере IP-fabric получают IP-адреса с маской /32. В качестве шлюза по умолчанию для каждой ВМ используется отдельный виртуальный интерфейс. Узлы кластера выполняют функцию маршрутизаторов.

Маршрутизация в кластере осуществляется с использованием протокола iBGP.

Преимущества использования IP-fabric:

Правильные сетевые настройки виртуальных серверов, расположенных на вычислительных кластерах с технологией 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 адрес вашего сервера.

win_ip1.png

Сконфигурировать сетевой интерфейс в операционной системе Windows можно двумя подходами:

Настройка основного сетевого адреса с помощью GUI

Откройте меню управления сетевыми интерфейсами:

Пуск - Панель Управления(Control panel)

win_ip2.png

Далее выбирайте сети и интернет(Network and Internet)

win_ip3.png

Теперь центр управления сетями и общим доступом(Network and Sharing Center)

win_ip4.png

Далее выберите изменение параметров адаптера(Change adapter settings)

win_ip5.png

Выберите сетевой интерфейс Ethernet, а затем правой кнопкой мыши откройте контекстное меню. В данном меню выберете пункт Свойства(Properties)

win_ip6.png

В открывшемся меню найдите подключение по протоколу TCP/IPv4 (Internet Protocol Version 4), затем выберете его и нажмите кнопку Свойства(Properties)

win-ip7.png

Заполните поле IP-адреса, маски подсети, основного шлюза и DNS сервров, по завершению нажмите кнопку Ок, а в следующем окне Закрыть(Close)

win_ip8.png

 Настройка дополнительного сетевого адреса с помощью GUI


 Настройка сетевого алиаса через графический интерфейс выполняется в той же оснастке, что и настройка основного сетевого адреса. Перейдите в меню дополнительных настроек TCP/IP, далее кнопка дополнительно(Advanced)

win_ip9.png

Далее в разделе IP-адреса кнопка Добавить(Add...)

win-ip10.png

Заполните поле IP-адреса и длины сетевого префикса. После того как закончите конфигурирование, нажмите кнопку Добавить(Add), а после кнопку Ок:

win_ip11.png

Настройка основного сетевого адреса с помощью командной строки

Запустите командную строку

Пуск - Система(Windows System) - Командная строка(Command Prompt)

win_ip12.png

Определите наименование основного сетевого интерфейса:

netsh interface ip show config | findstr "configuration for interface"

win_ip13.png

В выводе команды представлено два сетевых интерфейса, нас интересует только 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

Как добавить нового пользователя Windows Server 2022

После установки Windows Server на VDS вам доступна только одна учётная запись — Administrator. Однако во многих случаях сервер нужен для работы нескольких человек. Добавим нового пользователя в систему.

В Windows Server 2022 в панель управления можно перейти следующим образом:  Нажмите на "пуск" ,затем выберите  Панель управления(Control Panel).

win_user1.png

В панели управления в разделе «Учётные записи пользователей(User Accounts)» нажмите «Изменение типа учётной записи(Change Account type)». Откроется список пользователей вашего сервера. 

win-user2.png

Здесь выберите опцию «Добавить учётную запись пользователя(Add a user account)»

win_user3.png

Запустится мастер создания пользователей. Введите логин, пароль, подтверждение пароля, подсказку и нажмите «Далее(Next)».

win-user4.png

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

win_user5.png

После этого в списке пользователей появится новая учётная запись. 

win_user6.png

При необходимости вы можете изменить пароль от пользователя, удалить пользовтаеля или сменить тип созданного пользователя — дать ему права администратора. Чтобы сменить выдать пользователю права администратора, кликните на карточку учётной записи — откроется окно настройки. Затем в меню слева выберите «Изменение типа учётной записи(Change the account type)»

win_user7.png

Укажите требуемый уровень прав и нажмите «Изменение типа учётной записи(Change Account Type)» для вступления настроек в силу.

win_user8.png

На этом процесс создания пользователя на Windows Server 2022 завершён. Чтобы новый пользователь мог подключиться к серверу по RDP, ему потребуются следующие данные:

IP-адрес вашего сервера / домен
логин пользователя
пароль пользователя

Windows

Как посмотреть логи Windows Server 2022. Журнал событий.

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

Получить доступ к этим записям можно через встроенное приложение Просмотр событий (Event Viewer). Есть несколько вариантов запуска данного приложения:

win_log1.png

win_log2.png

win_log3.png

Описание интерфейса программы

Окно программы состоит из следующих компонентов:

win_log4.png

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

2. Список событий, содержащийся в выбранном журнале. В колонках выведена базовая информация о событии. Их можно отсортировать по датам, типам, категориям событий и т.д.;

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

4. Панель быстрых действий, которые можно совершить с данным журналом или событием. Действия также доступны в контекстном меню (клик правой кнопкой мыши по журналу или событию).

Для удобства просмотра и управления системные журналы разбиты по категориям:

В разделе Журналы приложений и служб (Applications and Services Logs) можно найти более детальную информацию о событиях отдельных служб и приложений, зарегистрированных в операционной системе, что бывает полезно при диагностике проблем в работе отдельных сервисов.

Сами события также разделяются на типы:

Как узнать, кто перезагрузил (выключил) сервер Windows?

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

  1. Откройте консоль Event Viewer и перейдите в раздел Windows Logs -> System;

win_log6.png

2. Включите фильтр журнала событий в панели быстрых действий справа

win_log7.png

3. В поле фильтра укажите EventID 1074 и нажмите OK;

win_log8.png

4. В журнале событий останутся только события выключения (перезагрузки), откройте нужное событие

win_log9.png

В событии от источника 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, то в журнале может быть следующая запись:

win_log10.png

 

По событию 1074 можно найти только причины корректных (штатных) перезагрузок сервера. Если Windows была перезагружена не штатно (например, при потере электропитания, или появления BSOD), тогда нужно искать события с EventID 6008.

Просмотр журнала производительности Windows

В просмотре событий Windows можно найти достаточное количество интересных вещей, например — посмотреть на проблемы с производительностью компьютера. Для этого в левой панели откройте Журналы приложений и служб — Microsoft — Windows — Diagnostics-Perfomance — тут вы можете наблюдать, есть ли среди событий какие-либо ошибки — они сообщают о том, что какой-то компонент или программа привела к замедлению загрузки Windows. По двойному клику по событию, вы можете вызвать подробную информацию о нем.

win_log5.png

Windows

Как отключить полную проверку диска при загрузке ОС Windows Server

Chkdsk (Chkdsk.exe) представляет собой утилиту командной строки в Windows-системах, которая проверяет тома дисков на наличие проблем и ошибок с файловой системой. Этот инструмент также может попытаться исправить все найденные ошибки. Например, chkdsk может исправить проблемы, связанные с наличием плохих секторов, потерянных кластеров, а также потерянных файлов и каталогов. Однако автоматическая проверка файловой системы утилитой chkdsk, при некорректной перезагрузке ПК, раздражает некоторых пользователей. И в принципе, такую проверку можно отключить (хотя и не рекомендуется – ведь вы теряете контроль за целостностью вашей файловой системы).


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

1) Зайдите на сервер по RDP.

2) Запустите командную строку. Для Windows Server 2022 введите в строку поиска cmd.exe и запустите командную строку. В других версиях windows нажимаем «Пуск» - «Выполнить» - вводим cmd 

win_chkdsk1.png

3) В открывшемся окне вводим команду:

chkntfs /X C:

где С — имя диска, который постоянно проверяется.

win_chkdsk2.png

Теперь проверка отключена. Если захотите ее снова включить, необходимо набрать команду chkntfs /D.

Windows

Установка 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)

win_iis1.png

2. Теперь выберите слева «Панель мониторинга» (Dashboard), затем пункт «Добавить роли и компоненты» (Add roles and features).

win-iis2.png

3. Запустится мастер установки IIS, ознакомьтесь с первой страницей и нажмите «Далее» (Next)

win-iis3.png

4. Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next)

win-iis4.png

5. Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next)

win_iis5.png

6. На странице выбора ролей сервера поставьте чекбокс напротив «Веб-сервер IIS» (Web Server IIS).

win_iis6.png

7. Оставьте все без изменений в появившемся окне и нажмите «Добавить компоненты» (Add Features)

win_iis7.png

8. Нажмите «Далее» (Next)

win_iis8.png

9. Проверьте список компонентов IIS, выберите нужные или оставьте по умолчанию, нажмите «Далее» (Next)

win-iis9.png

10. Ознакомьтесь с информацией в следующем окне и нажмите «Далее» (Next)

win_iis9.png

11. Просмотрите список ролей веб-сервера IIS, которые будут установлены. Отметьте необходимые или оставьте без изменения и нажмите «Далее» (Next). Обратите внимание, что служба FTP по умолчанию не устанавливается. Если в дальнейшем вам понадобятся новые роли, то вы сможете их добавить без переустановки IIS.

win_iis10.png

12. Нажмите кнопку «Установить» (Install). При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.

win_iis11.png

13. Дождитесь окончания установки и нажмите "Закрыть"(Close)

win_iis12.png

14. После перезагрузки запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start). Теперь выберите раздел "Средства"(Tools) справа вверху. В списке содержимого появится установленная служба IIS. Запустите её.

win_iis13.png

Возможности сервера IIS

Возможности, доступные вам в службе IIS, перечислены на панели Просмотр возможностей (Features View). Отсюда управляйте возможностями IIS, настраивайте и перезапускайте. Например, настройте SSL-сертификаты.

win_iis14.png

Проверка работы Web-сервера IIS

Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site.

win_iis15.png

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

win_iis16.png

Файлы этой страницы по умолчанию расположены на диске C:\inetpub\wwwroot

web_iis16.png

Добавление нового сайта на сервер

Добавьте сайты, которые будут обслуживаться этим веб-сервером. Для этого в контекстном меню выберите слева пункт «Сайты» (Sites) и выберите справа «Добавить сайт» (Add Website).

win_iis17.png

Заполните поля формы данными о сайте и нажмите ОК. Пример заполнения данных для сайта plhost-test.ru представлен ниже.

win_iis18.png

Готово. Теперь Вы можете увидеть только что добавленный сайт в списке сайтов.

win_iis19.png

Таким образом мы установили Web-сервер IIS на операционную систему Windows Server 2022, а затем добавили сайт. Данный способ работает только для статичных html-сайтов. Если у вас сайт, созданный на движке одного из популяных CMS, таких как Wordpress, Joomla, Drupal и т.д. , то вам нужно будет добавить поддержку PHP, включить необходимые расширения а также установить сервер базы данных SQL. Но это уже тема для отдельной статьи...

Windows

Установка русского языка на Windows Server 2022

По умолчанию на OC Windows server 2022 установлен англоязычный интерфейс.

Установка обновлений

Для установки русскоязычного интерфейса, первым шагом необходимо подключиться к серверу по RDP. Затем важно установить последние обновления WIndows Server, иначе при установке русского языка может возникнуть ошибка. Для этого перейдем в панель управления "Start" - "Settings".

win_rus1.png

Затем выберите раздел "Update & Security"

win_rus6.png

Сначала проверяем наличие новых обновлений с помощью кнопки «Check for updates»

win_rus7.png

Далее устанавливаем обновления, нажимаем на кнопку "Install now"

win_rus8.png

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

После перезагрузки Зайдите в раздел "Windows Update" и проверьте, что все обновления установлены.

win_rus9.png

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

Установка русского языка на Windows Server 2022

1. После загрузки системы, перейдем в панель управления "Start" - "Settings".

win_rus1.png

2. В открывшемся окне переходим в раздел "Time & Language".

win_rus2.png

3. Слева выбираем раздел "Language", затем выбираем "Add a language".

win_rus3.png

4. Находим нужный нам русский язык, выбираем его и жмем на кнопку "Next".

win_rus4.png

5. Отмечаем все пункты и жмем "Install".

win_rus5.png

6. Запустится скачивание и установка языкового пакета. Дождитесь окончания установки.

win_rus10.png

7. По окончании установки система перезагрузим систему

Важно! Соединение к серверу будет разорвано, а все открытые программы будут закрыты.

win_rus11.png

8. После перезапуска вы увидите русскоязычный интерфейс OC Windows.

win_rus12.png

9. Теперь снова нажмите "Пуск" - "Параметры". Далее выберите раздел "Время и язык".

win_rus13.png

10. Выберите слева раздел "Регион". Выберите страну "Россия", Формат региона также должен быть Русский(Россия).

win_rus14.png

11. В этом же разделе прокрутите вниз и выберите "Дополнительные параметры даты, времени, региона"

win_rus15.png

12. В открывшемся окне выберите "Изменение форматов даты, времени и чисел".

win_rus16.png

13. Выберите вкладку "Дополнительно" и нажмите на кнопку "Копировать параметры"

win_rus17.png

14. Скопируйте текущие параметры в экран приветствия и для новых учетных записей пользователей. Затем нажмите "ОК". Система предложит перезапустить сервер для применения изменений. Нажмите на кнопку "позже".

win_rus18.png

15. Осталось сменить язык для приложений, не использующих Юникод. Нажмите на кнопку "Изменить язык системы"

win_rus19.png

16. Текущий язык системы поставьте "Русский" и нажмите "ОК". 

win_rus20.png

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

На этом установка русского языка для Windows Server 2022 окончена.

Windows

Установка и активация сервера лицензирования RDS на Windows Server 2022

В это статье мы рассмотрим процесс установки, настройки и активации роли сервера лицензирования удаленных рабочих столов (Remote Desktop Licensing) на базе Windows Server 2022 , а также процедуру установки и активации клиентских терминальных (RDS CAL).

Установка роли Remote Desktop Licensing в Windows Server 2022

1. Чтобы приступить к установке, зайдите подключитесь к серверу по RDP с правами администратора. Зайдите в «Диспетчер серверов» (Server Manager). Если не запущен, то зайдите в меню "Пуск" - «Диспетчер серверов» (Server Manager)

win_iis1.png

2. Теперь выберите слева «Панель мониторинга» (Dashboard), затем пункт «Добавить роли и компоненты» (Add roles and features).

win-iis2.png

3. Запустится Мастер добавления ролей и компонентов, ознакомьтесь с первой страницей и нажмите «Далее» (Next)

win-iis3.png

4. Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next)

win-iis4.png

5.Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next)

win_iis5.png

6. На странице выбора ролей сервера поставьте чекбокс напротив "Remote Desktop Services"

win_rdp1.png

7. На этой странице оставляем всё без изменений и выбираем "Далее"(Next)

win_rdp2.png

8. На этой странице также выбираем "Далее"(Next)

win_rdp3.png

9. В качестве компонента роли нужно выбрать службу «Лицензирование удаленных рабочих столов» (Remote Desktop Licensing) (также соглашаемся на установку дополнительных компонент нажав  на «Добавить компоненты» (Add Features) в появившемся мастере)

win_rdp21.png

10.Также выберите «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host) (опять соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в открывшемся окне). Отметив необходимы службы ролей, нажимаем «Далее» (Next) .

win_rdp22.png

11.  Нажмите кнопку «Установить» (Install). При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.

win_rdp23.png

12. Сервер перезагрузится для завершения установки. Дождитесь окончания установки и нажмите "Закрыть"(Close)

win_rdp24.png

Для управления службой 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

win_rdp8.png

Активация сервера лицензий RDS в Windows Server

Чтобы сервер лицензирования RDS мог выдавать лицензии клиентам, его необходимо активировать. Для этого нужно открыть консоль Remote Desktop Licensing Manager.

1. Введите в строку поиска licmgr.exe и нажмите "Enter"

win_rdp9.png

2. Щелкните ПКМ по имени вашего сервера в меню слева и выберите пункт "Activate Server".

win-rdp9.png

3. Запустится мастер активации сервера лицензирования RDS. Нажмите "Далее"(Next). В следующем окне нужно будет выбрать желаемый метод активации. Советуем выбрать "Автоматическое подключение"

win_rdp11.png

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

win_rdp12.png

win_rdp13.png

5. Здесь Вы можете сразу приступить к установке клиентских лицензий, если выберите чекбокс "Start Install Licenses Wizard now".  Об этом есть раздел ниже. А пока что нажмите на кнопку "Finish".

win_rdp14.png

На этом активация сервера лицензирования RDS законена.

Типы клиентских терминальных лицензий (RDS CAL)

Каждый пользователь или устройство, которое подключается к серверам Remote Desktop Session Host, должно иметь клиентскую лицензию (CAL — client access license). Есть два типа терминальных CAL.

Установка клиентских лицензий RDS CAL в Windows Server 2022

Теперь на сервер лицензирования нужно установить приобретенный пакет терминальных лицензий (RDS CAL).

1. В консоли Remote Desktop Licensing Manager щелкните ПКМ по серверу и выберите Install Licenses.

win_rdp15.png

2. Запустится мастер установки лицензий. Нажмите "Далее"(Next)

win_rdp16.png

3. Выберите способ активации (автоматически, через веб или по телефону) и программу лицензирования (в нашем случае Enterprise Agreement).

win_rdp17.png

4. Введите номер лицензии RDP Microsoft Enterprise Agriment

win_rdp18.png

5. Укажите тип продукта (Windows Server 2022), тип лицензии (RDS Per User CAL) и количество терминальных лицензий, которые нужно установить на сервере.

win_rdp19.png

6. Необходимые лицензии будут установлены. Полсе чего нажмите "Finish"

win_rdp20.png

Определение сервера лицензирования для службы удаленных рабочих столов

Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser). Сделать это можно из диспетчера серверов.

1. Зайдите в «Диспетчер серверов» (Server Manager). Если он не запущен, то зайдите в меню "Пуск" - «Диспетчер серверов» (Server Manager)

win_iis1.png

2. Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) . Сделать это можно из диспетчера серверов, выбрав в правом верхнем меню «Средства» (Tools) — «Remote Desktop Services» — «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) .

win_rdp25.png

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

win_rdp26.png

3. Сервер лицензирования указывается теперь в локальных групповых политиках. Для запуска редактора выполним команду gpedit.msc

win_rdp27.png

4. Откроется редактор локальной групповой политики. В дереве слева раскроем вкладки:

Откроем параметры «Использовать указанные серверы лицензирования удаленных рабочих столов» (Use the specified Remote Desktop license servers) ,кликнув 2 раза по соответствующей строке.

win_rdp28.png

5. В окне редактирования параметров политики, переставим переключатель в «Включено» (Enabled) . Затем необходимо определить сервер лицензирования для службы удаленных рабочих столов. В моем примере сервер лицензирования находится на этом же физическом сервере. Указываем сетевое имя или IP-адрес сервера лицензий и нажимаем «ОК» .

win_rdp29.png

6. Далее меняем параметры политики «Задать режим лицензирования удаленных рабочих столов» (Set the Remote licensing mode) .

win_rdp30.png

7. Также устанавливаем переключатель в «Включено» (Enabled) и указываем режим лицензирования для сервера узла сеансов удаленных рабочих столов.  В нашем случае выбираем «На пользователя» (Per User) и нажимаем «ОК» .

win_rdp31.png

8. Изменив вышеперечисленные политики, закрываем редактор

win_rdp32.png

9. Возвращаемся в оснастку «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser). Нажмите «Обновить» (Refresh) и видим, что ошибок нет, а число лицензий, доступных клиентам, соответствует тому, что мы вводили на предыдущем шаге.

win_rdp33.png

На это установка сервера лицензирования RDS на Windows Server 2022 завершена.

 

Windows

Как добавить правило в Windows Fierwall

Файрвол (Firewall) - это устройство сетевой безопасности, которое отслеживает входящий и исходящий сетевой трафик. Файрвол разрешает или блокирует пакеты данных на основе набора правил безопасности. Часто можно встретить идентичный по смыслу термин Брандмауэр. Также в русском языке встречается написание "фаервол".

С помощью брандмауэра (Firewall) можно ограничить доступ в интернет для всех, кроме конкретных программ. Также можно разрешить соединяться с компьютером, на котором он установлен только из внешней сети или только из внутренней сети, только по определенному порту, с определенных ip-адресов и т.д.

Брандмауэр (Firewall) в windows представляет собой набор правил. Правило это описание разрешения или запрета соединения. Они могут быть входящими и исходящими, регулирующими доступ к этому компьютеру или с этого компьютера в сеть.

Например, если хотите чтобы Ваш сайт был доступен из внешней сети, необходимо настроить правило Firewall.

Данная инструкция написана для Windows Server 2022. Для других версий ОС Windows она также применима.

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

1.Подключитесь к своему серверу и нажмите "Пуск" - "Панель управления(Control Panel)".

win-firewall1.png

2. Выберите раздел "Система и безопасность(System and Security)"

win-firewall2.png

3. Выберите раздел "Брандмауэр Windows" (Windows Defender Firewall)

win-firewall3.png

4. В столбце слева выберите Дополнительные параметры(Advanced settings)

win-firewall4.png

5. В открывшемся окне перейдите в раздел “Правила для входящих подключений”(Inbound Rules), после чего нажмите “Создать правило”(New Rule).

win-firewall5.png

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

win-firewall6.png

7. Выберем тип протокола для фильтрации трафика, это может быть либо tcp либо udp, порт может быть любой или вообще можно открыть-закрыть все порты. В нашем примере мы откроем 80 порт для протокола tcp.

win-firewall7.png

8.  Далее определим, что именно должно делать правило - разрешать или запрещать трафик по указанным нами на предыдущем шаге портам. Мы разрешим трафик в нашем примере.

win-firewall8.png

9. Укажем для какой сети должно применяться это правило. Доменной, частной или публичной. Если Вы не знаете, какую выбрать, выберите все три.

win-firewall9.png

10. На последнем шаге задайте имя правила и описание(если необходимо).

win-firewall10.png

11. Готово. Теперь данный порт открыт. В списке "Правил для входящих подключений" мы можем увидеть только что созданное правило.

win-firewall11.png