Openfire - установить интерфейс администратора для прослушивания через порт 80 - PullRequest
0 голосов
/ 23 мая 2018

Я работаю над Centos.Я установил openfire для сервера XMPP.Я использую виртуальную машину на Openstack (публичный сервер с плавающим IP).Из-за ограничений и ACL порт 9090 или 9091 недоступен для входящего трафика.Единственными настроенными портами являются 80 и 443.

Я попытался настроить iptables, открыв порт 80, но, похоже, это не имеет значения.Даже если порт 80 не был добавлен в iptable, он все равно выглядит как open, когда я проверяю его, используя: https://www.yougetsignal.com/tools/open-ports/

Поэтому я пытаюсь настроить администратора openfire для прослушивания порта 80из файла конфигурации, так как, конечно, я не могу подключиться к интерфейсу администратора, чтобы изменить его оттуда.На машине установлен веб-сервер Apache, который по умолчанию прослушивает порт 80. Я отключил его, используя:

sudo service httpd stop

Когда я смотрю на netstat -tulpn | grep 80, я вижу, что ничего не прослушивается на порту 80,так что я могу предположить, что больше ничего не использует порт 80.

Я изменил openfire.xml в opt/openfire/conf/

<?xml version="1.0" encoding="UTF-8"?>
<!--
    This file stores bootstrap properties needed by Openfire.
    Property names must be in the format: "prop.name.is.blah=value"
    That will be stored as:
        <prop>
            <name>
                <is>
                    <blah>value</blah>
                </is>
            </name>
        </prop>

    Most properties are stored in the Openfire database. A
    property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
    <adminConsole>
        <!-- Disable either port by setting the value to -1 -->
        <port>80</port>
        <securePort>-1</securePort>
    </adminConsole>

    <locale>en</locale>

    <!-- Network settings. By default, Openfire will bind to all network interfaces.
      Alternatively, you can specify a specific network interfaces that the server
      will listen on. For example, 127.0.0.1. This setting is generally only useful
       on multi-homed servers. -->
    <!--
    <network>
        <interface></interface>
    </network>
    -->
</jive>

Когда я снова netstat -tulpn | grep 80, я ничего не вижуоткрыть на 80. Я прочитал кое-что о том, что если openfire не запущен как root, то он не может прослушивать что-либо ниже диапазона портов 1024. Поэтому я убедился, что я запустил службу openfire с: sudo service openfire start.

Есть ли какие-либо конфигурации для openfire, которые мне не хватает?

1 Ответ

0 голосов
/ 24 мая 2018

Вы можете перенаправить трафик, чтобы трафик приходил через порт 80 на порт 9090. Я предполагаю, что порт 9090 открыт.

Вы можете открыть порт 9090 следующим образом:

sudo iptables -A INPUT -p tcp -m tcp --dport 9090 -j ACCEPT

Сохраните ваши правила iptables:

sudo iptables-save

Затем вы можете добавить правило PREROUTING следующим образом:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090

Проверьте свои правила, чтобы убедиться, что они были назначены правильно.Тип:

iptables -t nat -L -n

Вывод должен выглядеть примерно так:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 9090

Затем перезапустите службу Openfire:

sudo service openfire stop
sudo service openfire start

Вы даже можете изменить порт, который использует Apacheпрослушивает только для того, чтобы убедиться, что ничто не использует порт 80.

Вы можете изменить это, если перейдете на /etc/httpd/conf/, а затем sudo vi httpd.conf.После редактирования файла вы можете изменить порт с 80 на другой неиспользуемый порт, например 8080. Помните, что другой порт должен быть неиспользуемым, если вы все еще хотите, чтобы Apache работал.

Для дальнейшего чтения по PREROUTING прочитайте следующеесообщение: https://askubuntu.com/questions/579231/whats-the-difference-between-prerouting-and-forward-in-iptables

...