Iptables та пасивний режим FTP
Невелика нотатка про те, як налаштуватиiptables на сервері так, щоб дозволити підключатися до нього в пасивному режиміFTP. На цю тему в інтернеті написано чимало статей, але описаний варіант, на мій погляд, є найбільш правильним і оптимальним.
Для початку необхідно налаштувати серверFTP. Будемо налаштовувати сервер використання фіксованого діапазону верхніх портів, наприклад 49152—65535. Ці порти відповідно до специфікації IANA є динамічними або приватними. Конфігурація кожного конкретного сервераFTP буде виглядати за своїм.
Дляvsftpd, наприклад, необхідно відредагувати файл/etc/vsftpd/vsftpd.conf(залежно від операційної системи шлях може відрізнятися) і внести (або змінити) наступні рядки:
Дляproftpdу файлі /etc/proftpd.conf (шлях, знову ж таки, може відрізнятися залежно від операційної системи чи способу установки) у секції Global потрібно внести такі изменения:
І аналогічно для рештиFTP серверів.
Після внесення змін, сервер потрібно перезапустити.
Тепер необхідно завантажити модульip_conntrack_ftp дляiptables. УRedHat/CentOS достатньо до файлу /etc/sysconfig/iptables-config додати посилання на завантаження модуля ip_conntrack_ftp:
і відредагувати /etc/sysconfig/iptables, додавши до нього рядок, що дозволяє вхідні з'єднання на порт 21. Приклад конфігуIptables, доданий рядок - номер 8.
Тепер потрібно перезапустити фаєрвол:
Можна перевірити правильність діапазону портів черезlsmod:
В результаті система відповість чимось на кшталт цього:
З цього моменту можна використовувати пасивний режимFTP.
Невеликий додаток: Якщоваш сервер знаходиться за NAT, можливо, доведеться завантажити ще один модуль -ip_nat_ftp.