Безопасность и оптимизация Linux.Редакция для Red Hat

       

Компиляция и оптмизация.


Перейдите в новый каталог Wu-ftpd и введите следующие команды на вашем терминале:

Шаг 1

Редактируйте файл ftpcount.c (vi +241 src/ftpcount.c) и измените строку:

#if defined (LINUX)

на:

#if defined (LINUX_BUT_NOT_REDHAT_6_0)

Шаг 2

Редактируйте файл pathnames.h.in (vi +42 src/pathnames.h.in) и измените строку:

#define _PATH_EXECPATH "/bin/ftp-exec"

на:

#define _PATH_EXECPATH "/usr/bin/ftp-exec"

Мы изменили каталог “/bin/ftp-exec” на “/usr/bin/ftp-exec”, для Red Hat Linux.

Шаг 3

Введите следующие команды на вашем терминале для конфигурирования Wu-ftpd:

CC="egcs" \

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions" \



./configure \

--prefix=/usr \

--sysconfdir=/etc \

--localstatedir=/var \

--disable-dnsretry \

--enable-quota \

--enable-pam \

--disable-daemon \

--disable-newlines \

--disable-virtual \

--disable-plsm \

--disable-pasvip \

--disable-anonymous \

--enable-ls \

--enable-numericuid

Эти опции означают следующее:

  • Не повторять ошибочный DNS lookups для улучшения производительности.
  • Добавить поддержку квот для большей безопасности (только если ваша OS поддерживает это).
  • Добавить поддержку PAM для большей безопасности.
  • Не разрешать запускать, как автономный демон, позволять контролировать FTPD при помощи TCP-Wrappers.
  • Подавлять некоторые дополнительные пустые строки.
  • Не поддерживать виртуальные сервера.
  • Отключить блокирование PID ожидания сообщений (для загруженных серверов).
  • Не требовать идентичного IP для пассивного соединения.
  • Не разрешать анонимный ftp доступ для лучшей безопасности.
  • Использовать новую внутреннюю команду “ls” из Wu-ftpd вместо системной “ls” из Linux для большей безопасности.
  • Внутренняя “ls” выводит UID вместо имен пользователей для лучшей производительности.
  • Шаг 4

    Сейчас, мы должны инсталлировать Wu-ftpd на Linux сервер:

    [root@deep wu-ftpd-2.6.0]# make

    [root@deep wu-ftpd-2.6.0]# make install


    [root@deep wu-ftpd-2.6.0]# install -m 755 util/xferstats /usr/sbin/

    [root@deep wu-ftpd-2.6.0]# touch /var/log/xferlog

    [root@deep wu-ftpd-2.6.0]# chmod 600 /var/log/xferlog

    [root@deep wu-ftpd-2.6.0]# cd /usr/sbin/

    [root@deep sbin]# ln -sf in.ftpd /usr/sbin/wu.ftpd

    [root@deep sbin]# ln -sf in.ftpd /usr/sbin/in.wuftpd

    [root@deep sbin]# strip /usr/bin/ftpcount

    [root@deep sbin]# strip /usr/bin/ftpwho

    [root@deep sbin]# strip /usr/sbin/in.ftpd

    [root@deep sbin]# strip /usr/sbin/ftpshut

    [root@deep sbin]# strip /usr/sbin/ckconfig

    [root@deep sbin]# strip /usr/sbin/ftprestart

    Команды “make” и “ make install” настроят программное обеспечение под вашу систему и проверят ее функциональность на наличие необходимых библиотек, скомпилируют все файлы с исходными кодами в исполняемые двоичные программы и проинсталлируют их вместе с сопутствующими файлами в необходимые места.

    Команда “install -m” будет инсталлировать программу “xferstats”, используемую для просмотра информации о переданных файлах. Команда “touch” создаст файл регистрации для “xferstats” в каталоге “/var/log”. “chmod” изменит права доступа к файлу “xferlog” на чтение-запись только пользователю “root”. Затем, мы создаем символическую ссылку для исполняемого файла “in.ftpd”, и, в заключении, удаляем отладочную информацию из всех исполняемых файлов, относящихся к Wu-ftpd.

    Очистка после работы.

    [root@deep /]# cd /var/tmp

    [root@deep tmp]# rm -rf wu-ftpd-version/ wu-ftpd-version.tar.gz

    Команды “rm” будет удалять все файлы с исходными кодами, которые мы использовали при компиляции и инсталляции Wu-ftpd. Также будет удален сжатый архив Wu-ftpd из каталога “/var/tmp”.


    Содержание раздела