在当今的企业环境中,出于安全和管理的考虑,很多公司的IT部门对内网进行了严格的限制。这些限制通常包括禁止直接从公司网络访问外部的SSH连接、封锁常用的远程桌面协议如RDP和VNC流量,以及禁用了如TeamViewer、AnyDesk、ToDesk等流行的远程控制软件。这种做法虽然能有效防止潜在的安全威胁,但同时也给需要远程访问工作资源的员工带来了不便。本文将介绍几种绕过这些限制的方法,以便在不影响公司网络安全的前提下,提高工作效率和灵活性。
方案一:使用Ocserv或AnyLink部署远程网关
方案介绍
Ocserv(OpenConnect Server)和AnyLink都是可以部署在服务器上的软件,它们能够创建一个VPN服务,让用户能够通过VPN安全地连接到公司的内网。这种方式需要为特定IP配置路由,以确保只有访问公司资源时才通过VPN,不影响正常的互联网访问。
官方地址:
Ocserv: https://ocserv.gitlab.io/www/
AnyLink: https://github.com/bjdgyc/anylink
部署文档地址
Ocserv部署文档: https://ocserv.gitlab.io/www/installation.html
AnyLink部署文档: https://github.com/bjdgyc/anylink/wiki
好处和缺点
好处:
提供安全的远程访问内网资源的能力。
可以细粒度控制访问权限,增强安全性。
缺点:
配置和维护相对复杂,需要一定的网络知识。
可能与其他会修改路由的软件冲突,如公司内网会推送路由也可能会引起问题。
在macOS上,如果连接了Cisco AnyConnect,通过数据线连接的iPhone 15可能会断开连接,导致调试工作受阻。iPhone 13和iPhone X未发现此现象。
效果展示
方案二:使用Guacamole部署Web服务作为跳板机
方案介绍
Apache Guacamole是一个客户端无需安装任何插件或软件即可运行的远程桌面网关。用户通过Web浏览器就能访问远程的桌面环境,它支持标准的协议如VNC、RDP和SSH。
部署文档地址
Guacamole部署文档: https://guacamole.apache.org/doc/gug/
好处和缺点
好处:
无需在客户端安装额外软件,通过浏览器即可访问远程桌面,方便快捷。
支持多种远程协议,灵活性高。
部署有OTP二次验证,增强安全性。
缺点:
需要额外的服务器资源来部署和运行Guacamole服务。
对于网络延迟较高的环境,用户体验可能受到影响。
推荐 docker 部署
docker-compose.yml
-> # cat /data/guacamole/docker-compose.ymlservices: guacamole: image: jwetzell/guacamole:latest container_name: guacamole volumes: - ./postgres:/config environment: - EXTENSIONS=auth-totp ports: - 8181:8080 volumes: postgres: driver: local
nginx 反向代理
> # cat /etc/nginx/conf.d/guacamole.vanjay.cn.conf server { listen 127.0.0.2:80; server_name guacamole.ddns.vanjay.cn; return 301 https://$host$request_uri; } server { listen 127.0.0.2:443 ssl; server_name guacamole.ddns.vanjay.cn; ssl_certificate /etc/nginx/ssl/guacamole.ddns.vanjay.cn_ecc/guacamole.ddns.vanjay.cn.cer; ssl_certificate_key /etc/nginx/ssl/guacamole.ddns.vanjay.cn_ecc/guacamole.ddns.vanjay.cn.key; include /etc/nginx/conf.d/common/ssl_common.conf; include /etc/nginx/conf.d/common/add_header_fileserver.conf; include /etc/nginx/conf.d/common/fileserver.conf; location / { # 不缓存,支持流式输出 proxy_cache off; # 关闭缓存 proxy_buffering off; # 关闭代理缓冲 chunked_transfer_encoding on; # 开启分块传输编码 tcp_nopush on; # 开启TCP NOPUSH选项,禁止Nagle算法 tcp_nodelay on; # 开启TCP NODELAY选项,禁止延迟ACK算法 keepalive_timeout 300; # 设定keep-alive超时时间为65秒 proxy_pass http://127.0.0.1:8181/; include /etc/nginx/conf.d/common/proxy_http.conf; } }# root@pve-ubuntu [04:43:08 PM] [~] -> # cat /etc/nginx/conf.d/common/ssl_common.conf ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d; ssl_session_tickets off; root@pve-ubuntu [04:43:50 PM] [~] -> # cat /etc/nginx/conf.d/common/add_header_fileserver.conf add_header Referrer-Policy "no-referrer" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Download-Options "noopen" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Robots-Tag "none" always; add_header X-XSS-Protection "1; mode=block" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header Content-Security-Policy "frame-ancestors 'self' *.vanjay.cn"; charset utf-8; root@pve-ubuntu [04:43:53 PM] [~] -> # cat /etc/nginx/conf.d/common/fileserver.conf include mime.types; default_type application/octet-stream; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 10240M; client_body_timeout 3600s; client_body_buffer_size 512k; sendfile on; tcp_nopush on; tcp_nodelay on; fastcgi_send_timeout 3600; fastcgi_read_timeout 3600; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; fastcgi_hide_header X-Powered-By; gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_types text/plain application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rss+xml text/javascript text/css application/xml; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_disable "MSIE [1-6]\."; server_tokens off; root@pve-ubuntu [04:43:59 PM] [~] -> # cat /etc/nginx/conf.d/common/proxy_http.conf proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
效果展示
以上是两种常见的绕过公司运维网络限制的方法。当然,选择哪种方案,需要根据具体的工作需求和网络环境来决定。重要的是,在不违反公司政策和法律法规的前提下,寻找最适合自己的工作方式。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8634.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~