Возможно вы искали: 'Harvest Moon: Animal P...'

May 15 2025 18:34:17
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Создание FTP сервера на базе ProFTPd с проверкой на вирусы через ClamAV (ftp virus clamav)

Создание FTP сервера на базе ProFTPd с проверкой на вирусы через ClamAV (ftp virus clamav)

Ключевые слова: ftp, virus, clamav, (найти похожие документы)

From: Фомичев Алексей <axx@interwave.ru.>
Newsgroups: email
Date: Mon, 10 Feb 2006 14:31:37 +0000 (UTC)
Subject: Создание FTP сервера на базе ProFTPd с проверкой на вирусы через ClamAV

Настройка связки ClamAV и ProFTPd


Введение

В последнее время наблюдается бурный рост так называемых домашних сетей.
Многие, (да что там многие) практически все провайдеры предоставляют
службы для обмена файлами. Но среди общей массы пользователей
встречаются такие, которые не останавливаются на достигнутом. Видите ли
подавай им собственные ресурсы, рассчитанные на пользователей сети и
обеспечивающей кучу дополнительных функций и удобств. Так на пример в
домашних локальных сетях очень часто встречаются такие службы, как
собственные почтовые, игровые, файловые и прочие сервера обычно
работающие на старых (или не очень), выделенных специально для этого
компьютерах с режимом работы по схеме 24х8, хотя не редко можно
встретить и рабочие станции с аналогичными службами, но работающие с
перерывами, так сказать когда владелец дома.

Речь в этой маленькой заметке пойдет о FTP сервере ProFTPd его базовой
настройке для предоставления анонимного доступа пользователей домашней
сети и сетей имеющих пиринговые отношения с ней. Но мой рассказ был бы
совсем не отличим от десятков подобных, если бы повествовал только об
настройке ProFTPd. Большинство серверов работающих с этой замечательной
службой имеют возможность как скачки так и закачки файлов и как
возможность - получение в папку Upload какого-либо вредоносного
программного кода. Но как известно демон ProFTPd является модульным и
поддерживает интеграцию с широко известным, свободно распространяемом
антивирусом ClamAV. К тому же, если на нашем предполагаемом сервере так
же закрутить почту, то можно попутно проверять проходящий почтовый
трафик на вирусы. Чтож, если вам нравиться эта идея, тогда поехали.

Итак, цель данной статьи - показать небольшие хитрости в настройке
связки FTP сервера ProFTPd и антивируса ClamAV для предоставления
доступа пользователям домашних локальных сетей к FTP поднятому на
домашнем сервере, c установленной на нем source-based операционной
системе Gentoo Linux. Так же в этой заметке не будет описано никаких
вариантов получения доступа кроме анонимного, т.к. в большинстве случаев
этого достаточно. Единственное что будет ограничивать доступ к службе -
IP адрес клиента. Это необходимо сделать, для того чтобы к нашему
серверу не подключались люди из Интернета (в случае реального IP) и
сетей с которыми не установлены пиринговые соглашения нашего провайдера
(и как результат - платный трафик).

Будем считать, что ваш сервер собран, настроен и на нем уже крутится
Gentoo, но не установлен ни ClamAV, ни ProFTPd. Что ж, это вполне
нормально, начнем мы собственно с установки и настройки антивируса. В
Gentoo это достаточно просто и практически не требует огромного
количества серого вещества:

emerge - pv clamav


Проверяем опции с которыми собирается ClamAV, смотрим все ли нас
устраивает и если все нормально, то просто повторяем команду без ключей "-pv"

Далее просто ждем пока антивирус не скачается, соберется и
инсталлируется, о чем на будет дополнительно сообщено на экране. Все
нормально ??? Тогда приступаем к его конфигурированию и запуску. Тут в
принципе наука то же не особенно большая. Смотрим в файл конфига и
внимательно читаем комментарии к опциям. Мне кажется что этого будет
достаточно для запуска службы:

/etc/clamd.conf

LogFile /var/log/clamav/clamd.log
LogTime
LogVerbose
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /var/run/clamav/clamd
FixStaleSocket
MaxConnectionQueueLength 30
User clamav
AllowSupplementaryGroups
ScanArchive
ArchiveMaxRecursion 2
ScanRAR
ArchiveMaxFileSize 50M
ArchiveMaxFiles 15000


Обратите внимание, я намеренно не стал запускать ClamAV на TCP порту,
т.к считаю что во многих случаях это упрощает работу, но если вам
необходимо проверять вирусы с удаленных машин или вам хочется
поморочиться с TCP, то конечно, какие могут быть вопросы, ваша система,
что хотите то с ней и делайте :) Но все же я бы дал маленькую
рекомендацию: Если вы уж и собрались запускать службу на TCP порту и
если не собираетесь предоставлять ее внешним пользователям, так хотя бы
запускайте ее на "локальной петле". Это будет на много безопасней.

