配置使用RDP over SSH提高远程桌面安全性 /XSHELL 加速远程桌面RDP

0x01 前言

为了方便,我在家中的服务器中配置了一台windows server虚拟机,然后使用pfsense将一个端口对公网开放并将其映射到该虚拟机的RDP端口。这样我无论在哪里都可以通过RDP协议访问家中的服务器,这样能使我有个GUI界面,方便进行一些远程操作。

可我并不信赖RDP的安全性,即使我使用了可靠的数字证书来识别身份:

但我还是担心windows会有其他漏洞导致服务器被渗透或者被爆破攻击。相比之下我比较信赖SSH,那为什么不用SSH做代理,将RDP请求转发到虚拟机上呢?

0x02 配置

首先要准备一台配置了远程桌面的windows系统,然后还需要一台配置了centos系统的虚拟机或电脑。两者在内网中要能互访,至少windows系统的TCP 3389这个端口要能被centos访问。

为了安全起见,我将centos系统的默认SSH端口作了修改并启用密钥验证,然后禁用密码验证:

然后将SSH端口通过pfsense映射到公网中:

0x03 使用

0x03.1 macOS

配置过程非常简单,并不需要使用iptables进行转发。如果你使用的是macOS或其他Linux系统,那么通过以下命令即可连接到远程SSH:

 
 
1
sudo ssh -L [local-listen-port]:[rdp-host]:[rdp-port] [username]@[ssh-host] -p [ssh-port] -i [ssh-key] -N

因为需要在本机监听一个端口,所以需要root权限或使用sudo。上面的参数解释如下:

  • local-listen-port:本地代理端口
  • rdp-host:windows的内网地址
  • rdp-port:RDP端口,默认为3389
  • ssh-username:SSH的用户名
  • ssh-host:centos的IP地址
  • ssh-port:SSH端口
  • ssh-key:SSH密钥的绝对路径

阅读剩余部分 -

windows10/win10 DistributedCOM 10016 错误解决办法

windows10启动报错,

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为
{D63B10C5-BB46-4990-A94F-E40B9D520160}
、APPID 为
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
的 COM 服务器应用程序的 本地 激活 权限。此安全权限可以使用组件服务管理工具进行修改。

4839DDB7-58C2-48F5-8283-E1D1807D0D7D

6B3B8D23-FA8D-40B9-8DBD-B950333E2C52

阅读剩余部分 -

rutorrent rss订阅,限制下载文件大小范围

针对rutorrent客户端
首先,网站点rss的时候,一定要把大小勾上

然后在utorrent添加rss
随后打开rss管理器
里面有两个空格,“过滤”,“排除”
如果你只想下载1g-49g大小的文件,只要在过滤填 /\[[1-9]{1}\..*GB|\[[1-4]{1}[0-9]{1}\..*GB/ 就可以了

 

具体讲解一下。比如一个种子叫做The 9th Life of Louis DTS-HD MA.. CHDBits[32.49 GB]
关键是你要匹配“CHDBits[32.”
其中CHDBits 需要用语法CHD.{n,m}去匹配,点代表任意一个字符,n和m代表这些任意字符的个数范围
标题中的[和.去匹配时,都需要前面加转义符\
数字就简单了了10-30的语法就是[1-2]{1}[0-9]{1},方括号代表数字范围,大括号代表个数

|代表或者
()也可以使用

阅读剩余部分 -

使用 Caddy / Nginx 反代谷歌

1、Caddy

使用 Caddy 反代谷歌十分简单,并且支持自动配置 SSL。前提是 VPS 上没有安装其他的 HTTP Server。

安装 Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

配置文件

# 以下全部内容是一个整体,全部复制粘贴到 SSH 软件中一并执行
# 更改 yourdomain 为你的域名,并提前将它解析到你 VPS 的 IP
# 更改 xxxx@xxx.xx 为你的邮箱
# 更改 user passwd 为你自己的用户名及密码
# 若公开使用则删除 basicauth 一行,强烈不推荐。

echo "https://yourdomain {
 gzip
 tls xxxx@xxx.xx
 basicauth / user passwd
 proxy / https://www.google.com.hk
}" > /usr/local/caddy/Caddyfile

然后重启,即可访问你的域名使用谷歌了。

/etc/init.d/caddy restart

启动错误

一些系统会自带 apache2 ,而 apache2 会占用 80 端口,导致 Caddy 无法绑定端口,所以只要关掉就好了。

kill -9 $(ps -ef|grep "apache2"|grep -v "grep"|awk '{print $2}') && apt-get remove --purge apache2 -y

然后再次重启 Caddy

/etc/init.d/caddy restart

阅读剩余部分 -

使用 Caddy 配置 Google 反向代理

前面说到使用 Caddy 配置 Wikipedia 反向代理,其实平常用到更多的还是 Google,因此这里再来研究一下如何在 Caddy 上配置 Google 反向代理。

其实在用 Caddy server 之前我是一直使用 Nginx 的,作为一个 Nginx 用户,我更推荐使用 Nginx Module for Google ,这个插件,虽然安装起来有点麻烦,但是配置极其简单,效果拔群。

而对于 Caddy ,目前还没有太多现成的资料可以使用,好在配置起来并不是很复杂,配置文件如下:

google.example.com {
    gzip
    proxy / https://www.google.com {
        header_upstream X-Real-IP {remote}
        header_upstream User-Agent {>User-Agent}
        header_upstream Accept-Language zh-CN
        header_upstream Accept-Encoding identity
    }
    filter rule {
        content_type text/.*
        search_pattern www.google.com
        replacement google.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern (www|ssl).gstatic.com
        replacement gstatic.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern zh.wikipedia.org
        replacement wiki.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern zh.m.wikipedia.org
        replacement m.wiki.example.com
    }
}
gstatic.example.com {
    gzip
    proxy / https://www.gstatic.com {
        header_upstream X-Real-IP {remote}
        header_upstream User-Agent {>User-Agent}
    }
}

 

阅读剩余部分 -

使用 Caddy 配置 Wikipedia 反向代理

很多时候想在中文维基百科上查一些词条,但是又不方便开VPN,配置一个自用的反向代理还是不错的选择。

Caddy 是一个用 Golang 开发的 web server,自动申请并配置 Let's Encrypt 证书的功能是其最大亮点,所以我决定在 Caddy 上配置我的 Wikipedia 反向代理。

首先,需要在 Caddy 的官网下载并安装 Caddy server,注意务必要勾选 http.filter 这个插件,不然我们的反向代理无法对页面的内容进行链接的过滤和替换。

Caddy 的配置非常简单,无需多言,我就在这里贴一下我用来代理 Wikipedia 的配置:

首先是主站的配置,使用 http.filter 插件把所有的 zh.wikipedia.org 链接都替换成 wiki.example.com ,此外,还需要把所有 / 的请求都301重定向到 /wiki/Wikipedia:首页 ,不然会自动跳转回 zh.wikipedia.org

wiki.example.com {
    gzip
    proxy / https://zh.wikipedia.org {
        header_upstream X-Real-IP {remote}
        header_upstream User-Agent {>User-Agent}
        header_upstream Accept-Encoding identity
    }
    redir 301 {
        if {path} is /
        /wiki/Wikipedia:首页
    }
    filter rule {
        content_type text/.*
        search_pattern zh.wikipedia.org
        replacement wiki.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern zh.m.wikipedia.org
        replacement m.wiki.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern upload.wikimedia.org
        replacement up.wiki.example.com
    }
}

 

阅读剩余部分 -

最新文章

归档

其它

链接

meiyoutongji