Использование виртуальных пользователей
Для безопасности рекомендуется использовать не реальных пользователей системы, а виртуальных. Мы рассмотрим процесс их хранения в файле или базе данных.
Хранение в файле
Создаем виртуального пользователя командой:
ftpasswd —passwd —file=/etc/proftpd/ftpd.passwd —name=ftpvirt —uid=33 —gid=33 —home=/var/tmp —shell=/usr/sbin/nologin
* где:
- /etc/proftpd/ftpd.passwd — путь до файла, в котором хранятся пользователи;
- ftpvirt — имя пользователя (логин);
- uid и gid — идентификаторы пользователя и группы системной учетной записи (например, www-data);
- /var/tmp — домашний каталог пользователя;
- /usr/sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.
Открываем конфигурационный файл proftpd:
vi /etc/proftpd/proftpd.conf
Снимаем комментарий или редактируем опцию (если не сделали это раньше):
DefaultRoot ~
* данная опция говорит о том, что корневой директорией для пользователя будет домашняя директория. Это нужно, чтобы FTP-пользователи не могли выйти за пределы дозволенного и видеть на сервере сайты друг друга.
Создаем дополнительный конфигурационный файл для proftpd:
vi /etc/proftpd/conf.d/virtual_file.conf
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c
Перезапускаем сервис FTP-сервера:
systemctl restart proftpd
Хранение в MariaDB (MySQL)
Настройку разделим на два этапа:
- Установку и настройку СУБД.
- конфигурирование FTP-сервера.
В качестве СУБД будем использовать MariaDB / MySQL.
СУБД
Устанавливаем на Ubuntu СУБД и модуль mysql для ProFTPd:
apt-get install mariadb-server proftpd-mod-mysql
Разрешаем автозапуск сервиса mariadb:
systemctl enable mariadb
Задаем пароль для пользователя root в mysql:
mysqladmin -u root password
Подключаемся к базе данных:
mysql -uroot -p
Создаем базу данных для хранения пользователей:
> CREATE DATABASE proftpd DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* в данном примере мы создали базу данных proftpd.
Создаем таблицу в созданной базе:
> CREATE TABLE `proftpd`.`users` (
`userid` VARCHAR( 32 ) NOT NULL ,
`passwd` CHAR( 41 ) NOT NULL ,
`uid` INT NOT NULL ,
`gid` INT NOT NULL ,
`homedir` VARCHAR( 255 ) NOT NULL ,
`shell` VARCHAR( 255 ) NOT NULL DEFAULT ‘/usr/sbin/nologin’,
UNIQUE (`userid`)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
* данной командой мы создаем таблицу users в базе данных proftpd.
Создаем пользователя mariadb для доступа к таблицам базы proftpd:
> GRANT SELECT ON proftpd.* TO proftpd_user@localhost IDENTIFIED BY ‘proftpd_password’;
* мы создали пользователя proftpd_user с паролем proftpd_password, которому дали право подключаться только с локального сервера.
Добавляем FTP-пользователя в таблицу:
> INSERT INTO `proftpd`.`users` VALUES (‘sqluser’, ENCRYPT(‘sqlpassword’), ’33’, ’33’, ‘/var/tmp’, ‘/usr/sbin/nologin’);
* в данном примере мы создаем пользователя sqluser с паролем sqlpassword.
… и отключаемся от базы:
> \q
Настройка FTP-сервера
Открываем конфигурационный файл для proftpd:
vi /etc/proftpd/proftpd.conf
Снимаем комментарий для подключения файла sql.conf:
Include /etc/proftpd/sql.conf
Открываем на редактирование файл sql.conf:
vi /etc/proftpd/sql.conf
Приводим его к виду:
<IfModule mod_sql.c>
…
SQLBackend mysql
…
SQLEngine on
SQLAuthenticate users
…
SQLAuthTypes Crypt
…
SQLConnectInfo proftpd@localhost proftpd_user proftpd_password
…
SQLUserInfo users userid passwd uid gid homedir shell
…
SqlLogFile /var/log/proftpd/sql.log
…
</IfModule>
* где нужно обратить внимание на следующие параметры:
- SQLAuthenticate — указываем, что модуль должен выполнять аутентификацию по пользователю.
- SQLAuthTypes — способ хранения пароля в базе. Можно перечислить несколько вариантов. Для наибольшей безопасности мы разрешили хранить пароли только в зашифрованном виде.
- SQLConnectInfo — параметры для подключения к базе. Здесь мы задаем имя и сервер базы данных, а также данные пользователя для подключения.
- SQLUserInfo — информация о таблице, где хранится пользователь. Мы указываем на название таблицы и перечисляем название полей, в которых хранятся нужные сведения.
Создаем дополнительный конфигурационный файл для proftpd:
vi /etc/proftpd/conf.d/virtual_mysql.conf
RequireValidShell off
AuthOrder mod_sql.c
Открываем файл modules.conf:
vi /etc/proftpd/modules.conf
Снимаем комментарии для следующих строк:
LoadModule mod_sql.c
…
LoadModule mod_sql_mysql.c
Перезапускаем сервис FTP-сервера:
systemctl restart proftpd
Можно пробовать подключаться к базе под пользователем sqluser с паролем sqlpassword.
Как соединить два роутера с помощью кабеля?
Итак, для начала давайте рассмотрим самый базовый метод подключения двух роутеров друг к другу, чтобы расширить зону покрытия для вашего Wi-Fi. Что же вам понадобится для этого:
- Главный и дополнительный роутер.
- Сетевой кабель для соединения роутеров.
Вот, собственно, и все. Причем вы можете использовать даже маршрутизаторы не одной и той же фирмы — это не имеет большого значения. Плюс, вам придется выполнять настройку всего одного из маршрутизаторов — дополнительного, который как раз и будет выступать в роли так называемого репитера или повторителя сигнала.
Раз вы хотите узнать, как объединить два роутера, то не сложно догадаться о том, что один маршрутизатор у вас уже есть, причем настроенный и полностью рабочий. В таком положении он и должен оставаться. Его настройки мы с вами при подключении к другому роутеру трогать не будем. Немного покопаться в настройках придется только для дополнительного роутера.
Итак, давайте начнем. Чтобы подключить два роутера с помощью сетевого кабеля вам потребуется сделать следующее:
- Положите рядом с собой два маршрутизатора, которые будут расширять зону покрытия Wi-Fi.
- Возьмите сетевой кабель и подсоедините один конец в один из четырех LAN-портов на вашем главном маршрутизаторе.
- Второй конец подсоедините в WAN-порт дополнительного роутера, который будет выступать в роли репитера.
- Подкиньте главный роутер к питанию и включите его, если тот еще не был включен. Сделайте то же самое и для второго маршрутизатора.
- Если вы все правильно сделали, то на главном маршрутизаторе подсветится специальный индикатор, который укажет подключение по LAN-порту. На дополнительном роутере, соответственно, засветится индикатор о подключении к WAN-порту.
Вы соединили два роутера в одну сеть. Можете уже ставить дополнительный маршрутизатор в нужное вам место. На этом первый этап закончен. Давайте перейдем ко второму, который включает в себя настройку дополнительного роутера.
Итак, для начала вам нужно пройти в веб-интерфейс маршрутизатора-репитера. Откройте браузер на любой устройстве, которое будет подключено к сети репитера, и введите в адресную строку его IP-адрес. Не знаете какой IP-адрес у вашего второго роутера?
Обычно, такая информация должна быть указана на корпусе устройства(на его задней части, рядом с разъемами для кабелей) или на коробке от него. Если IP-адреса нет на корпусе роутера, а следа коробки уже не было давно, то вам придется лезть в дебри Интернета на сайт производителя и искать ответ там.
Однако, для большинства роутеров вход в веб-интерфейс с настройками выполняется через IP-адрес 192.168.1.1. Если вы так и не смогли найти нужную вам информацию, то можете воспользоваться этим адресом.
Как только вы зайдете в веб-интерфейс дополнительного маршрутизатора, вам нужно будет перейти во вкладку, в которой будет находиться выбор типа сетевого подключения. Вам нужно выбрать сетевое подключение типа DHCP или же Динамический IP(это обязательный пункт!).
Как только выберите DHCP, сохраните настройки и закройте веб-интерфейс. Ниже выбора типа соединения появиться информация об IP-адресе, маске подсети и основного шлюза. Если эти данные проявились, то ваша работа по соединению двух роутеров завершена. Закройте веб-интерфейс с настройками и пользуйтесь зоной покрытий Wi-Fi сигнала от вашего главного маршрутизатора, который теперь успешно должен расширяться дополнительным роутером-репитером.
Ок, мы в полной мере ответили на вопрос о том, как соединить два роутера в одну сеть с помощью сетевого кабеля. Преимуществом этого способа является то, что вы не будете ощущать каких-то серьезных потерь в передаче сигнала. Минус, естественно, состоит в том, что вам придется разбираться с сетевым кабелем, который может быть порой головной проблемой. Следующий способ проведения сети между двумя роутерами ликвидирует эту проблему, но выполнить его уже посложнее — установления моста между двумя роутерами. Давайте теперь об этом.
Как быстро создать FTP сервер? / Легкий способ передачи файла по локалке
Не так давно в одной из статей мы рассматривали 3 способа передачи файлов через интернет. Есть еще один для передачи файлов по локальной сети — через FTP сервер.
Тем более, что у него целый ряд преимуществ:
— скорость не ограничивается ни чем, кроме вашего интернет-канала (скорости вашего провайдера),
— быстрота обмена файлами (не нужно никуда и ничего загружать, не нужно ничего долго и нудно настраивать),
— возможность докачки файла в случае обрыва скачки или нестабильной работы сети.
Думаю, преимуществ достаточно, чтобы использовать этот способ для быстрой передачи файлов с одного компьютера на другой.
Для создания FTP сервера нам нужна простая утилита — Golden FTP server (скачать можно здесь: https://www.goldenftpserver.com/download.html, бесплатной (Free) версии будет более чем достаточно для начала).
После того, как скачали и установили программу, у вас должно всплыть следующее окно (кстати, программа на русском, что радует).
1. Нажимаем кнопку добавить в нижней части окна.
2. С троке «путь» указываем папку, к которой хотим предоставить доступ пользователям. Строка «имя» не так важна, это просто название, которое будет отображаться пользователям, когда они зайдут в эту папку. Есть еще галочка «разрешить полный доступ» — если нажмете, то пользователи зашедшие на ваш FTP сервер смогут удалять и редактировать файлы, а так же загружать в вашу папку свои файлы.
3. В следующем шаге программа сообщает вам адрес вашей открытой папки. Его можно сразу же скопировать в буфер (все равно что если бы вы просто выделили ссылку и нажали «копировать»).
Для проверки работоспособности своего FTP сервера можете зайти на него, использовав браузер Internet Explorer или Total Commander.
Кстати, ваши файлы могут скачивать сразу несколько пользователей, кому вы сообщите адрес своего FTP сервера (по ICQ, Skype, телефону и пр.). Естественно, что скорость между ними будет делиться согласно вашему интернет каналу: например, если максимальная скорость отдачи канала 5 мб/с, то один пользователь будет качать со скоростью 5 мб/с, два — по 2,5* мб/с и т.д.
Так же можете ознакомиться с другими способами передачи файлов через интернет.
Если вы часто передаете файлы друг другу между домашними компьютерами — то может быть стоит один раз настроить локальную сеть?
Социальные кнопки:
Руководство для маршрутизатора MikroTik
Роутеры от MikroTik имеют одну особенность: к ним нельзя подключить накопитель, который уже наполнен данными.
Устройство необходимо обязательно отформатировать и только потом подключать к маршрутизатору.
Настройка общего доступа к файлам осуществляется с помощью программы Samba. Веб-интерфейс использовать не нужно.
Как правило, утилиту можно установить на ПК через диск, который входит в комплектацию роутера. Также вы можете загрузить программу с официального сайта производителя.
После подключения накопителя к роутеру следует зайти в Samba и отформатировать устройство еще раз. Откройте главное меню программы и перейдите в окно Systems-Stores.
Выберите жесткий диск из списка и нажмите на «Format Drive».
Рис. 13 – подготовка внешнего жесткого диска для соединения с MikroTik
После появления в графе Статус значения «Ready» можно начинать дальнейшие настройки:
- В приложении Samba откройте вкладку «IP – SMB» и поставьте галочку напротив поля Enabled;
- В этом же окне задайте любое имя для рабочей группы сети и наименование роутера;
- Поставив галочку напротив «Allow Guest», вы разрешаете доступ к файлам неавторизованным устройствам. Необязательно подтверждать эту строку;
- В графе интерфейсов поставьте значение All. Таким образом, вы сможете просматривать содержимое жёсткого диска с любого устройства, независимо от его ОС и типа интерфейса.
Поочередно нажмите на клавишу Apply и Shares, чтобы применить настройки и активировать функцию общего доступа к данным в сети.
Рис. 14 – настройка роутера MikroTik
Тематические видеоролики:
Настройка FTP-сервера на роутере Tp-Link. Настройка роутера на канале inrouter
Задаетесь вопросом что же делать с usb-портом на роутере Tp-Link TL? Подключите к нему жесткий диск, либо обычную usb флешку. А далее данное виде поможет Вам подключить и настроить FTP-сервера на роутере TP-Link TL. Для чего это нужно? Для того чтобы иметь доступ к одним файлам с разных компьютеров.
Флешка в роутере ASUS.
Несколько слов о том, какие возможности открываются, если организовать общий доступ к файлам с внешнего накопителя при его подключении напрямую к роутеру, а не электронным устройствам, например, компьютеру.
Вряд ли, кто будет отрицать, что хранить большие медиа файлы (видео, фото и пр.) на внешних источниках памяти достаточно целесообразно. Также удобно, чтобы вся электронная техника могла работать независимо друг от друга. Если подключить флеш карту или жесткий диск напрямую к маршрутизатору, тем самым убиваем двух зайцев: любой файл с накопителя будет доступен ко всем устройствам, которые работают через данный роутер.
Более того, через общий доступ удобно организовать домашний «файлообменник». Например, через телефон или компьютер вы скачали очередной блокбастер, который сохраняете на внешний диск. Теперь устраивайтесь поудобнее на диване или кресле и смотрите фильм на большом экране вашего телевизора. При этом компьютер можно выключить. Еще удобнее, если вы загружаете файлы через специальное приложение в роутере, так как любой файл, который будет загружен через роутер на подключенное к нему устройство внешней памяти, будет также доступно со всех электронных устройств, работающих с данным роутером.
Как бы ни было очевидно, но именно данный элементарный и первостепенный шаг многие забывают сделать. Возможно, подсознательно пользователи считают, что флешка или диск сами подключатся без чьей-либо помощи. Наверно, в будущем так и будет, а пока мы должны сделать это самостоятельно.
Зачастую у маршрутизатора несколько usb входов – выбирайте любой. Если у вас дополнительно, например, подключен 3G модем, то используйте оставшийся.
Собственно на этом инструкцию можно заканчивать. На удивление, никаких манипуляций не нужно производить, общий доступ работает по мановению волшебной палочки уже при подключении флешки или внешнего диска.
Поэтому сейчас мы поговорим о том, как открывать и управлять таким накопителем, подключенным к роутеру.
На всякий случай также наглядно демонстрируем как организовать грамотное извлечение накопителя через интерфейс настроек маршрутизатора.
Зачем подключать HDD к маршрутизатору
Объемы потребляемого сетевого трафика растут день ото дня. Большинство контента доступно онлайн, но нередко требуется сохранить какие-то данные на диск для быстрого доступа. Это могут быть:
- музыка и фильмы;
- дистрибутивы программ;
- документы;
- прочая информация.
Обычно делают следующим образом: один из домашних компьютеров переводится в режим круглосуточной работы, а к его дискам открывается общий сетевой доступ. Но такое решение имеет ряд неудобств:
- Компьютер постоянно работает и издает шум, мигает диодами и мешает, особенно по ночам.
- Чем больше аптайм ПК (время работы до выключения или перезагрузки), тем сильнее он «тормозит» и «глючит».
- Устройство потребляет электроэнергию, а с учетом достаточно высокой мощности современных блоков питания (800–1500 Вт) это способно привести к существенным суммам за электричество в конце месяца.
- Для настройки нужно обладать специфическими знаниями и навыками системного администрирования.
Проблему можно решить приобретением специализированного оборудования — NAS или сетевого хранилища. Это прибор со встроенным контроллером, сетевым интерфейсом и слотами для одного или нескольких жестких дисков, позволяющее объединить их в массив и вывести в локальную сеть для общего доступа. Но надежные решения дороги. Тем не менее, существует еще одна возможность — подключить HDD или флешку с большим объемом к роутеру. Разумеется, последний должен поддерживать такую возможность.
Wi-Fi-маршрутизатор есть почти в каждом доме. Если несколько лет назад задачей «коробочки» являлась раздача интернета в помещение и не более, то современный роутер — многофункциональный «комбайн», умеющий скачивать торренты, отдавать мультимедиа по DLNA и прочее, в том числе, работать с накопителями. А если к маршрутизатору можно подсоединить накопитель, то значит можно и открыть диск для сетевых операций.
Для этого понадобятся:
- роутер с соответствующим функционалом и интерфейсом (одним или несколькими) USB;
- HDD и подключаемая по USB док-станция или полноценный USB-диск.
Как настроить Secure (SFTP)
подразделяются на два типа: заверенные официальной комиссией и самоподписанные. Первый тип считается безопасным, так как за надежность заверяется центром, отвечающим за сертификацию.
Если брать самозаверенные сертификаты, тогда юзеры при желании зайти на сервер будут получать предупреждения.
Начать работу с самозаверенным сертификатом просто:
1. Нужно зайти в окно диспетчера IIS и выбрать параметр «Сертификаты».
2. В правой подменю необходимо выбрать создание самоподписанного типа.
3. Ввести его название.
Чтобы настроить SFTP потребуется вернуться к начальной странице (кликнуть по FTP в левом подменю) и открыть параметры, как на скриншоте.
Открывшееся окно предложить сделать выбор политики – укажите второй вариант с требованиями SSL-соединений.
Чтобы произвести подключения по защищенному каналу, понадобится программа WinSCP:
• Протоколом должен выступить FTP;
• В качестве шифрования из выпадающего меню выбирается «Явное»;
• Именем хосту будет служить айпи или доен;
• Если не было настроек других портов, нужно выбирать 21-й;
• Последними указываются логин и пароль.
После входа появится все, что содержит FTP-каталог.
Установка и конфигурация FTP сервера Filezilla
Что нам нужно:
2. FTP-клиент или любой браузер для проверки работоспособности FTP-сервера
# Установка
Скачанный дистрибутив запускаем и начинаем установку
1. В первом шаге нажимаем I Agree
2. Далее необходимо выбрать компоненты установки, здесь ничего сложного, оставляем как есть или убираем ярлыки, Source Code устанавливать не нужно
3. Выбираем место установки, можно сотавить по-умолчанию
4. на четвертом шаге необходимо выбрать апраметры работы службы сервера, есть 3 варианта:
а. Установка сервера как службы и автоматический запуск
б. Установка сервера как службы и ручной запуск, при старте системы сервер не будет работать
в. Установка сервера как обычное приложение и автоматический запуск
Выбор зависит от того, насколько регулярно и для чего будет работать сервер, если необходим постоянный доступ в автоматическом незаметном режиме, то вариант А, если для решения разовых задач, то вариант Б
Кроме того необходимо выбрать порт, по которому будет происходить соединение панели управления с сервером, он не должен быть занят другим ПО, в большинстве случаев можно оставить порт по-умолчанию, т.е. 14147
# Настройка
По окончанию установки будет запущен менеджер сервера, сначало появится окно с предложением настроить подключение к серверу, т.к. сервер находится на том же самом ПК, что и менеджер, то как Server Address оставляем
127.0.0.1, порт тоже не трогаем, именно он был указан во время установки, или меняем, если изменяли ранее. пароль оставляем пустым, т.к. по-умолчанию его нет, позже можно установить. Ставим галку, подключаемся
# Основная конфигурация сервера
1.General Settings. Можно изменить 21 порт на какой-либо другой, обычно это не нужно, но бывает полезно, чтобы оградить свой сервер от лишних посягательств, т.е. 21 порт будет недоступен и тот, кто не осведомлен может предположить, что сервера нет. Так же можно указать максимальное количество одновременно подключенных пользователей, помогает для снижения нагрузки для слабых машин. Ниже можно указать количество ядер процессора, которые буду использоваться сервером для распределения нагрузки.
3. Logging. Собственно логирование, по умолчанию выключено, но можно включить. Размер можно ограничить, тогда по достижению лимита файл будет перезаписан. Так же можно задать лог в один большой файл (не рекомендуется) или создавать логи по дням + активировать опцию удалению через необходимый временной промежуток
4. Speed Limits. Возможность задать ограничения скорости на загрузку и закачку. Можно просто сделать общее ограничение скорости или добавить необходимое число правил по дням и часам. Полезно использовать для того, чтобы FTP-сервер не загружал весь канал
5. Autoban. Название говорит само за себя, если пользователь несколько раз подряд указывает не верные учетные данные, то его адрес блокируется. Количество попыток и промежуток блокировки указывается. Полезно против программ-брутов, которые осуществляют банальный перебор, данным методом их можно остановить
По окончанию настройки можно нажать ОК
# Добавляем пользователей
1. General. Здесь мы создаем новую учетную запись. Нажимаем Add, появляется поле ввода имени пользователя и выбора группы, в которую мы хотим его добавить. Если группы нет, то соответственно выбрать ее нельзя. Для серверов с небольшим количеством учетных записей создавать группы не обязательно, достаточно просто создать несколько учетных записей и на каждую назначить свои права
Затем ставим галку Password и вводим пароль для учетной записи. Ниже можно установить лимиты для пользователя по количеству подключений и количеству подключений с одного IP. Нулевые значения будут означать отсутствие ограничений
2. Shared folders. Здесь для конкретного пользователя мы выбираем папки, в которые он будет иметь доступ и права на эти папки
Теперь о правах на файлы и папки. Выбираем необходимого пользователя и папку, и работаем с галками, в зависимости от необходимых возможностей
Если мы создаем анонимного пользователя, т.е. которым будут пользоваться сразу несколько пользователей для получения каких-либо данных с сервера, то нам необходимо создать ученую запись с именем anonymous без пароля, добавить ему необходимые директории и назначить на них права. обычно анонимным пользователям необходимо только чтение (в целях безопасности прежде всего), т.е. включаем для него права Read, list, +Subdirs
Доступ к FTP серверу Asus из интернета
Далее нас спросят, будем ли мы использовать службу DDNS для доступа к файлам из интернета.
Я уже объяснял, что она позволяет подменять ваш белый динамический внешний IP адрес на доменное имя при наличии белого внешнего айпишника (подробнее про сервис DDNS читайте тут). Если же у вас маршрутизатор от другого производителя, например Zyxel, то он скорее всего будет поддерживать широко известные DDNS сервисы, например no-ip.com, про который я уже рассказывал на данном блоге.
Роутер Asus в стандартной прошивке их не поддерживает, поскольку у этого производителя есть свой собственный сервис. А для поддержки сторонних DDNS нужно ставить неоригинальную прошивку. Поэтому мы здесь же зарегистрируем новую учетную запись в сервисе asuscomm.com. Если вы не хотите, чтобы ftp сервер работал в интернете, а только по квартире, то выбираем вариант «Пропустить настройку ASUS DDNS». Позже уже в другом разделе — WAN > вкладка «DDNS» — можно будет настроить эту функцию отдельно.
Далее со всем соглашаемся, жмем везде «ОК» и получаем доступ к файловому USB Flash накопителю
- по внешнему адресу http://вашеназвание.asuscomm.com
- или ftp://192.168.1.1 для пользователей внутренней сети, который достаточно просто ввести в браузере.
Открываем эту страницу вводим заданные логин и пароль и попадаем в хранилище:
Теперь можно также зайти в раздел «Приложения USB» и посмотреть пользователей, которым разрешен доступ к файлам, и список всех документов на USB флэш накопителе, который теперь является полноценным файловым ftp сервером с доступом по wifi.
Также выбрав определенного юзера, можно задать для него права доступа в каждую отдельную папку. Для этого установите соответствующие флажки напротив этих папок:
- R/W — запись и чтение
- W — только запись
- R — только чтение
- No — нет доступа
Теперь можно подключиться к FTP серверу с любого телефона или ПК с использованием заданного логина и пароля и получить доступ к папкам в соответствии с установленными разрешениями.