ssh - Apache: Wie kann ich die HOSTs begrenzen, die mod_proxy_connect als Proxy verwenden kann (nicht Besucher, sondern Zielserver)?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 17:05:01
0
1
655

Es gibt eine Maschine, die nur Port 80 für die Außenwelt öffnet, und Sie können den mod_proxy_connect-Proxy verwenden, um auf seinen Port 22 zuzugreifen. In diesem Fall wird er jedoch zum SSH-Dienst-Proxy eines beliebigen Servers, was sehr unsicher ist. Gibt es eine Möglichkeit, es zu begrenzen? Ich kann es anscheinend nicht in der offiziellen Dokumentation finden.

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(1)
大家讲道理

我自己修改代码实现了-。-
apache2.2/modules/proxy/mod_proxy_connect.c +123

char *allowed_hosts[] = { 
    "some host name",
    "127.0.0.1",
    "localhost"
};  
int hosts_num = sizeof(allowed_hosts) / sizeof(allowed_hosts[0]);
int k;
for (k = 0; k < hosts_num; k++) {
    if (strncmp(uri.hostname, allowed_hosts[k], strlen(allowed_hosts[k])) == 0) {
      break;
    }   
 }
if (k == hosts_num) {
    return ap_proxyerror(r, HTTP_BAD_GATEWAY,
          apr_pstrcat(p, "host not allowed for: ", uri.hostname, NULL));
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage