Total Pageviews

Saturday, 17 April 2021

ToH


(TCP over HTTP)

简介

将 TCP 流量封装到 HTTP 中,从而隐藏网站管理服务,减少被攻击的风险。

用法

需要 nodejs。

服务端:

toh -s http-port

客户端:

toh -c local-port url remote-port

演示

服务端:

./toh -s 8080

客户端:

./toh -c 10022 http://server-ip:8080 22

客户端测试:

ssh 127.0.0.1 -p 10022

应用

本程序不提供认证、加密、日志等功能,所以最好不要运行在公网上,而是通过已有的 Web 服务进行转发,例如 nginx:

server {
  server_name                 mysite.com;
  listen                      443 ssl;

  ssl_certificate             mysite.com.cer;
  ssl_certificate_key         mysite.com.key;

  # ...

  location = /ssh-xxxx {
    proxy_pass                http://unix:/tmp/toh.sock;
    proxy_http_version        1.1;
    proxy_set_header          Upgrade $http_upgrade;
    proxy_set_header          Connection upgrade;
    proxy_buffering           off;
    proxy_request_buffering   off;
  }
}

服务端:

rm -f /tmp/toh.sock
./toh -s /tmp/toh.sock

客户端:

./toh -c 10022 https://mysite.com/ssh-xxxx 22

xxxx 替换成随机字符串 (例如 uuidgen) 以防路径爆破。

将本程序运行为后台服务模式,即可删除服务器防火墙中的 SSH、远程桌面等私有运维服务的端口,对外只公开 Web 端口,减少被攻击的风险。查看更多

from https://github.com/EtherDream/toh

 

No comments:

Post a Comment