極簡密碼生成工具:docker一鍵部署pwgen指南

  • 1.1 pwgen簡介
  • 1.2 主要特點
  • 1.3 使用場景
  • 2.1 本地環(huán)境規(guī)劃
  • 2.2 本次實踐介紹
  • 3.1 檢查Docker服務(wù)狀態(tài)
  • 3.2 檢查Docker版本
  • 3.3 檢查docker compose 版本
  • 5.1 創(chuàng)建部署目錄
  • 5.2 docker-cli方式部署(可選)
  • 5.3 編輯部署文件
  • 5.4 創(chuàng)建pwgen容器
  • 5.5 查看pwgen容器狀態(tài)
  • 5.6 檢查pwgen容器日志
  • 6.1 訪問pwgen首頁
  • 6.2 生成默認密碼

一、 pwgen介紹

1.1 pwgen簡介

pwgen 主要用于生成隨機密碼或短語密碼(passphrase),以滿足不同用戶對安全性與便利性的需求。它不僅支持基礎(chǔ)的密碼生成功能,還提供了一系列高級選項來增強用戶體驗和安全性,如集成有被泄露密碼數(shù)據(jù)庫檢查、離線模式等特性。此外,通過環(huán)境變量配置,可以讓管理員根據(jù)實際情況調(diào)整默認設(shè)置,使得該工具更加靈活多變。

極簡密碼生成工具:Docker一鍵部署pwgen指南

1.2 主要特點

  • 友好的用戶界面:提供直觀易用的界面,并允許直接復(fù)制生成的密碼到剪貼板。
  • 安全檢查:利用 haveibeenpwned API 檢查新生成的密碼是否已被泄露,確保用戶不會使用已知不安全的密碼。
  • 離線模式:對于那些運行在隔離網(wǎng)絡(luò)中或者不需要外部API訪問的情況下,可以關(guān)閉在線驗證功能。
  • 環(huán)境變量配置:允許通過設(shè)置環(huán)境變量來自定義密碼/短語密碼的生成規(guī)則。
  • 多語言支持:除了英文外,還支持芬蘭語單詞列表來生成短語密碼。
  • 自定義字典:支持從指定URL加載自定義單詞列表,增加個性化選項。
  • 漸進式Web應(yīng)用(PWA):為用戶提供接近原生應(yīng)用體驗的服務(wù)。
  • 豐富的密碼選項:包括大寫字母、數(shù)字及特殊字符,同時可選擇排除外觀相似的字符(homoglyphs)。
  • 靈活的短語密碼生成:允許用戶定制分隔符類型、決定是否包含數(shù)字或特殊符號等。

1.3 使用場景

  • 個人用戶:需要為自己常用的網(wǎng)站和服務(wù)創(chuàng)建強密碼時,尤其是當(dāng)這些服務(wù)要求定期更改密碼。
  • 企業(yè)環(huán)境:IT部門可以部署pwgen作為內(nèi)部工具,幫助員工生成符合公司安全策略的密碼。
  • 開發(fā)人員:在開發(fā)過程中快速生成測試賬號所需的密碼。
  • 教育機構(gòu):向?qū)W生展示如何正確地管理自己的賬戶信息,提高他們對網(wǎng)絡(luò)安全的認識。
  • 安全意識培訓(xùn):作為演示工具,在進行網(wǎng)絡(luò)安全相關(guān)的講座或研討會時使用,教導(dǎo)人們關(guān)于密碼安全的重要性。

二、本次實踐規(guī)劃

2.1 本地環(huán)境規(guī)劃

本次實踐為個人測試環(huán)境,操作系統(tǒng)版本為|Ubuntu 22.04.1。

極簡密碼生成工具:Docker一鍵部署pwgen指南

2.2 本次實踐介紹

1.本次實踐部署環(huán)境為個人測試環(huán)境,生產(chǎn)環(huán)境請謹慎; 2.在Docker環(huán)境下部署pwgen簡單密碼生成器。

三、本地環(huán)境檢查

3.1 檢查Docker服務(wù)狀態(tài)

檢查Docker服務(wù)是否正常運行,確保Docker正常運行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago Docs: https://docs.docker.com Main PID: 10450 (dockerd) Tasks: 150 (limit: 9387) Memory: 3.4G CPU: 46min 54.584s CGroup: /system.slice/docker.service ├─10450 /usr/bin/dockerd ├─10459 containerd --config /var/run/docker/containerd/containerd.toml

3.2 檢查Docker版本

檢查Docker版本

root@jeven01:~# docker -v Docker version 27.1.1, build 6312585

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、下載pwgen鏡像

執(zhí)行以下命令,拉取以下pwgen鏡像。

root@jeven01:~# docker pull jocxfin/pwgen:latest latest: Pulling from jocxfin/pwgen d25f557d7f31: Already exists d2c04aca259c: Pull complete 17b8b3e271e5: Pull complete e66f59b5a57d: Pull complete c552f0e9d771: Pull complete d7461950037d: Pull complete 093c741c7cef: Pull complete ae27391479cd: Pull complete 4c78c5859469: Pull complete Digest: sha256:1dab8a2a5fc174cae4d4d181505559a98dabaa1ebb56f05ee0416500206c5556 Status: Downloaded newer image for jocxfin/pwgen:latest docker.io/jocxfin/pwgen:latest

五、部署pwgen應(yīng)用

