职场如何安全的摸鱼

1 天前
 jqknono

鄙人从事安全行业多年, 学习了很多当偷儿(不是), 是抓偷儿的本领, 年过中年深刻明白, 给公司打工拿到的薪水那是自己应得的, 只有摸鱼领到的工资才是自己赚到的。摸鱼有益身心健康自不必多说, 本文主要分享如何安全的摸鱼。

诸如后窗偷窥, 摄像头扫视, 喝水路过, 假扮保洁偷瞄这类依赖自然光散射的招数略显低级, 真正从容的老板应该躺着老板椅上拿着三折叠奏折就把员工们看个精光, 懂得都懂. 这依赖安全公司提供的各种监控软件。其中 DNS 服务就是一种常见的简单实施, 只需要在路由器的 DHCP 服务中通告自建的 DNS 服务 IP, 然后绑定员工工位和 IP, 这样就能获取员工访问的每个链接了。

HTTPS 推广开来 我们访问的内容不是加密的吗? 事实上上网笼共分三步, 第一步查询域名对应的 ip, 第二步与 IP 协商通信密钥, 第三步发送加密信息。摸鱼者千算万算不一定算得到其中第一步是未加密的, 这一步可以泄露什么信息呢, 其实就只是域名而已, 很多时候被人听到东京的小号或者加拿大的鼓点, 就已经足够了. 都说摸鱼, 没人会讨论摸的是红鲤鱼还是利捋驴, 这一步泄露的信息是足够的, 知道你在访问 NSFW(Not safe for work)就已经足够.

如何避免被老板或老板的爪牙抓包, 是我们当代打工人不得不认真面对的问题, 本文分享如何安全的摸鱼.

自行修改 DNS

由于 DHCP 通告 DNS 只是一种简单的网络检视实施, 我们也可以简单的绕过, 那就是不接受通告, 自行点开网络设置, 修改 DNS 为223.5.5.5, 这是阿里云的 DNS 服务, 污染较少, 也不会被老板怀疑.

可惜的是, UDP:53 是一个非常透明的远古方案, 只需要在上级路由器上设置一个简单规则, 就能把所有的 DNS 请求重定向到预设的 DNS 服务器上, 这样就能轻松的劫持 DNS 请求了.

这条规则是这样的:

iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination

So easy, 老板还可以假装他不知道你知道他在监控你而且修改了 DNS 服务, 然后继续偷窥你到底摸了公司多少鱼.

使用加密 DNS

不同于 HTTPS 加密的是通信内容, DNS 加密的是通信的域名, 现今已有 DNS over HTTPS(DoH), DNS over TLS(DoT), DNS over QUIC(DoQ) 等加密方案.

使用加密 DNS 后唯一泄露的信息将只有加密 DNS 服务器的域名.

几大 DNS 服务商均已经支持DoHDoT, 如 Cloudflare, Google, Quad9, Alibaba, Tencent 等.

下面列举其提供的 DoH 和 DoT 服务地址:

海外的服务器可能会明显影响你的上网速度, 除非特殊需求, 应优先考虑国内的 DNS 服务,国内的 DNS 服务商也提供了加密 DNS 服务:

这些免费服务的提供者基本都是广告大户, 用了它们的 DNS, 你的用户画像可能底裤都要画出来, 我会在其它文章分享即使 ip 变化仍能知道"你是你"的方法. 相较之下, 号称"赛博菩萨"的 Cloudflare 可能会稍微好点, 但它是如何利用用户的 DNS 查询数据我并不了解, 目前只是单纯的比较信任它.

DNS 还能做什么

DNS 作为访问互联网的第一步, 是一个很好的监控点, 除了监控, 它还可以做一些访问控制, 如过滤广告, 拦截危险网站, 拦截隐私窃取等.

