Compare commits
2 Commits
0f7e022a5f
...
868dec5ab3
| Author | SHA1 | Date | |
|---|---|---|---|
| 868dec5ab3 | |||
| 4ef1bedad7 |
@@ -1,17 +1,18 @@
|
|||||||
# Начальная настройка сервера
|
# Начальная настройка сервера
|
||||||
|
|
||||||
## Первое подключение
|
## Первое подключение
|
||||||
Подключаемся к серверу к `root` по паролю, который должен выдываться вместе с VDS.
|
Подключаемся к серверу к `root` по паролю, который должен выдаваться вместе с VDS.
|
||||||
```sh
|
```sh
|
||||||
ssh root@<IPv4>
|
ssh root@<IPv4>
|
||||||
```
|
```
|
||||||
|
|
||||||
Уже в терминале сервера выполняем.
|
Уже в терминале сервера выполняем.
|
||||||
```sh { .code-wrap }
|
```sh { .code-wrap }
|
||||||
# Создаём пользователя и наделяем его правом использовать `sudo`.
|
# Создаём пользователя и наделяем правом использовать `sudo`.
|
||||||
adduser <user>
|
adduser <user>
|
||||||
adduser <username> sudo
|
adduser <username> sudo
|
||||||
|
|
||||||
|
# Переключаемся на нового пользователя
|
||||||
su - <user>
|
su - <user>
|
||||||
|
|
||||||
# Все файлы, созданные пользователем, по умолчанию будут иметь права 600, а директории - 700.
|
# Все файлы, созданные пользователем, по умолчанию будут иметь права 600, а директории - 700.
|
||||||
@@ -51,13 +52,13 @@ sudo systemctl restart systemd-hostnamed
|
|||||||
sudo nano /etc/ssh/sshd_config
|
sudo nano /etc/ssh/sshd_config
|
||||||
```
|
```
|
||||||
|
|
||||||
- `Port <ssh-port>` - можно поменять со стандртного 22 на какой-нибудь другой. Лучше больше 10000, чтобы уменьшить вероятность конфликтов с другим ПО.
|
- `Port <ssh-port>` - можно поменять со стандартного 22 на какой-нибудь другой. Лучше больше 10000, чтобы уменьшить вероятность конфликтов с другим ПО.
|
||||||
- `PermitRootLogin no` - запрещаем авторизацию по SSH под `root`.
|
- `PermitRootLogin no` - запрещаем авторизацию по SSH под `root`.
|
||||||
- `PasswordAuthentication no` - запрещаем авторизацию по SSH по паролю.
|
- `PasswordAuthentication no` - запрещаем авторизацию по SSH по паролю.
|
||||||
|
|
||||||
??? question "А что будет, если потерять SSH-ключ?"
|
??? question "А что будет, если потерять SSH-ключ?"
|
||||||
|
|
||||||
Обычно хостинг предоставляет доступ к `VNC` или другие методы подключения к серверу, которые не требуют подключения по SSH. Однако в таком случае будет необходим доступ к личному кабинету хостинга.
|
Хостинг предоставляет доступ к `VNC` или другие методы подключения к серверу, которые не требуют подключения по SSH. Однако в таком случае будет необходим доступ к личному кабинету хостинга.
|
||||||
|
|
||||||
|
|
||||||
На своей машине добавляем сервер в конфиг SSH.
|
На своей машине добавляем сервер в конфиг SSH.
|
||||||
@@ -79,3 +80,70 @@ Host <host>
|
|||||||
```sh
|
```sh
|
||||||
ssh <host>
|
ssh <host>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Настройка фаерволла c UFW
|
||||||
|
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Установка UFW
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install ufw
|
||||||
|
|
||||||
|
# Открываем порт, используемый для SSH (по умолчанию 22)
|
||||||
|
sudo ufw allow <ssh-port>/tcp
|
||||||
|
|
||||||
|
# Закрываем все входные
|
||||||
|
sudo ufw default deny incoming
|
||||||
|
sudo ufw default allow outgoing
|
||||||
|
|
||||||
|
# Включаем фаерволл
|
||||||
|
sudo ufw enable
|
||||||
|
|
||||||
|
# Показать состояние ufw и активные правила
|
||||||
|
sudo ufw status verbose
|
||||||
|
```
|
||||||
|
|
||||||
|
??? tip "Дополнительные команды `ufw`"
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Отключить фаерволл
|
||||||
|
sudo ufw disable
|
||||||
|
|
||||||
|
# Удалить правило (будут применены настройки по умолчанию)
|
||||||
|
sudo ufw delete allow <port>/<protocol> # удалить разрешение
|
||||||
|
sudo ufw delete deny <port>/<protocol> # удалить запрет
|
||||||
|
|
||||||
|
# Сброс всех правил
|
||||||
|
sudo ufw reset
|
||||||
|
|
||||||
|
# Вывести логи ufw
|
||||||
|
sudo tail -f -n 100 /var/log/ufw.log
|
||||||
|
|
||||||
|
# Изменить уровень логирования
|
||||||
|
sudo ufw logging <low/medium/high>
|
||||||
|
|
||||||
|
# Разрешить доступ ко всем портам с определённого IP-адреса
|
||||||
|
sudo ufw allow from <IPv4>
|
||||||
|
|
||||||
|
# Разрешить доступ к порту с определённого IP-адреса
|
||||||
|
sudo ufw allow from <IPv4> to any port <port>
|
||||||
|
```
|
||||||
|
|
||||||
|
Некоторые приложения, например `OpenSSH` или `Nginx`, добавляют пресеты с правилами для `ufw`, которые точно так же можно разрешать и запрещать.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Вывести список пресетов
|
||||||
|
sudo ufw app list
|
||||||
|
|
||||||
|
# Открыть все соединения, которые нужны Nginx
|
||||||
|
sudo ufw allow "Nginx Full"
|
||||||
|
|
||||||
|
# Удалить правило для пресета
|
||||||
|
sudo ufw delete allow "Nginx Full"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Полезные ссылки
|
||||||
|
- [Initial Server Setup with Ubuntu 20.04](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04)
|
||||||
|
- [UFW Essentials: Common Firewall Rules and Commands](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands)
|
||||||
|
- [VPS cheatsheet](https://habr.com/ru/articles/756804/)
|
||||||
Reference in New Issue
Block a user