将密码作为纯文本参数传递是否会降低 WiFi 网络安全性?

将密码作为纯文本参数传递是否会降低 WiFi 网络安全性?

此应用程序使用命令行创建 WiFi 接入点,命令如下:

create_ap wlan0 eth0 MyAccessPoint

您还可以使用以下命令创建 WPA + WPA2 网络:

create_ap wlan0 eth0 MyAccessPoint MyPassPhrase

但要做到这一点,您必须输入密码,并且密码以纯文本形式显示在终端中。

当然,它可以从历史记录中删除,或者通过在命令前面添加空格来永远不添加,但它仍然会被输入并列出,直到您关闭该终端。

我的问题是,这是否比使用不以相同方式存储的 GUI 应用程序设置 WiFi 网络更不安全。

答案1

作为命令行参数传递的任何内容都可以通过以下方式查看:

  • 任何能够在终端内容仍在屏幕上时看到它们的人(正如您所说的那样);
  • 任何有权访问您的历史文件的程序,直到您从那里删除它,或者阻止它被写入(如您所说);
  • 任何用户在使用 ps 或类似工具列出进程的系统上。

这是不好的做法。

引用您链接到的页面:“您可以传递您的 SSID 和密码通过管道或通过论据(见例子)。”。改编自https://github.com/oblique/create_ap#wpa--wpa2-passphrase-using-pipe

  • 创建一个保存您的密码的文件,并使只有您的用户才能读取:

    touch ~/.wifipass
    chmod 600 ~/.wifipass
    
  • 写入:

    MyAccessPoint
    MyPassPhrase
    
  • 使用以下命令运行应用程序:

    cat ~/.wifipass | create_ap wlan0 eth0
    

这解决了通过 CLI 参数传递密码的问题。

如果您还想在存储密码时对其进行加密,则可以使用 gnome 密钥环:https://kparal.wordpress.com/2009/09/29/command-line-access-to-gnome-keyring/https://github.com/kparal/gkeyring当您登录时,这将要求输入密码。

相关内容