我需要访问办公室中位于此处的路由器的Web界面。
问题是它仅支持SSLv3,我找不到允许我连接到它的浏览器。为了更新路由器,我还需要能够登录到它。

我尝试通过SSH进入它,但是它不起作用。也许它正在使用某些非标准端口。

使用“ fing”运行(受限?)端口扫描,我看到它打开了以下标准端口:


515(LPD打印机)
1723(PPTP)

我可以使用什么浏览器,或者我还有其他选择?

Unable to Connect Securely

Firefox cannot guarantee the safety of your data on 192.168.1.1:10443 
because it uses SSLv3, a broken security protocol.
Advanced info: ssl_error_unsupported_version


评论

我很清楚您已经接受了答案,但我只是想指出如何获得旧版本的FireFox。 filehippo.com/download_firefox/history

完成路由器更新后,请不要忘记放回浏览器的安全设置!

@MonkeyZeus与使用第三方网站相比,最好不要使用正式版本的存档。

#1 楼

Internet Explorer 11支持它,但是您必须转到“高级选项”选项卡才能启用它。



评论


第一个网站上线25年后,有人找到了IE的实际用例。无论如何,所有的赌注都是路由器的站点在IE上被破坏了。

– Sebb
2015年12月21日15:16



@Sebb,因为它已被tomsv接受,我想它是有效的。

– Mindwin
15年12月21日在17:01

实际上,路由器的站点更有可能仅在IE中工作。 ;)

– AndreKR
2015年12月21日在22:26

我仍然认为访问该路由器的最佳方法是用大锤子。

–zxq9
15/12/22在5:46

在工作中的某些D-Link交换机上进行操作时,我需要在Windows 10上使用平板电脑。对于这些设备,开箱即用的唯一浏览器是Edge。

–加拿大卢克
15年12月24日在18:36

#2 楼

Firefox的等效解决方案是打开about:config选项卡并将
security.tls.version.min


设置为0。

源。

用于测试浏览器的SSL / TLS设置的有用链接。

评论


@StackzOfZtuff它对我来说适用于Firefox的ESR版本。我在我的答案中添加了一个链接,该链接用于测试它。

–德米特里·格里戈里耶夫(Dmitry Grigoryev)
2015年12月21日14:24



如果Firefox报告ssl_error_weak_server_ephemeral_dh_key,请将security.ssl3.dhe_rsa_aes_128_sha和security.ssl3.dhe_rsa_aes_256_sha都设置为false即可。这不是OP提到的确切错误消息,但也许此信息在某种程度上很有用。

–tmh
15年12月21日在15:17

@tmh:是针对LogJam而不是SSLv3 / TLS

– StackzOfZtuff
15年12月21日在19:51

(Firefox 43)我还必须将主机名添加到security.tls.insecure_fallback_hosts。这是一个逗号分隔的列表,例如“ myoldbank.example.com,sslv3.example.com”

– jingyu9575
15/12/22在5:42



据我的研究显示,insecure_fallback_hosts不接受IP地址。仅主机名。

– Ben Voigt
15/12/22在23:23

#3 楼

Chrome支持此功能。

在Google Chrome中,您可以使用--ssl-version-max和--ssl-version-min命令行标记来选择特定的协议版本。可接受的值为:“ ssl3”,“ tls1”,“ tls1.1”或“ tls1.2”。如何在Chrome上设置命令行标志。


如何在Chrome上设置命令行标志:

Windows
退出Chrome的任何运行实例。找到您通常用于启动chrome的快捷方式。创建它的副本右键单击新的
快捷方式,然后选择“属性”。在“目标:文本”框的最后,添加一个空格,然后添加所需的命令行标志。它应该
以类似于... \ chrome.exe的结尾” --foo --bar = 2双击
新的快捷方式以使用新的命令行标志启动chrome。
Mac OS X
退出任何正在运行的chrome实例。启动
/Applications/Utilities/Terminal.app在命令提示符下,输入:
/ Applications / Google \ Chrome.app/Contents/MacOS/Google \ Chrome --foo
--bar = 2
Linux
退出任何正在运行的chrome实例。在控制台中执行:
google-chrome --foo --bar = 2
(如果您使用的是其他命名的chrome / chromium版本,请相应地更改
命令)
Chrome操作系统
将设备置于开发模式,以便获得root shell修改
/etc/chrome_dev.conf(有关更多详细信息,请阅读文件中的注释),通过以下方式重新启动UI:sudo restart ui

请记住,这可能会降低浏览器的安全状态。不建议将这些降级用于正常浏览。

评论


当我第一次浏览时,我以为--foo和--bar = 2是降低最低SSL版本所需的实际选项。

– David Z
15年12月24日在21:26

抱歉,它不起作用。 google-chrome --ssl-version-min = ssl3 --ssl-version-max = ssl3 返回ERR_SSL_VERSION_OR_CIPHER_MISMATCH

–伊曼纽尔
16-10-11在10:17



#4 楼

当前提供的三个答案要求降低浏览器的安全级别,如果您在主浏览器中执行此操作,然后将其用于其他网站,或者忘记恢复此更改(或多个),则可能使您容易遭受各种攻击。更改)。

旧版和不安全的SSL / TLS功能(SSLv2和SSLv3,SHA1RSA签名,RC4和3DES密码,MD5 MAC,导出密码,非PFS密码,<1024 DH参数)逐渐被禁用默认情况下和/或从浏览器中删除,这是有充分理由的。

@AndreKR有用地标记的另一个问题是浏览器兼容性,在这种情况下,专用VM中的旧版浏览器可能是最强大的解决方案。

如果无法更换设备,请使用专用的VM或专用的浏览器。下一个最佳选择是TLS代理,以允许使用现代安全浏览器。在浏览器中启用一个,(或两个或三个...)不安全的功能不是一种安全且可持续的解决方案,当不可避免的情况发生且所需的功能被完全删除时,该解决方案是什么? (对Chrome,Opera和Firefox支持SSLv3)。

一种安全的替代方法是通过同时支持旧/旧协议和新协议和密码的代理进行连接,其中有很多选择(包括重量级的) Apache反向代理的解决方案)。

下面的更轻量级的解决方案应该在* nix和Windows系统上都可以使用。这将需要您生成密钥/证书-不一定是问题,因为接下来要发生的事情是现代浏览器将拒绝SHA1签名的证书。这样,您可以使用SHA-2签名的RSA-2048证书和最新的TLS来访问设备。

对于此示例:


设备位于192.168.1.123上,默认端口上具有HTTPS
如* nix所示,其工作原理在Windows上受支持,并且需要进行最小的更改
您已经生成了要使用的密钥/证书,并在需要时使用其中之一:


为Intranet创建我自己的CA
如何使用openssl创建自签名证书?



socat代理

使用socat

CERT="cert=mydevice.crt,key=mydevice.key"
SSLSRV="cipher=AES256-SHA,method=TLS1.2,verify=0"
SSLCLI="cipher=AES128-SHA,method=SSL3,verify=0"

socat \
 OPENSSL-LISTEN:11443,bind=127.0.0.1,reuseaddr,fork,$CERT,$SSLSRV  \ 
 OPENSSL:192.168.1.123:443,$SSLCLI


并连接到https://127.0.0.1:11443/

注释

如果需要,请修改本地hosts文件以防止浏览器出现证书名称不匹配警告,因为无论如何您都需要内部证书,因此可以使用以下方法生成证书预期的内部名称(不同于我遇到的许多设备,这些设备往往使用奇数或不友好的名称作为证书)。

要支持TLSv1.2,您将需要OpenSSL-1.0.1或更高版本,以及socat -1.7.3.0或更高版本。可以根据要求调整ciphermethod选项,服务器或客户端证书验证也可以根据要求进行调整。

此解决方案甚至可以扩展到类似问题,例如仅SSLv2的设备,512位证书或一套复杂的密码套件,尽管您将需要确保OpenSSL不是使用no-ssl2no-ssl3构建的,并且已启用了相关的密码套件。

如果我是审核员,我宁愿查看有记录的访问方法(以及升级计划!),而不是临时解决方案,这是一个等待发生的事故。

评论


即使您降低浏览器的安全性只是为了更新路由器,然后将设置放回原处,您还是会提倡此过程。我没有看到风险。

– schroeder♦
2015年12月24日4:43



风险和精力取决于设备的性质和数量,组织的安全策略以及是否需要重新启动浏览器。减少风险的“人为因素”的单行shell脚本是合理的选择。 (忽略zxq9的大锤子评论中最好概括的房间里的大象。)