以上公开的 DNS 服务仅提供域名查询, 缺少访问控制, 这是一种应该允许自定义的能力, 每个人的需求不尽相同, 有的人能忍受一点广告, 有的人一点都忍受不了, 如果广告和内容混用域名, 甚至干脆内容都不看了. 还有很多人, 甚至无法识别广告, 看了就看了.

针对讨厌广告的人分享一个提供基础去广告能力的加密 DNS 服务,

如何设置

请先确认您的设备支持DoHDoT:

Android

Android 自 Android 9 以后开始原生支持 DNS over TLS(DoT),2019 年以后的手机都支持。您可以通过以下方法开启:

  1. 打开设置
  2. 打开更多连接
  3. 打开加密 DNS
  4. 选中指定加密 DNS 服务, 填入: public.adguardprivate.com

自建 DNS 服务有各种实现方式, 如 Adguard, dnsmasq, clash 等, 只有原生 DoT 是对手机性能开销 0 影响, 它不依赖任何三方应用, 不需要任何权限, 不占用任何资源, 也不会影响手机的电量。所以推荐使用原生 DoT 加密 DNS 。

Windows

Windows 11 21H2 之后的版本支持原生 Dns over HTTPS(DoH), 您可以通过以下方法开启:

  1. 打开设置
  2. 打开网络和 Internet
  3. 打开以太网
  4. 找到DNS 服务器分配, 点击编辑
    1. 选择手动
    2. 首选 DNS 服务器 IPv4 中填入: 111.229.178.206
    3. DNS over HTTPS(DoH)选择: 开(手动模板)
    4. DoH 模板中填入: https://public.adguardprivate.com/dns-query
    5. 不要勾选失败时使用未加密请求
    6. 备选 DNS 服务器您可以选填223.5.5.5(阿里云公共 DNS 服务), DNS over HTTS 关, 勾选失败时使用未加密请求.

iPhone

iOS 14 以上版本支持原生 Dns over HTTPS(DoH)和 DNS over TLS(DoT)加密 DNS, 您可以通过以下方法开启:

  1. 打开自带浏览器 Safari, 下载配置文件: dot.mobileconfig
  2. 打开设置
  3. 打开通用
  4. 打开VPN 和设备管理
  5. 选中安装配置文件

macOS

macOS Big Sur 以上版本支持原生 Dns over HTTPS(DoH)和 DNS over TLS(DoT)加密 DNS, 您可以通过以下方法开启:

  1. 打开自带浏览器 Safari, 下载配置文件: dot.mobileconfig
  2. 打开系统偏好设置
  3. 打开网络
  4. 选中VPN 和设备管理
  5. 选中安装配置文件

Chromium 系浏览器(79+)

如果不希望引入系统级的加密 DNS ,或者使用的 Windows 10 及以前的版本, 可以只在浏览器中设置加密 DNS, Chromium 79+的浏览器版本支持DoH, 以下是 Chromium 系(Chrome/Edge/360/QQ 等)浏览器的设置方法:

  1. 打开 Chrome 浏览器设置
  2. 打开隐私和安全
  3. 打开安全
  4. 滚动到高级
  5. 打开使用安全 DNS
  6. 选择 DNS 提供商中填入: https://public.adguardprivate.com/dns-query

其它信息