Таааак, теперь нам необходимо ежедневно и по графику обновлять
антивирусные базы. Что же делать ? Но и тут разработчики ClamAV пошли
нам на встречу, создав демон FreshClam, который по заданному графику
будет обновлять вирусную информацию. Обычно он идет в комплекте с
антивирусом и собирается из исходных текстов вместе с ClamAV, а значит
нам всего лишь нужно подправить файл конфигурации.

/etc/freshclam.conf

DatabaseDirectory /var/lib/clamav
UpdateLogFile /var/log/clamav/freshclam.log
PidFile /var/run/clamav/freshclam.pid
DatabaseOwner clamav
DatabaseMirror database.clamav.net
Checks 24


Обратите внимание, я привожу в пример строки файла конфигурации без
комментариев. Это делается намеренно по двум причинам. Первая причина -
чтобы не раздувать наше маленькое повествование, ну и вторая причина -
это то что все строки в оригинальном файле freshclam.conf очень подробно
описаны (правда на английском (если вы на нем не читаете, то что вы
забыли в Linux ??? ))

Все, приступаем к запуску.

/etc/init.d/clamd start

* Caching service dependencies ... [OK]
* Starting clamd ... [OK]
* Starting freshclam ... [OK]


Если видим эту картину, то все у нас замечательно и оба демона
запустились. Для того чтобы до конца убедиться что все работает смотрим
логи и видим там:

/var/log/clamav

Thu Feb 2 10:10:37 2006 -> +++ Started at Thu Feb 2 10:10:37 2006
Thu Feb 2 10:10:37 2006 -> clamd daemon 0.88 (OS: linux-gnu, ARCH: i386, CPU: i386)
Thu Feb 2 10:10:37 2006 -> Log file size limited to 1048576 bytes.
Thu Feb 2 10:10:37 2006 -> Verbose logging activated.
Thu Feb 2 10:10:37 2006 -> Running as user clamav (UID 101, GID 408)
Thu Feb 2 10:10:37 2006 -> Reading databases from /var/lib/clamav
Thu Feb 2 10:10:44 2006 -> Protecting against 43895 viruses.
Thu Feb 2 10:10:44 2006 -> Unix socket file /var/run/clamav/clamd
Thu Feb 2 10:10:44 2006 -> Setting connection queue length to 30
Thu Feb 2 10:10:44 2006 -> Listening daemon: PID: 21378
Thu Feb 2 10:10:44 2006 -> Archive: Archived file size limit set to 52428800 bytes.
Thu Feb 2 10:10:44 2006 -> Archive: Recursion level limit set to 8.
Thu Feb 2 10:10:44 2006 -> Archive: Files limit set to 15000.
Thu Feb 2 10:10:44 2006 -> Archive: Compression ratio limit set to 250.
Thu Feb 2 10:10:44 2006 -> Archive support enabled.
Thu Feb 2 10:10:44 2006 -> Archive: RAR support enabled.
Thu Feb 2 10:10:44 2006 -> Portable Executable support enabled.
Thu Feb 2 10:10:44 2006 -> Mail files support enabled.
Thu Feb 2 10:10:44 2006 -> OLE2 support enabled.
Thu Feb 2 10:10:44 2006 -> HTML support enabled.
Thu Feb 2 10:10:44 2006 -> Self checking every 1800 seconds.


Ну и как контрольный выстрел в голову: netstat -l

Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 3419811 /var/run/clamav/clamd


Ура, вроде все заработало !!!

И конечно же добавляем все это в автозагрузку:

rc-update add clamav default


Теперь настала пора разбираться с ProFTPd. Тут нас ждут не совсем
приятные сюрпризы. Дело в том что модуль, который проверяет файлы
проходящие по FTP протоколу с/на нашу машину писался сторонними
разработчиками и по этому добавление его в в систему вызовет некоторые
проблемы. Что за проблемы спросите вы ??? Все очень просто, обычно для
установки пакетов в Gentoo используется команда emerge, которая
выполняет комплекс действий, таких как скачивание, проверка контрольных
сумм, распаковка, сборка и прочие действия. В нашем же случае модуль не
входит в пакет и следовательно не будет скомпилирован вместе с демоном.
Простая добавка его в архив с дистрибутивом вызовет несовпадение
контрольных сумм Не беда воскликнут люди привыкшие работать с FreeBSD,
скачаем сырцы, соберем демон ручной работы, напишем стартовые скрипты
сами и будем счастливы !!! Но это не наш метод. Все это конечно
правильно и контролируемо, но я например считаю себя немного лентяем.
Зачем делать руками, если за тебя может многое сделать система. И так
самое интересное.

В одной консоли собираем ProFTPd по умолчанию !!!

emerge -pv proftpd


Добавляем или убираем все необходимые параметры и записываем их на
бумажку, т.к. потом они нам понадобятся. Среди них я бы на всякий случай
включил +pam и +mysql, пущай будут, мало ли что нам понадобиться.
Например аутентифицировать привилегированных пользователей или
что-нибудь хранить в базе, статистику или еще чего.

