{"id":82867,"date":"2020-05-26T01:42:22","date_gmt":"2020-05-25T23:42:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya"},"modified":"2020-05-26T01:42:22","modified_gmt":"2020-05-25T23:42:22","slug":"ms-remote-desktop-gateway-haproxy-i-perebor-parolya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya","title":{"rendered":"MS Remote Desktop Gateway, HAProxy e attacco brute force","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u0438\u0432\u0435\u0442!<\/p>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u0432 \u043e\u0444\u0438\u0441\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Microsoft Remote Desktop Gateway. \u042d\u0442\u043e RDP \u043f\u043e\u0432\u0435\u0440\u0445 HTTP. \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e RDGW, \u043d\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0438\u043b\u0438 \u043f\u043b\u043e\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u0435\u0441\u0451\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443, \u043a\u0430\u043a \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f \u0445\u043e\u0447\u0443 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0437\u0430\u0449\u0438\u0442\u0435 \u0432\u0430\u0448\u0435\u0433\u043e RDGW \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0442 \u0437\u043b\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430. \u041a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b RDGW \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u044f \u0442\u0443\u0442 \u0436\u0435 \u043e\u0437\u0430\u0431\u043e\u0442\u0438\u043b\u0441\u044f \u0437\u0430\u0449\u0438\u0442\u043e\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043f\u0430\u0440\u043e\u043b\u044f. \u041c\u0435\u043d\u044f \u0443\u0434\u0438\u0432\u0438\u043b\u043e, \u0447\u0442\u043e \u044f \u043d\u0435 \u043d\u0430\u0448\u0451\u043b \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u0443 \u0447\u0442\u043e \u0436, \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 RDGW \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u0430\u0449\u0438\u0442. \u0414\u0430, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u043e\u043b\u043e\u0439 \u0436 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0432 \u0431\u0435\u043b\u0443\u044e \u0441\u0435\u0442\u044c \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c\u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443 \u0438\u043b\u0438 \u0418\u0411&#8217;\u0448\u043d\u0438\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u0440\u0430\u0434\u0438\u0432\u044b\u0439 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043c\u0435\u043d\u0438\u043b \u0441\u0432\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<p>\u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043e\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0440\u0435\u0434\u044b \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u043a\u0441\u0438, \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 WAF. \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e RDGW \u044d\u0442\u043e \u0432\u0441\u0451 \u0442\u0430\u043a\u0438 http, \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u044f\u043c \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0442\u043a\u043d\u0443\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c.<\/p>\n<p>\u042f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043a\u0440\u0443\u0442\u044b\u0435 F5, A10, Netscaler(ADC). \u041a\u0430\u043a \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043d\u0430 \u044d\u0442\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0442\u043e\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0418 \u0434\u0430, \u044d\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0437\u0430\u0449\u0438\u0442\u044f\u0442 \u0432\u0430\u0441 \u043e\u0442 \u0432\u0441\u044f\u043a\u043e\u0433\u043e syn \u0444\u043b\u0443\u0434\u0430.<\/p>\n<p>\u041d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 (\u0438 \u043d\u0430\u0439\u0442\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b :), \u0430 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043c\u043e\u0436\u0435\u0442!<\/p>\n<p>\u0412\u043f\u043e\u043b\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e HAProxy \u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u042f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0430 Debian 10, \u0432 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u044f haproxy 1.8.19. \u0422\u0430\u043a \u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 2.0.\u0445\u0445 \u0438\u0437 testing \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u044f.<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e debian \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u043e\u043c \u0441\u0442\u0430\u0442\u044c\u0438. \u041a\u0440\u0430\u0442\u043a\u043e: \u043d\u0430 \u0431\u0435\u043b\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0451, \u043a\u0440\u043e\u043c\u0435 443 \u043f\u043e\u0440\u0442\u0430, \u043d\u0430 \u0441\u0435\u0440\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u2014 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0432\u0430\u0448\u0435\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0436\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0451, \u043a\u0440\u043e\u043c\u0435 22 \u043f\u043e\u0440\u0442\u0430. \u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b (VRRP \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0433\u043e ip).<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e-\u043d\u0430\u043f\u0435\u0440\u0432\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b haproxy \u043d\u0430 SSL bridging mode (\u043e\u043d \u0436\u0435 mode http) \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u0442\u0430\u043c \u0432\u043d\u0443\u0442\u0440\u0438 RDP \u0445\u043e\u0434\u0438\u0442. \u0422\u0430\u043a \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0432\u043b\u0435\u0437 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435. \u0422\u0430\u043a \u0432\u043e\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432\u043e \u00ab\u0432\u0441\u0435\u0445\u00bb \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 RDGateway \u043f\u0443\u0442\u044c \/RDWeb \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0412\u0441\u0451, \u0447\u0442\u043e \u0442\u0430\u043c \u0435\u0441\u0442\u044c, \u044d\u0442\u043e \/rpc\/rpcproxy.dll \u0438 \/remoteDesktopGateway\/. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 GET\/POST \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0439 \u0442\u0438\u043f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 RDG_IN_DATA, RDG_OUT_DATA.<\/p>\n<p>\u041d\u0435 \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0445\u043e\u0442\u044c \u0447\u0442\u043e-\u0442\u043e.<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u044e mstsc, \u0438\u0434\u0443 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u0432 \u043b\u043e\u0433\u0430\u0445 \u0432\u0438\u0436\u0443 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 401 (unauthorized), \u0437\u0430\u0442\u0435\u043c \u0432\u0432\u043e\u0436\u0443 \u043b\u043e\u0433\u0438\u043d\/\u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u0432\u0438\u0436\u0443 \u043e\u0442\u0432\u0435\u0442 200.<\/p>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u044e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e \u0437\u0430\u043d\u043e\u0432\u043e, \u0432 \u043b\u043e\u0433\u0430\u0445 \u0432\u0438\u0436\u0443 \u0442\u0435 \u0436\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 401. \u0412\u0432\u043e\u0436\u0443 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0435 \u043b\u043e\u0433\u0438\u043d\/\u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u0432\u0438\u0436\u0443 \u0441\u043d\u043e\u0432\u0430 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 401. \u0422\u043e, \u0447\u0442\u043e \u043d\u0430\u0434\u043e. \u042d\u0442\u043e \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c login url \u0442\u0430\u043a \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0438 \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u043a\u0430\u043a \u0432 haproxy \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0448\u0438\u0431\u043a\u0443 401, \u0442\u043e \u0431\u0443\u0434\u0443 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c, \u0430 \u0441\u0447\u0438\u0442\u0430\u0442\u044c) \u0432\u0441\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 4xx. \u0422\u043e\u0436\u0435 \u0443\u0441\u0442\u0440\u043e\u0438\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>\u0421\u0443\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b-\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a 4xx (\u043d\u0430 backend) \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0435\u0434\u0435\u043b, \u0442\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0442\u044c (\u043d\u0430 frontend) \u0432\u0441\u0435 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u044d\u0442\u043e\u0433\u043e ip \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, \u044d\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043f\u0430\u0440\u043e\u043b\u044f, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u043a 4xx. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 url (404), \u0442\u043e \u0437\u0430\u0449\u0438\u0442\u0430 \u0442\u0430\u043a \u0436\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2014 \u044d\u0442\u043e \u043d\u0430 backend \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043e\u0442\u0431\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u0447\u0435\u0433\u043e \u043b\u0438\u0448\u043d\u0435\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c:<\/p>\n<pre><code class=\"bash\">frontend fe_rdp_tsc\n    bind *:443 ssl crt \/etc\/haproxy\/cert\/desktop.example.com.pem\n    mode http\n    ...\n    default_backend be_rdp_tsc\n\n\nbackend be_rdp_tsc\n    ...\n    mode http\n    ...\n\n    #\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u0443\u044e, 1000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0442\u0443\u0445\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 15 \u0441\u0435\u043a, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043b-\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u0441\u0435\u043a\n    stick-table type string len 128 size 1k expire 15s store http_err_rate(10s)\n    #\u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c ip\n    http-request track-sc0 src\n    #\u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0441 http \u043e\u0448\u0438\u0431\u043a\u043e\u0439 429, \u0435\u0441\u043b\u0438 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u0441\u0435\u043a \u0431\u043e\u043b\u044c\u0448\u0435 4 \u043e\u0448\u0438\u0431\u043e\u043a\n    http-request deny deny_status 429 if { sc_http_err_rate(0) gt 4 }\n\t\n\t...\n    server rdgw01 192.168.1.33:443 maxconn 1000 weight 10 ssl check cookie rdgw01\n    server rdgw02 192.168.2.33:443 maxconn 1000 weight 10 ssl check cookie rdgw02\n<\/code><\/pre>\n<p>\n\u041d\u0435 \u0441\u0430\u043c\u044b\u0439 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u043c. \u0421\u0447\u0438\u0442\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u043d\u0430 backend, \u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 frontend.<\/p>\n<p>\u0421 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u043c \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043c \u0433\u0440\u0443\u0431\u043e, \u0431\u0443\u0434\u0435\u043c \u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0435\u043c\u0443 tcp \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435.<\/p>\n<pre><code class=\"bash\">frontend fe_rdp_tsc\n    bind *:443 ssl crt \/etc\/haproxy\/cert\/ertelecom_ru_2020_06_11.pem\n    mode http\n    ...\n    #\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 ip \u0430\u0434\u0440\u0435\u0441\u043e\u0432, 1000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0442\u0443\u0445\u043d\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 15 \u0441\u0435\u043a, \u0441\u043e\u0445\u0440\u044f\u043d\u044f\u0442\u044c \u0438\u0437 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430\n    stick-table type ip size 1k expire 15s store gpc0\n    #\u0432\u0437\u044f\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\n    tcp-request connection track-sc0 src\n    #\u043e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c tcp \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0447\u0451\u0442\u0447\u0438\u043a &gt;0\n    tcp-request connection reject if { sc0_get_gpc0 gt 0 }\n\t\n    ...\n    default_backend be_rdp_tsc\n\n\nbackend be_rdp_tsc\n    ...\n    mode http\n    ...\n\t\n    #\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 ip \u0430\u0434\u0440\u0435\u0441\u043e\u0432, 1000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0442\u0443\u0445\u043d\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 15 \u0441\u0435\u043a, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043a\u043e\u043b-\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0437\u0430 10 \u0441\u0435\u043a\n    stick-table type ip size 1k expire 15s store http_err_rate(10s)\n    #\u043c\u043d\u043e\u0433\u043e \u043e\u0448\u0438\u0431\u043e\u043a, \u0435\u0441\u043b\u0438 \u043a\u043e\u043b-\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0437\u0430 10 \u0441\u0435\u043a \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043b\u043e 8\n    acl errors_too_fast sc1_http_err_rate gt 8\n    #\u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u0430\u0442\u0430\u043a\u0443 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0435 (\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u0447\u0451\u0442\u0447\u0438\u043a)\n    acl mark_as_abuser sc0_inc_gpc0(fe_rdp_tsc) gt 0\n    #\u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\n    acl clear_as_abuser sc0_clr_gpc0(fe_rdp_tsc) ge 0\n    #\u0432\u0437\u044f\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\n    tcp-request content track-sc1 src\n    #\u043e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c, \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0430\u0442\u0430\u043a\u0430\n    tcp-request content reject if errors_too_fast mark_as_abuser\n    #\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c, \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u043b\u0430\u0436\u043e\u043a \u0430\u0442\u0430\u043a\u0438\n    tcp-request content accept if !errors_too_fast clear_as_abuser\n\t\n    ...\n    server rdgw01 192.168.1.33:443 maxconn 1000 weight 10 ssl check cookie rdgw01\n    server rdgw02 192.168.2.33:443 maxconn 1000 weight 10 ssl check cookie rdgw02\n<\/code><\/pre>\n<p>\n\u0442\u043e\u0436\u0435 \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432\u0435\u0436\u043b\u0438\u0432\u043e, \u0431\u0443\u0434\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443 http 429 (Too Many Requests)<\/p>\n<pre><code class=\"bash\">frontend fe_rdp_tsc\n    ...\n    stick-table type ip size 1k expire 15s store gpc0\n    http-request track-sc0 src\n    http-request deny deny_status 429 if { sc0_get_gpc0 gt 0 }\n    ...\n    default_backend be_rdp_tsc\n\nbackend be_rdp_tsc\n    ...\n    stick-table type ip size 1k expire 15s store http_err_rate(10s)\n    acl errors_too_fast sc1_http_err_rate gt 8\n    acl mark_as_abuser sc0_inc_gpc0(fe_rdp_tsc) gt 0\n    acl clear_as_abuser sc0_clr_gpc0(fe_rdp_tsc) ge 0\n    http-request track-sc1 src\n    http-request allow if !errors_too_fast clear_as_abuser\n    http-request deny deny_status 429 if errors_too_fast mark_as_abuser\n    ...\n<\/code><\/pre>\n<p>\n\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u044e: \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e mstsc \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u0431\u0435\u0441\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u043d\u043e \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438. \u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0437\u0430 10 \u0441\u0435\u043a \u043c\u0435\u043d\u044f \u043e\u0442\u043f\u0438\u043d\u044b\u0432\u0430\u0435\u0442, \u0430 mstsc \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443. \u0427\u0442\u043e \u0438 \u0432\u0438\u0434\u043d\u043e \u0432 \u043b\u043e\u0433\u0430\u0445.<\/p>\n<p>\u041f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f. \u042f \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u043c\u0430\u0441\u0442\u0435\u0440 haproxy. \u042f \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u043f\u043e\u0447\u0435\u043c\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440<br \/>\nhttp-request deny deny_status 429 if { sc_http_err_rate(0) gt 4 }<br \/>\n\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043a\u043e\u043b\u043e 10 \u043e\u0448\u0438\u0431\u043e\u043a, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u042f \u043f\u0443\u0442\u0430\u044e\u0441\u044c \u0432 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u0430\u0441\u0442\u0435\u0440\u0430 haproxy, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434, \u0435\u0441\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043c\u0435\u043d\u044f, \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u0435, \u0441\u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u043b\u0443\u0447\u0448\u0435.<\/p>\n<p>\u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043a\u0438\u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0437\u0430\u0449\u0438\u0442\u044b RD Gateway, \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c.<\/p>\n<p>\u041a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 Windows (mstsc), \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 TLS1.2 (\u0432\u043e \u0432\u0441\u044f\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 Windows 7), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c TLS1; \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 cipher, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0435.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u044f\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0447\u0438\u0442\u0441\u044f, \u0438 \u0443\u0436\u0435 \u0445\u043e\u0447\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u043e, \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0432\u0435\u0441\u044c \u043a\u043e\u043d\u0444\u0438\u0433.<\/p>\n<p>                        <b class=\"spoiler_title\">haproxy.conf<\/b><\/p>\n<pre><code class=\"bash\">global\n        log \/dev\/log    local0\n        log \/dev\/log    local1 notice\n        chroot \/var\/lib\/haproxy\n        stats socket \/run\/haproxy\/admin.sock mode 660 level admin expose-fd listeners\n        stats timeout 30s\n        user haproxy\n        group haproxy\n        daemon\n\n        # Default SSL material locations\n        ca-base \/etc\/ssl\/certs\n        crt-base \/etc\/ssl\/private\n\n        # See: https:\/\/ssl-config.mozilla.org\/#server=haproxy&amp;server-version=2.0.3&amp;config=intermediate\n        #ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE\n-RSA-AES256-GCM-SHA384\n        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS\n        ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256\n        #ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets\n        ssl-default-bind-options no-sslv3\n        ssl-server-verify none\n\n\ndefaults\n        log     global\n        mode    http\n        option  httplog\n        option  dontlognull\n        timeout connect 5000\n        timeout client  15m\n        timeout server  15m\n        errorfile 400 \/etc\/haproxy\/errors\/400.http\n        errorfile 403 \/etc\/haproxy\/errors\/403.http\n        errorfile 408 \/etc\/haproxy\/errors\/408.http\n        errorfile 500 \/etc\/haproxy\/errors\/500.http\n        errorfile 502 \/etc\/haproxy\/errors\/502.http\n        errorfile 503 \/etc\/haproxy\/errors\/503.http\n        errorfile 504 \/etc\/haproxy\/errors\/504.http\n\n\nfrontend fe_rdp_tsc\n    bind *:443 ssl crt \/etc\/haproxy\/cert\/dektop.example.com.pem\n    mode http\n    capture request header Host len 32\n    log global\n    option httplog\n    timeout client 300s\n    maxconn 1000\n\n    stick-table type ip size 1k expire 15s store gpc0\n    tcp-request connection track-sc0 src\n    tcp-request connection reject if { sc0_get_gpc0 gt 0 }\n\n    acl rdweb_domain hdr(host) -i beg dektop.example.com\n    http-request deny deny_status 400 if !rdweb_domain\n    default_backend be_rdp_tsc\n\n\nbackend be_rdp_tsc\n    balance source\n    mode http\n    log global\n\n    stick-table type ip size 1k expire 15s store http_err_rate(10s)\n    acl errors_too_fast sc1_http_err_rate gt 8\n    acl mark_as_abuser sc0_inc_gpc0(fe_rdp_tsc) gt 0\n    acl clear_as_abuser sc0_clr_gpc0(fe_rdp_tsc) ge 0\n    tcp-request content track-sc1 src\n    tcp-request content reject if errors_too_fast mark_as_abuser\n    tcp-request content accept if !errors_too_fast clear_as_abuser\n\n    option forwardfor\n    http-request add-header X-CLIENT-IP %[src]\n\n    option httpchk GET \/\n    cookie RDPWEB insert nocache\n    default-server inter 3s    rise 2  fall 3\n    server rdgw01 192.168.1.33:443 maxconn 1000 weight 10 ssl check cookie rdgw01\n    server rdgw02 192.168.2.33:443 maxconn 1000 weight 10 ssl check cookie rdgw02\n\n\nfrontend fe_stats\n    mode http\n    bind *:8080\n    acl ip_allow_admin src 192.168.66.66\n    stats enable\n    stats uri \/stats\n    stats refresh 30s\n    #stats admin if LOCALHOST\n    stats admin if ip_allow_admin\n<\/code><\/pre>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0434\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 backend? \u041f\u043e\u0442\u043e\u043c\u0443\u0447\u0442\u043e \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c. Haproxy \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u0432\u0430 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c \u0431\u0435\u043b\u044b\u043c ip.<\/p>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b: \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u00ab\u0434\u0432\u0430 \u0433\u0438\u0433\u0430, \u0434\u0432\u0430 \u044f\u0434\u0440\u0430, \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u041f\u041a\u00bb. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HAProxy\" rel=\"nofollow\">\u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438<\/a><\/noindex> \u044d\u0442\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441 \u0437\u0430\u043f\u0430\u0441\u043e\u043c.<\/p>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.haproxy.com\/documentation\/haproxy\/deployment-guides\/remote-desktop\/rdp-gateway\/\" rel=\"nofollow\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 rdp-gateway \u043e\u0442 HAProxy<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@alexeypetrenko\/brute-forcing-active-directory-credentials-via-rd-gateway-7ef061e05414\" rel=\"nofollow\">\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0430\u044f \u043c\u043d\u043e\u044e \u0441\u0442\u0430\u0442\u044c\u044f, \u0433\u0434\u0435 \u043e\u0437\u0430\u0431\u043e\u0442\u0438\u043b\u0438\u0441\u044c \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u043c \u043f\u0430\u0440\u043e\u043b\u044f<\/a><\/noindex><br \/>\n<br \/>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/503430\/\">habr.com<\/a> <\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u0432 \u043e\u0444\u0438\u0441\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Microsoft Remote Desktop Gateway. \u042d\u0442\u043e RDP \u043f\u043e\u0432\u0435\u0440\u0445 HTTP. \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e RDGW, \u043d\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0438\u043b\u0438 \u043f\u043b\u043e\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u0435\u0441\u0451\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443, \u043a\u0430\u043a \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82867","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u0432 \u043e\u0444\u0438\u0441\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Microsoft Remote Desktop Gateway. \u042d\u0442\u043e RDP \u043f\u043e\u0432\u0435\u0440\u0445 HTTP. \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e RDGW, \u043d\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0438\u043b\u0438 \u043f\u043b\u043e\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u0435\u0441\u0451\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443, \u043a\u0430\u043a \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47MS Remote Desktop Gateway, HAProxy \u0438 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u0432 \u043e\u0444\u0438\u0441\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Microsoft Remote Desktop Gateway. \u042d\u0442\u043e RDP \u043f\u043e\u0432\u0435\u0440\u0445 HTTP. \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e RDGW, \u043d\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0438\u043b\u0438 \u043f\u043b\u043e\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u0435\u0441\u0451\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443, \u043a\u0430\u043a \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-25T23:42:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-25T23:42:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47MS Remote Desktop Gateway, HAProxy e brute forcing | ProHoster","description":"Ciao a tutti! Ci sono molti modi per connettersi da casa al posto di lavoro in ufficio. Uno di questi \u00e8 utilizzare Microsoft Remote Desktop Gateway. Questo \u00e8 RDP su HTTP. Non voglio affrontare qui la configurazione del RDGW, n\u00e9 voglio discutere perch\u00e9 sia buono o cattivo; consideriamolo uno degli strumenti di accesso remoto. Io","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47MS Remote Desktop Gateway, HAProxy \u0438 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u044f | ProHoster","og:description":"\u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043c\u0430 \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u0432 \u043e\u0444\u0438\u0441\u0435. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Microsoft Remote Desktop Gateway. \u042d\u0442\u043e RDP \u043f\u043e\u0432\u0435\u0440\u0445 HTTP. \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0430\u043c\u043e\u0433\u043e RDGW, \u043d\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0438\u043b\u0438 \u043f\u043b\u043e\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u0435\u0441\u0451\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443, \u043a\u0430\u043a \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ms-remote-desktop-gateway-haproxy-i-perebor-parolya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-25T23:42:22+00:00","article:modified_time":"2020-05-25T23:42:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82867","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:29:30","updated":"2022-09-28 08:21:40"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/82867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=82867"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/82867\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=82867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=82867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=82867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}