Apple 设备配置文件内容


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
	<dict>
		<key>PayloadContent</key>
		<array>
			<dict>
				<key>DNSSettings</key>
				<dict>
					<key>DNSProtocol</key>
					<string>TLS</string>
					<key>ServerName</key>
					<string>public.adguardprivate.com</string>
				</dict>
				<key>PayloadDescription</key>
				<string>Configures device to use AdGuard Home</string>
				<key>PayloadDisplayName</key>
				<string>public.adguardprivate.com DoT</string>
				<key>PayloadIdentifier</key>
				<string>com.apple.dnsSettings.managed.11b4d48d-8e9b-4e15-b7c1-45cb1c564c99</string>
				<key>PayloadType</key>
				<string>com.apple.dnsSettings.managed</string>
				<key>PayloadUUID</key>
				<string>e9819f0c-250e-49b7-ad89-c0db078c72f0</string>
				<key>PayloadVersion</key>
				<integer>1</integer>
			</dict>
		</array>
		<key>PayloadDescription</key>
		<string>Adds AdGuard Home to macOS Big Sur and iOS 14 or newer systems</string>
		<key>PayloadDisplayName</key>
		<string>public.adguardprivate.com DoT</string>
		<key>PayloadIdentifier</key>
		<string>e0b7d7db-e0d1-4bce-bcf4-8ada45d2f5a3</string>
		<key>PayloadRemovalDisallowed</key>
		<false/>
		<key>PayloadType</key>
		<string>Configuration</string>
		<key>PayloadUUID</key>
		<string>0404cb98-3621-4f97-9530-b18288633d40</string>
		<key>PayloadVersion</key>
		<integer>1</integer>
	</dict>
</plist>

终极监控方案

给员工设备装上根证书, 后边属于企业服务, 感兴趣的老板得多花些钱了.

或者把这些钱发给员工, 员工有了主人公精神, 自然就不会再摸鱼了. Maybe.

1545 次点击
所在节点    职场话题
23 条回复
yiqiao
1 天前
安装后代理软件无法使用,以及如果本地开发配置指向 127.0.0.1 相关地址访问不了。
jqknono
1 天前
@yiqiao hosts 配置直接跳过了吗?是 Windows 还是 Mac 呢? 是什么代理软件无法使用,我看看咋回事呢
yiqiao
1 天前
@jqknono MacOS, clash 代理,目前我用 Chromium 方案了。简单点
povsister
1 天前
不是,哥们,一个 DNS 泄露问题你硬是整个一篇万字文。。我都怀疑你是不是要中途突然开始丝滑连招了,结果居然就这么结束了。。

另外,如果公司老板拿着你的 nslookup 记录敲打你,这种公司有存在必要性吗。
maladaxia
1 天前
太长没看
用的着这么麻烦吗
挂个代理 dns 也是会走代理的
PolarBears
1 天前
如果你公司会审计流量你还敢用公司的网摸鱼?甚至用公司的设备摸?如果那么严又想摸鱼的话不如换个公司摸吧。
jqknono
1 天前
@maladaxia 需要显式设置 dns 劫持,开 tun 模式才会走代理
maxwellz
1 天前
IPguard:你继续,我听着呢
maladaxia
1 天前
@jqknono socks5 了解一下
jqknono
1 天前
@povsister 我天天看我家的家用电器浏览了什么网站,小爱同学最爱的就是逛百度和淘宝,我的两个石头扫地机每天逛淘宝,猫砂盆也逛淘宝,我给都禁了
jqknono
1 天前
@maladaxia socks5 的确可以代理 dns 请求,但是你访问国内网站也走 socks5 吗
jqknono
1 天前
@maxwellz 这种没辙,有 dns 嗅探,IP 反查域名的企业也有能力抓,最终结果就是只有全局代理能保证不泄漏,但是流量审计又会发现异常流量,本文章方案仅限公司不装根证书的企业,装了根证书的就老老实实用手机流量摸吧
maladaxia
1 天前
@jqknono 我访问国内网站走国内的 socks5
jqknono
1 天前
@maladaxia 看来你也是摸鱼老手了
renmu
1 天前
如果使用全局 vpn,还能被察觉吗?
kandaakihito
1 天前
1. 如果电脑本身是公司资产而且被加域了或者安装了深信服,那没救;

2. 如果是自己的设备,直接开梯子全局吧,记得开 TUN 模式;
danbai
1 天前
我的建议是买个服务器远程上去摸
lyxxxh2
1 天前
直接摸呗,别太过就行。
ruuu
1 天前
@jqknono 只准你自己摸鱼,就不准家里的电器也上网摸鱼吗,太过分了!
z919126592
23 小时 18 分钟前
我的建议是带薪拉屎

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1083000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX