Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

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

 

rsync чрезвычайно эффективный метод для зеркального отражения файлов. Он сохраняет связи, права доступа, время файла и прочее. В дополнение к этому, rsync поддерживает анонимный режим (который я использую для зеркального отражения этого документа). Программа rsync может работать как клиент (при запуске из командной строки или скрипта) или как сервер (обычно при запуске из inetd.conf). Программа непосредственно совершенно безопасна: не требуется привилегий root для работы как клиент или сервер (хотя это возможно, если Вы действительно хотите этого) и поддерживает chroot, заменяя корневой каталог на каталог зеркалирования (это однако требует привилегий root и может быть более опасно, чем работа без такой поддержки). Вы можете также задать user id и group id для обращения к системе (обычно nobody для большинства precompiled-пакетов rsync, и, вероятно, это самый лучший выбор). В неанонимном режиме rsync поддерживает username и пароли, которые зашифрованы с использованием 128-битного MD4. man-страница для rsyncd.conf совершенно ясно описывает установку rsync как сервера и настройку его, как относительно безопасного. Заданный по умолчанию файл конфигурации: /etc/rsyncd.conf. Он имеет глобальный раздел и разделы модулей (в основном, каждый разделенный каталог представляет собой модуль).

Пример файла rsyncd.conf:

motd file = /etc/rsync.motd # specifies a file to be displayed,
                            # legal disclaimer, etc.
max connections = 5         # maximum number of connections so you don't
                            # get flooded
[pub-ftp]
        comment = public ftp area # simple comment
        path = /home/ftp/pub      # path to the directory being exported
        read only = yes           # make it read only, great for exported
                                  # directories
        chroot = yes              # chroot to /home/ftp/pub
        uid = nobody              # explicitly set the UID
        gid = nobody              # explicitly set the GID
[secret-stuff]
        comment = my secret stuff
        path = /home/user/secret  # path to my stuff
        list = no                 # hide this module when asked for a list
        secrets file = /etc/rsync.users # password file
        auth users = me, bob, santa     # list of users I trust to see my
                                        # secret stuff
        hosts allow = 1.1.1.1, 2.2.2.2  # list of hosts to allow

Как Вы можете видеть, rsync легко настроить, и он очень безопасен, кроме передачи файлов, которые никогда не шифруются. Если Вы нуждаетесь в защите, я предлагаю, чтобы Вы использовали SSH для туннелирования подключения или некоторое VPN-решение подобне FreeS/WAN. Также удостоверитесь, что Вы работаете с rsync 2.3.x или выше, поскольку в 2.2.x была сияющая дыра в защите. Rsync доступен на http://rsync.samba.org. Rsync работает через порт 873, протокол tcp.

ipfwadm -I -a accept -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 873
ipfwadm -I -a accept -P tcp -S some.trusted.host -D 0.0.0.0/0 873
ipfwadm -I -a deny -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 873

или

ipchains -A input -p tcp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 873
ipchains -A input -p tcp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 873
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 873

Back

Written by Kurt Seifried