Основы настройки и использования сетевых служб в Linux: FTP, Samba.

Основы настройки и использования сетевых служб в Linux: FTP, Samba.

Life-Hack - Linux/Хакинг/Хакер/ИБ/Osint

FTP

FTP – это протокол, который позволяет передавать файлы по сети от одного узла другому. Данный протокол является самым старым протоколом прикладного уровня, который появился намного раньше, чем HTTP или TCP/IP. С помощью протокола FTP могут быть организованы соединения с удаленными серверами для просмотра и передачи необходимых данных.

Установка FTP-сервера:

sudo apt update
sudo apt install vsftpd

По окончании установки можно убедиться, что сервис vsftpd уже успешно работает:

systemctl status vsftpd

Далее необходимо произвести некоторые настройки в конфигурационном файле. Для этого откройте при помощи текстового редактора файл vsftpd.conf:

sudo nano /etc/vsftpd.conf

Вот основные изменения, которые необходимо внести для корректной работы FTP-сервера:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
allow_writeable_chroot=YES

После внесения изменений в файл настроек необходимо сохранить их и перезапустить службу vsftpd:

sudo systemctl restart vsftpd

Для защиты передачи ваших данных между FTP-клиентом и FTP-сервером в данной инструкции мы будем использовать генерацию самозаверяющего SSL-сертификата. Закрытый ключ и сертификат будут сохранены в одном файле, для чего следует применить команду:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

После установки SSL-сертификата необходимо внести изменения в конфигурационный файл:

sudo nano /etc/vsftpd.conf

А именно, внесите изменения в следующие строки данного файла:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

Для авторизации на FTP-сервере необходимо создать учетную запись пользователя. Изначально, подключаться к серверу можно и под локальным пользователем. Но более целесообразно для этих целей использовать специальную учётную запись.

Далее нужно добавить в брандмауэр исключения для TCP-портов 20 и 21.

Корректность произведённых настроек можно проверить через осуществление подключения к FTP-серверу. Для этой цели можно воспользоваться бесплатным FTP-клиентом FileZilla. Или выполнить команду ftp address_host:

ftp 127.0.0.1

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

Samba

Samba - программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS.

 В качестве клиентской части для подключения к файловому серверу Samba может выступать программное обеспечение, работающее по протоколу SMB. В Linux/FreeBSD это samba client, в Windows — проводник. Samba использует 445, 137-139 порты.

Компьютеры под управлением Windows и Ubuntu должны быть членами локального домена или рабочей группы под названием WORKGROUP.

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

sudo apt install samba smbclient

Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах.

Мы начнем со свежего чистого файла конфигурации smb.conf, удалив все закоментированные строки. А также сохраним файл конфигурации по умолчанию в качестве резервной копии для справочных целей. Выполните следующие команды linux, чтобы сделать копию существующего файла конфигурации и создать новый файл конфигурации /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'

У Samba есть собственная система управления пользователями. Однако любой пользователь, существующий в списке пользователей samba, также должен быть системным, то есть существовать в файле /etc/passwd. Если ваш системный пользователь еще не существует и, следовательно, не может быть расположен в файле /etc/passwd, сначала создайте нового пользователя с помощью команды useradd, прежде чем создавать любого нового пользователя Samba.

Возьмем для примера имя buhnasmb, надо внести его в базу данных SMB и назначить пароль для доступа к общим ресурсам, сделаем это командой:

sudo smbpasswd -a buhnasmb

Создадим директорию для хранения расшаренных файлов и папок:

mkdir -p /home/hdd2backup/smb/buhnasmb

Добавьте в конец файла /etc/samba/smb.conf следующие строки. Папка будет открыта для чтения и записи (без пароля).

[BackupWork] 
comment = Samba 
Share path = /home/hdd2backup/smb/buhnasmb 
guest ok = yes 
browsable =yes 
writable = yes 
read only = no 
force user = buhnasmb 
force group = buhnasmb

Если изменить 4 строку на "guest ok = no", то папка будет открыта для чтения и записи по паролю.

Не забудьте поставить правильного владельца и права доступа на папку, которую вы расшариваете, например так:

sudo chmod ug+rwx /home/hdd2backup/smb/buhnasmb
sudo chown root:"пользователи домена" /home/hdd2backup/smb/buhnasmb

Перезапуск Samba:

sudo systemctl restart smbd.service

Samba обеспечивает широкий функционал по управлению правами доступа к файлам и базам данных с назначением определенных групп пользователей.

Report Page