> For the complete documentation index, see [llms.txt](https://leossnet.gitbook.io/jetcalc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://leossnet.gitbook.io/jetcalc/ustanovka-sisteme-na-oblachnom-hostinge/nastroiki-ubuntu.md).

# 11.4. Настройки Ubuntu

## Общие настройки

Установка [**JetCalc** ](https://jetcalc.leossnet.ru)выполняется непосредственно на сервере. Для входа на сервер необходимо запустить программу [**PuTTY**](http://www.putty.org/) и подключится к своему серверу по протоколу **SSH**:

![](https://640371188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lbn4ETTWljOikkGTsy5%2F-Lbn4Gh85_O07ucHCF_s%2F-Lbn4PXmLBtr46brLmdm%2Fputty.png?generation=1554561478336511\&alt=media)

После нажатия кнопки **Open** откроется консоль, в которой необходимо ввести логин **root** и пароль, который ранее был выслан на адрес электронной почты на этапе создания сервера.

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

* в пароле должны присутствовать латинские буквы, цифры и один-два спецсимвола, например # или $;
* общая длина пароля не должна быть меньше 12 символов;
* для лучшего запоминания пароля нужно использоваться русские слова, набираемые в английской раскладке;

Для повышения стойкости пароля можно использовать первые 3 буквы каждого слова в каком-нибудь запоминающемся выражении, например, для выражения "красная пчела" в пароле будут использованы буквы "**крапче**". Вместе с цифрами и спецсимволами пароль будет запомнен как "**крапче$147852369**", а набранный в английской раскладке как "**rhfgxt$147852369**".

Сменить пароль можно следующей командой, которая после ввода потребует ввода пароля для текущего пользователя и последующего подтверждения:

```
passwd
```

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

```
exit
```

На следующем шаге необходимо актуализировать информацию о доступном программном обеспечении, которое устанавливается в [**Ubuntu** ](https://www.ubuntu.com/)с помощью утилиты управления пакетами **apt-get**:

```
apt-get update
```

Далее необходимо установить клиентскую программу для работы с сервером [**GitHub**](https://github.com/), на котором разработчики размещают исходные коды своих, как правило открытых, программных продуктов, в том числе [**JetCalc**](http://jetcalc.com/). Как видно из названия [**GitHub**](https://github.com/), взаимодействие с сервером осуществляется посредством системы контроля версий **Git**, клиент которого и требуется установить:

```
apt-get install -y git
```

Перед началом установки [**JetCalc**](http://jetcalc.com/) рекомендуется установить на сервере часовой пояс, отличный от Гринвича, который определяется по умолчанию после установки сервера:

```
sudo dpkg-reconfigure tzdata
```

После запуска этой команды необходимо последовательно выбрать регион расположения сервера, например, для Москвы, это Europa, а затем выбрать из списка подходящий город. Если же город отсутствует в списке, то на первом шаге нужно выбрать пункт **None of the above**, после чего выбрать подходящий часовой пояс, например, для Москвы это будет **GMT-3**.

## Настройки безопасности

В целях повышения безопасности системы в первую очередь рекомендуется изменить порт, назначенный по умолчанию для сервиса удаленного доступа к серверу **ssh** - с **22** на, например, **4125**. Для этого необходимо в файле **/etc/ssh/sshd\_config** заменить числовое значение порта у следующей строки:

```
Port 4125
```

Также рекомендуется закрыть возможность удаленного входа в систему для пользователя **root** по протоколу **SSH**. Для этого нужно создать нового пользователя, настроить ему возможность выполнения команд с правами администратора, и после тестирования входа под новым пользователем закрыть доступ для **root**.

Для создания нового пользователя нужно выполнить следующую команду с указанием имени нового пользователя, например, **user1**, которая попросит ввести пароль и основные реквизиты для создаваемого пользователя:

```
sudo adduser user1
```

Чтобы предоставить вновь созданному пользователю **user1** возможность работы с правами администратора, нужно в файл **/etc/sudoers** добавить строку следующего вида:

```
user1    ALL=(ALL:ALL) ALL
```

После этого необходимо выйти из системы и повторно войти уже под новым пользователем **user1**, после чего сразу переключиться на администратора системы с помощью команды:

```
sudo su
```

Команда запросит пароль пользователя **user1**. Если после ввода пароля будет сменен пользователь с **user1** на **root**, то можно преступать к закрытию удаленного доступа для пользователя **root**. Для этого необходимо в файле **/etc/ssh/sshd\_config** заменить **yes** на **no** у следующей строки:

```
PermitRootLogin no
```

После сохранения сделанных изменений в файле **/etc/ssh/sshd\_config** нужно перезагрузить сервис **ssh** следующей командой:

```
sudo service ssh restart
```

Для защиты сервера от взлома путем подбора паролей к учетным записям можно установить программу **fail2ban**, действие которой основано на анализе логов входа в систему и блокировке ip-aдресов, с которых зафиксировано несколько неудачных входов в систему. Установка fail2ban выполняется командой:

```
sudo apt-get install fail2ban
```

В настройках **fail2ban** по умолчанию предусмотрена блокировка ip-адреса на 10 минут после 3 неудачных входов в систему в течение 10 минут. Подробнее о **fail2ban** можно почитать по адресу <https://www.dmosk.ru/instruktions.php?object=fail2ban>.

Еще полезная информация о безопасности в Linux:

* [Пять простых шагов для защиты ssh в Ubuntu](http://anosov.me/2011/07/five-simple-steps-for-ssh-protect-in-ubuntu/)
* [Поиск TCP/UDP портов](https://ru.adminsub.net/tcp-udp-port-finder/)
* [Проверка Linux на вирусы](https://losst.ru/proverka-linux-na-virusy)
