Skip to content

Сетевые сервисы

Сетевые сервисы

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