–purpur先生
2015年12月24日在10:46

MD5不能用于签名,而不能用于HMAC(包括1.2之前的PRF)。尽管首选AES,但我还没有看到或听到任何降低3DES的迹象。您是说原始DES又名1DES,它在“导出” 40位密码之后不久就掉了吗?

–dave_thompson_085
15/12/26在23:36

3DES(三键TDEA)等效于112位:Qualys自去年以来一直建议仅将其用于向后兼容。现在,三键形式是NIST批准的最低可接受强度(SP800-131A R1(PDF))。就我而言,是否可能是砧板的下一个...

–purpur先生
15年12月27日在13:03

#5 楼

较早版本的Firefox或Chrome也可以采用PortableApps格式,因此您可以针对一个或更多个独立版本安装较旧的浏览器和/或为此目的启用不安全但必要的设置。

评论


到目前为止,这是最好的解决方案。我不知道为什么会大大提高浏览器的安全性的过分复杂的答案是可以接受和最推崇的。

– SilverbackNet
18年8月27日在23:06

#6 楼

我在旧但稳定的DD-WRT版本上运行的旧旧路由器遇到了相同的问题。我仍在内部网络上使用此路由器,并且该路由器未连接到Internet。在我不小心更改了一个设置以仅通过HTTPS访问Web gui后,我被阻止使用我在系统上安装的所有更新的浏览器访问它!我在google上搜索并找到了此页面,可悲的是,这里提到的解释性解决方案都无法帮助访问路由器。我仍然被拒之门外。我可以将路由器恢复为出厂设置,但对我来说配置丢失也有点问题。

经过反复试验和错误阅读,我下载了一个很旧的FireFox Portable版本。我在以下位置找到它:https://sourceforge.net/projects/portableapps/files/Mozilla%20Firefox%2C%20Portable%20Ed./

解压缩下载并启动旧版本的FireFox I之后可以通过webgui再次输入路由器并可以再次对其进行管理。禁用了HTTPS,我可以使用其他更新的浏览器再次输入它。

也许您可以将旧版本的FireFox Portable保留在您的系统上,而仅使用它来管理旧系统。

评论


唯一适用于我的旧路由器的解决方案。我使用的是Firefox的2007版本,既漂亮又古老

–傻笑的人
18年7月22日在11:35

#7 楼

可以调整浏览器的安全性设置,以允许过时的SSL版本起作用,但这对我来说确实是个坏主意。我认为一个更好的主意是下载一个较旧的浏览器并根据特定站点的需要运行它。

似乎在Firefox 34中删除了SSLv3支持:


默认情况下,Firefox 34中将禁用SSLv3


,因此您可以运行单独的Firefox 33实例来访问该特定路由器:

Linux

这将下载Firefox 33并使用单独的配置文件运行它,从而不会影响您可能具有的任何现有Firefox配置:



wget https://ftp.mozilla.org/pub/firefox/releases/33.0/linux-x86_64/en-US/firefox-33.0.tar.bz2
tar -xvf firefox-33.0.tar.bz2
cd firefox
mkdir profile
# Disable automatic updates and default browser check
echo "user_pref(\"app.update.enabled\", false);
user_pref(\"browser.shell.checkDefaultBrowser\", false);" > profile/user.js
./firefox --profile profile


这里有一个要点,还有更多版本:
https://gist.github.com/bmaupin/731fc12a178114883ff6e7195a133563

Windows

您可以在此处下载Firefox 33的便携式版本:https://sourceforge.net/projects/portableapps/files/Mozilla%20Firefox%2C%20Portable%20Ed./Mozilla%20Firefox%2C%20Portable%20Edition% 2033.0 /

#8 楼

我遇到了同样的问题,我无法进入路由器的配置页面
我在IE选项中启用了SSL,但仍然无法访问该页面,因为IE中的页面上没有链接接受并向前迈进。

在使用firefox和chrome后,解决方案是使用IE,但我必须首先在命令行下运行以下命令,才能在IE中显示警告后显示链接。希望我绕圈跑了一个小时后能对其他人有帮助。

打开cmd并运行以下命令,然后打开IE到路由器页面。

certutil -setreg chain\minRSAPubKeyBitLength 512