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

Безопасная админ-панель Solr

Я установил Solr (v 4.2.1) для одного из моих веб-сайтов, и у меня возникли проблемы с защитой панели администратора. Я запускаю Solr с Jetty. Я не использовал tomcat, я отредактировал пример / etc / jetty.xml и изменил значение хоста для чтения

<Call name="addConnector">
      <Arg>
          <New class="org.eclipse.jetty.server.bio.SocketConnector">
            <Set name="host"><SystemProperty name="jetty.host" default="10.100.202.42"/></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
            <Set name="maxIdleTime">50000</Set>
            <Set name="lowResourceMaxIdleTime">1500</Set>
            <Set name="statsOn">false</Set>
          </New>
      </Arg>
    </Call>

Я запускаю сервер, и он привязывается к

:: ffff: 10.100.202.42: 8983

Однако я могу получить доступ к панели администратора, используя внешний IP-адрес сайта. Я что-то упускаю?

вывод ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:50:56:84:00:02  
          inet addr:10.100.202.42  Bcast:10.255.255.255  Mask:255.255.0.0
          inet6 addr: fe80::250:56ff:fe84:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:546942285 errors:0 dropped:0 overruns:0 frame:0
          TX packets:482684266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:80045331498 (74.5 GiB)  TX bytes:184397661148 (171.7 GiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:230200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:230200 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:335195301 (319.6 MiB)  TX bytes:335195301 (319.6 MiB)

и

netstat -apn|grep 8983
tcp        0      0 ::ffff:10.100.202.42:8983   :::*                        LISTEN      17133/java          
tcp        0      0 ::ffff:10.100.202.42:8983   ::ffff:10.100.202.44:36223  TIME_WAIT   -                   
tcp        0      0 ::ffff:10.100.202.42:8983   ::ffff:10.100.202.44:35096  TIME_WAIT   -

Спасибо

Из ifconfig На выходе ясно, что ваш сервер вообще не имеет реальных (т. е. общедоступных адресов, не относящихся к RFC1918). Но ваш вопрос касается публичного адреса, по которому можно получить доступ к этому серверу. Это означает, что перед вашим сервером есть что-то, преобразовывающее частный адрес в реальный адрес (может быть, это облачный сервер Amazon?).

Учитывая это, вы не можете достичь того, чего хотите, привязав к частному адресу и предполагая, что никто не может попасть туда через общедоступный адрес. Вам нужно будет решить эту проблему либо локально, либо iptables логика, чтобы предотвратить подключение «нелокальных» адресов (и вам необходимо определить «нелокальные») к порту 8983 или к устройству NAT, которое выполняет общедоступное и частное сопоставление.