Сетевые сервисы
Сетевые сервисы¶
SSH протокол
Самый простой и популярный способ установки соединений и передачи файлов и команд - Ssh
Для того, чтобы начать им пользоваться, нужно его установить:
sudo apt install openssh
sudo apt install openssh-server
systemctl status ssh
- проверка состояния службы
ssh имя_пользователя@адрес_сервера
- выполнение подключения по Ssh
Отредактировав файл /etc/ssh/sshd_config
, можно настроить максимальное количество одновременных подключений, использование паролей или ключей для входа, проверку ключей хоста и многое другое. Однако, редактировать этот файл нужно очень осторожно
NFS протокол
Nfs
- удобный протокол для управления файлами на удалённых компьютерах
sudo apt install nfs-kernel-server
- установка Nfs
systemctl status nfs-kernel-server
- проверка состояния сервиса
Отредактировав файл /etc/exports можно настроить различные параметры nfs (какие каталоги должны быть общими, права доступа для пользователей и систем, скорость передачи данных, использование шифрования и т.д.). Список популярных настроек:
rw
- предоставляет пользователям и системам права на чтение и запись в общий каталогro
- предоставляет пользователям и системам права только на чтение в общем каталогеno_root_squash
- предотвращает ограничение прав пользователяroot
на клиенте правами обычного пользователяroot_squash
- ограничивает права пользователяroot
на клиенте правами обычного пользователяsync
- синхронизирует передачу данных, чтобы гарантировать передачу данных только после подтверждения измененийasync
- позволяет передавать данные асинхронно, из-за чего могут возникнуть проблемы несоответствия в файловой системе
Пример создания новой папки и предоставление к ней общего доступа в Nfs
:
mkdir nfs_sharing
echo '/home/cry0l1t3/nfs_sharing hostname(rw,sync,no_root_squash)' >> /etc/exports
cat /etc/exports | grep -v "#"
#вывод
/home/cry0l1t3/nfs_sharing hostname(rw,sync,no_root_squash)
После создания общего ресурса nfs нужно смонтировать его, чтобы работать с ним в целевой системе:
mkdir ~/target_nfs
mount 10.129.12.17:/home/john/dev_scripts ~/target_nfs
tree ~/target_nfs
#вывод
target_nfs/
├── css.css
├── html.html
├── javascript.js
├── php.php
└── xml.xml
0 directories, 5 files
В этом примере мы подключили общий ресурс Nfs
(dev_scripts
) от нашей цели (10.129.12.17
) локально к нашей системе в точке монтирования target_nfs
по сети и можем просматривать содержимое так же, как если бы мы были в целевой системе
Apache веб-сервер
Apache
- популярный веб-сервер (наряду с Nginx
)
sudo apt install apache2
- установка Apache
Для Apache2, чтобы указать, к каким папкам можно обращаться, нужно отредактировать файл /etc/apache2/apache2.conf
. Этот файл содержит глобальные настройки
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</directory>
В этом примере указывается, что папка /var/www/html
по умолчанию доступна, что пользователи могут использовать опции Indexes
и FollowSymLinks
, что изменения в файлах этого каталога могут быть переопределены с помощью AllowOverrie All
, и что Require all granted
предоставляет всем пользователям доступ к этому каталогу. А загрузить файлы в нашу целевую систему с этого веб-сервера можно будет с помощью wget
или curl
Можно выполнить индивидуальные настройки на уровне каталога с помощью .htaccess
файла. Этот файл позволяет настраивать определённые параметры на уровне каталога, такие как элементы управления доступом, без необходимости настраивать конфигурационный файл Apache. Также можно добавлять модули для получения таких функций, как mod_rewrite
, mod_security
, mod_ssl
, mod_proxy
, mod_headers
которые помогают повысить безопасность веб-приложения
Python веб-сервер
Веб-сервер Python (оказывается, питончик даже такое умеет, круто!) является альтернативой Apache для размещения одной папки (одной папки? как-то не так уж и круто…)
sudo apt install python3
- установка питона в систему
python3 -m http.server
- запуск веб-сервера на порту TCP/8000 (по умолчанию), и теперь мы можем получить доступ к папке, в которой сейчас находимся
python3 -m http.server --directory /home/user/target_files
- запуск веб-сервера с другой целевой папкой
python3 -m http.server 443
- запуск веб-сервера на порту 443
VPN
sudo apt install openvpn
- установка клиента и сервера OpenVPN
OpenVPN можно настроить, отредактировав конфигурационный файл /etc/openvpn/server.conf
. В файле можно настроить такие функции, как шифрование, туннелирование, формирование трафика и т.д.
Чтобы подключиться к серверу OpenVPN, нужно использовать файл .ovpn
, полученный с сервера, и сохранить его в своей системе
sudo openvpn --config internal.ovpn
- команда для подключения к серверу OpenVPN