Heim  >  Fragen und Antworten  >  Hauptteil

ssh - Apache: Wie kann ich die HOSTs begrenzen, die mod_proxy_connect als Proxy verwenden kann (nicht Besucher, sondern Zielserver)?

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.

曾经蜡笔没有小新曾经蜡笔没有小新2714 Tage vor626

Antworte allen(1)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-16 17:07:01

    我自己修改代码实现了-。-
    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));
    }

    Antwort
    0
  • StornierenAntwort