FreeBSD: перенаправление всего трафика с 80 на 8080 порт
В наличии:
— сервер FreeBSD 9.0,
— веб-сервер, работающий на порту 8080 (от обычного пользователя, так безопаснее).
Хочется, чтобы веб-сервер был доступен с порта 80.
Так как для непривилегированных пользователей порты ниже 1024 недоступны, в интернетах прочитал, что наиболее разумным решением будет просто перенаправить весь трафик с порта 80 на 8080.
Как это сделать минимальными усилиями для FreeBSD?
Эти команды задаются в конфигах фаирволов. Обе вводить не нужно, только для того фаирвола, который используется на сервере.
Конфиг IPFW обычно лежит в /etc/rc.firewall, конфиг для PF /etc/pf.conf, но если вы такие вопросы задаете, мне кажется рановато Вам с FreeBSD работать, учитывая изврат с вебсервером.
Что такое не-изврат в вашем понимании?
Задачи решаю я такие:
1) Чтобы потенциальные хакеры не сломали весь сервер, пользователь веб-сервера не должен быть привелегированным
2) Стандартное ограничение безопасности «порт не ниже 1024» изменять не хочу, я не настолько осведомлен о последствиях
Во первых, пользовательские процессы веб сервера (кстати какого?) обычно работают от непривилегированного пользователя, от root работает только мастер-процесс, к которому через дыру в движке сайта не попасть:
Пример для Apache:
root 9994 0.0 0.1 30292 1116 ? Ss May08 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
www-data 9997 0.0 0.2 31336 2644 ? S May08 0:06 nginx: worker process
www-data 9998 0.0 0.2 31036 2436 ? S May08 0:06 nginx: worker process
www-data 9999 0.0 0.2 31336 2640 ? S May08 0:08 nginx: worker process
www-data 10000 0.0 0.2 31340 2624 ? S May08 0:08 nginx: worker process
Так что то, чем занимаетесь Вы, простите, онанизм.
Чтобы хакеры не сломали веб-сервер, обычно принято проводить пинтестирование, настраивать фаирвол, file2ban, политики безопасности, etc. В крайнем случае использовать песочницы (jail в случае с FreeBSD) но не городить аццкие костыли с перенаправлением трафика даже не зная принципы работы стандартных фаирволов. Ошибка многих начинающих админов придумать «мегакрутой» способ борьбы, который на практике просто не будет работать.
Но это ИМХО, по перенаправлению я на Ваш вопрос ответил, хотите мучаться — дело ваше.
Да, я знаю, что стандартный апач каждый сайт заускает с его пользователем.
сервер — апач томкат, лежащий полностью в папке пользователя. Почему так? Потому что через пару месяцев могу сменить хостинг, и не хочу к нему как-либо привязыватьс? я.
Зачем эти ярлыки? «Онанизм», «вам рано»
Я разработчик веб приложенией, не админ и не хочу им стать.
я запускаю свой проект минимальными средствами, поэтому приходится все делать самому, к сожалению.
А к чему Вы там можете привязаться? Меняем хостинг — перетащили БД + файлы движка, изменения конфигов веб сервера и все проблемы. Не хотите стать админом, так не становитесь, пример редиректа выше, просто Ваше решение мягко говоря не оптимально.
И мог торчать любой другой веб-контейнер, поэтому и дан абстрактный «веб-сервер на 8080». Может, он вообще самописный…
От этого вопроса возникло ощущение, что набежали специалисты по обустройству php-сайтов, подумали о своих реалиях, назвали велосипедом и убежали…
Техподдержка посоветовала просто правило nginx сконфигурировать, что я и сделал.