5.1 創(chuàng)建部署目錄

  • 創(chuàng)建部署目錄

mkdir -p /data/pwgen && cd /data/pwgen

5.2 docker-cli方式部署(可選)

可使用以下docker-cli方式,快速部署pwgen應(yīng)用。

docker run -d -p 5069:5069 -e NO_API_CHECK=true jocxfin/pwgen:latest

5.3 編輯部署文件

本次實踐使用docker compose方式部署,在部署目錄下,創(chuàng)建docker-compose.yaml文件,其中宿主機映射端口等可以自定義配置。

vim docker-compose.yaml

version: '3' services: pwgen: image: jocxfin/pwgen:latest container_name: pwgen restart: always ports: - 6500:5069

  • 相關(guān)環(huán)境變量如下所示,可自定義設(shè)置。

極簡密碼生成工具:Docker一鍵部署pwgen指南
極簡密碼生成工具:Docker一鍵部署pwgen指南

5.4 創(chuàng)建pwgen容器

執(zhí)行以下命令,創(chuàng)建pwgen容器。

root@jeven01:/data/pwgen# docker compose up -d [+] Running 2/2 Network pwgen_default Created 0.1s Container pwgen Started 0.3s

5.5 查看pwgen容器狀態(tài)

檢查pwgen容器狀態(tài)狀態(tài),確保pwgen容器正常啟動。

root@jeven01:/data/pwgen# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS pwgen jocxfin/pwgen:latest "gunicorn -w 2 -t 4 …" pwgen About a minute ago Up About a minute 0.0.0.0:6500->5069/tcp, :::6500->5069/tcp

5.6 檢查pwgen容器日志

檢查pwgen容器日志,確保pwgen服務(wù)正常運行。

root@jeven01:/data/pwgen# docker compose logs pwgen | [2024-11-27 10:20:38 +0000] [1] [INFO] Starting gunicorn 23.0.0 pwgen | [2024-11-27 10:20:38 +0000] [1] [INFO] Listening at: http://0.0.0.0:5069 (1) pwgen | [2024-11-27 10:20:38 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker pwgen | [2024-11-27 10:20:38 +0000] [7] [INFO] Booting worker with pid: 7 pwgen | [2024-11-27 10:20:38 +0000] [8] [INFO] Booting worker with pid: 8 pwgen | [2024-11-27 10:20:39 +0000] [7] [INFO] Started server process [7] pwgen | [2024-11-27 10:20:39 +0000] [7] [INFO] Waiting for application startup. pwgen | [2024-11-27 10:20:39 +0000] [7] [INFO] ASGI 'lifespan' protocol appears unsupported. pwgen | [2024-11-27 10:20:39 +0000] [7] [INFO] Application startup complete. pwgen | [2024-11-27 10:20:39 +0000] [8] [INFO] Started server process [8] pwgen | [2024-11-27 10:20:39 +0000] [8] [INFO] Waiting for application startup. pwgen | [2024-11-27 10:20:39 +0000] [8] [INFO] ASGI 'lifespan' protocol appears unsupported. pwgen | [2024-11-27 10:20:39 +0000] [8] [INFO] Application startup complete. 極簡密碼生成工具:Docker一鍵部署pwgen指南

六、訪問pwgen服務(wù)

6.1 訪問pwgen首頁

訪問地址:http://192.168.3.88:6500,將IP替換為自己服務(wù)器IP地址。如果無法訪問到以下頁面,則檢查宿主機的防火墻是否關(guān)閉或者放行相關(guān)端口,云服務(wù)器則還需要設(shè)置安全組規(guī)則。

極簡密碼生成工具:Docker一鍵部署pwgen指南

6.2 生成默認密碼

生成的短語密碼遵循了以下規(guī)則:每個單詞首字母大寫、包含數(shù)字、包含特殊字符,使用破折號 - 作為分隔符,最大單詞長度為7個字符,并且由4個單詞組成?;谶@些設(shè)定,生成的具體短語密碼示例為 Obeyed7#-Wins2;-Hamauls7:-Aptest5:。這個密碼結(jié)合了易于記憶的單詞與額外的安全元素(如數(shù)字和特殊字符),以增強其安全性。此外,該工具還提供了復(fù)制功能,方便用戶直接將生成的密碼粘貼到需要的地方。所有生成的密碼和短語密碼都會被交叉引用檢查,確保它們未曾在已知的數(shù)據(jù)泄露事件中出現(xiàn)過,從而進一步保障用戶賬戶的安全性。

  • 生成安全密碼和短語密碼的要求

極簡密碼生成工具:Docker一鍵部署pwgen指南
極簡密碼生成工具:Docker一鍵部署pwgen指南

七、總結(jié)

在部署實踐過程中,使用Docker容器化pwgen密碼生成器展現(xiàn)了其便捷性和靈活性。通過簡單的Docker命令即可快速啟動服務(wù),并利用環(huán)境變量輕松調(diào)整密碼生成規(guī)則,滿足不同場景下的安全需求。實際體驗中,pwgen不僅提供了強大的密碼和短語密碼生成功能,還確保了生成的密碼經(jīng)過泄露數(shù)據(jù)庫檢查,增強了安全性。此外,友好的用戶界面設(shè)計和易于使用的復(fù)制功能極大地提升了用戶體驗,使得無論是個人還是企業(yè)用戶都能方便地管理自己的密碼安全。

作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。