Назад | Перейти на главную страницу

Изменить брандмауэр iptables через веб-страницу

Мне нужен персонал службы поддержки, чтобы открывать бреши в брандмауэре через Интернет. Я знаю, что это кошмар с разрешениями, но я должен это сделать. Я дошел до создания программы на perl, которая может это сделать, но когда я запускаю команду iptables-restore из сценария perl, запущенного из apache через Интернет, я получаю:

 FATAL: Module ip_tables not found. ... 
 iptables-restore v1.4.3.1: 
 iptables-restore: unable to initialize table 'filter' ... 

Я все время использую iptables на этом ящике, но, очевидно, без модуля ip_tables. Если я запускаю тот же сценарий из консоли как root, проблем не будет. Любая помощь приветствуется.

Для этого я бы развернул WebMin.

Я бы предложил запустить perl-скрипт с помощью lighthttpd или чего-то подобного, которое будет настроено для работы с правами root, а не с apache, а также прослушивать нестандартный порт, например 12345.

Вот как настроить lighthttpd с помощью perl: http://www.cyberciti.biz/tips/lighttpd-howto-setup-cgi-bin-access-for-perl-programs.html

Также не забудьте закомментировать server.username и server.groupname в lighthttpd.

Чтобы немного улучшить безопасность, было бы хорошо ввести хотя бы HTTP-аутентификацию и ограничить IP-адреса, которые могут получить доступ к этому порту.