Открываем вторую консоль.

Обратите внимание, началась ли сборка в первой консоле и если процесс
прошел стадию скачивания, то во второй консоли идем в директорию

/usr/portage/distfiles


и находим там архив с сырцами ProFTPd. Копируем его во временно
созданную папку, распаковываем и читаем инструкцию по установке. После
этого идем на сайт демона, в раздел дополнительных модулей и ищем модуль
mod_clamav. Либо сразу идем по ссылке:

http://www.uglyboxindustries.com/mod_clamav.html


и тянем его оттуда. По инструкции, для сборки с ProFTPd с какими-либо
модулями они должны быть помещены в папку /contrib в директории куда
распаковали архив дистрибутива. После чего можно приступить к
конфигурированию и сборке. И так в папке с распакованным
дистрибутивом.......

./configure --help > configure.hlp


Смотрим что там внутри, вспоминаем ключики которые мы записали на
бумажку в предыдущем абзаце и смотрим как правильно все это подключить.
Получилось вот что:

./configure --with-modules=mod_ratio:mod_auth_pam:mod_tls:mod_readme:mod_wrap: \ mod_sql: mod_sql_mysql:mod_clamav
--with-includes=/usr/include/mysql --enable-ncurses


Вот такая длиннющая строка, остальное если мне не изменяет память должно
само срастись :) После завершения работы скрипта конфигурации как всегда
делаем make.

Далее сборка и по ее завершению мы получаем демон с вкомпилированным в
него дополнительным модулем. Так, смотрим на первую консоль. Что видим
??? Ага, сборка по умолчанию закончилась, пакет установился и с виду все
нормально. Отлично, теперь необходимо пойти в каталог с демоном, а это:

/usr/sbin/proftpd


и сделать его копию в какую-нибудь папку. Вернемся во вторую консоль и
посмотрим, не закончился ли процесс сборки. Так, закончился, очень
хорошо. Теперь нужно взять из папки собранный в ручную демон, который
находится в корне каталога с распакованным дистрибутивом и заменить им
демон собранный на автопилоте и на всякий случай нами забэкапленный.
Отлично, теперь мы имеем демон работающий с нестандартным модулем,
стартовые скрипты по умолчанию для данного демона, установленные по
нужным папкам библиотеки и прочий хлам. Что еще осталось ??? Добавить
ProFTPd в автозагрузку и исправить файл конфигурации. Первое:

rc-update add proftpd default


Второе. Тут все зависит от того что нам нужно, а нужен нам всего лишь
анонимный вход и права на папки Download - только чтение и Upload -
чтение и запись. Так же список разрешенных диапазонов IP адресов и
сеток.

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

ServerName "My FTP Server"
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
User ftp
Group ftp
UseReverseDNS off
ScoreboardFile /var/run/proftpd/proftpd
TransferLog /var/log/proftpd/xferlog.legacy
LogFormat default "%h %l %u %t "%r" %s %b"
LogFormat auth "%v [%P] %h %t "%r" %s"
LogFormat write "%h %l %u %t "%r" %s %b"

<Limit LOGIN>
Order allow,deny
Allow from xxx.xxx.xxx.xxx/xx # Пишим IP адреса кому можно подключаться.
Deny from all
</Limit>

<Global>
AllowOverwrite yes
IdentLookups off
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>

<IfModule mod_clamav.c> # Включаем проверку
ClamAV on
</IfModule>

<Anonymous /usr/ftp> #Делаем анонимный вход корневая папка /usr/ftp
User ftp
Group ftp
UserAlias anonymous ftp
RequireValidShell no
MaxClients 5

<Limit CWD DIRS READ LIST>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>

<Directory /usr/ftp/upload/*> #Папка Upload и права на нее
<Limit READ RETR GET WRITE STOR CWD MKD RMD DELE>
AllowAll
</Limit>
<Limit READ>
DenyAll
</Limit>
</Directory>

<Directory /usr/ftp/download/*> # Папка Download и права на нее
<Limit READ CWD RETR CWD>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>


Вот такой не сложный конфиг. Что еще можно добавить ??? Наверное больше
ничего, хотя да, нужно же запустить демон и проверить его
работоспособность !!!

/etc/init.d/proftpd start

* Starting proftpd ...
- mod_clamav/0.3: info: loaded 44059 virus patterns [OK]


Вооооо, теперь все запустилось !!! Модуль нашел ClamAV и даже подцепил
его базы !!!

Отлично, на этом я думаю можно закончить мое повествование. Буду рад
любым замечаниям и комментариям, которые сразу же будут включены в
статью.

С уважением.
Фомичев Алексей

Любая перепечатка и распространение статьи возможна только со ссылкой на
автора. Все комментарии и предложения желательно отправлять на
электронный адрес <axx@interwave.ru.>
670 Прочтений •  [Создание FTP сервера на базе ProFTPd с проверкой на вирусы через ClamAV (ftp virus clamav)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Создание FTP сервера на базе ProFTP... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка