【Docker项目实战】使用Docker部署PSWD密码生成器
一、PSWD介绍
1.1 PSWD 简介
PSWD
是一个使用 TypeScript 开发的开源密码生成器项目,旨在帮助用户轻松生成强而复杂的密码,从而增强其在线安全性。随着网络安全威胁的不断增加,使用强密码成为保护个人隐私和敏感信息的重要手段之一。PSWD 提供了一个直观易用的界面,使用户能够根据自己的需求自定义密码的复杂性和长度,确保每个生成的密码都是独一无二且难以被破解的。
1.2 主要特点
- 用户友好的界面
- PSWD 提供了一个简洁明了的用户界面,用户无需具备任何技术背景即可快速上手。
- 通过简单的滑块和选项按钮,用户可以轻松调整密码的长度和复杂性。
- 高度可定制性
- 密码长度:用户可以选择生成密码的具体长度,从最短的8个字符到最长的64个字符不等。
- 字符集选择:支持多种字符集组合,包括大写字母、小写字母、数字和特殊符号,用户可以根据需要选择包含哪些字符集。
- 排除相似字符:为了避免混淆,用户可以选择排除容易混淆的字符(如
O
和0
,l
和1
)。
- 强大的安全功能
- 随机性保证:PSWD 使用高质量的随机数生成算法,确保每次生成的密码都是完全随机且不可预测的。
- 本地生成:所有密码都在用户的设备上生成,不会通过网络传输或存储在云端,最大限度地保护用户隐私。
- 加密存储:如果用户选择保存生成的密码,PSWD 支持对密码进行加密存储,并提供安全的解锁机制。
- 跨平台兼容性
- PSWD 基于 TypeScript 开发,具有良好的跨平台特性,可以在 Windows、macOS 和 Linux 等多种操作系统上运行。
- 同时支持桌面应用和浏览器扩展,方便用户随时随地生成和管理密码。
- 集成与扩展
- 第三方集成:PSWD 可以与其他安全工具和服务无缝集成,例如密码管理器、双因素认证(2FA)等。
- 插件系统:开发者可以通过插件系统为 PSWD 添加新的功能和特性,满足不同用户的需求。
- 开源与社区支持
- PSWD 是一个开源项目,代码托管在 GitHub 上,任何人都可以查看、贡献和改进代码。
- 拥有一个活跃的开发者社区,定期发布更新和修复漏洞,确保项目的长期稳定和发展。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像版本 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | latest |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署PSWD密码生成器。
三、本地环境检查
3.1 检查Docker服务状态
代码语言:bash复制检查Docker服务是否正常运行,确保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; 2 weeks 4 days ago
Docs:
Main PID: 10450 (dockerd)
Tasks: 60 (limit: 9387)
Memory: 1.8G
CPU: 33min 54.335s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
代码语言:bash复制检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
代码语言:bash复制检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载PSWD镜像
代码语言:bash复制拉取PSWD镜像,如下所示:
root@jeven01:~# docker pull ghcr.io/remvze/pswd
Using default tag: latest
latest: Pulling from remvze/pswd
66a3d608f3fa: Pull complete
9fb01e15d186: Pull complete
638a7610da93: Pull complete
785d93e6656c: Pull complete
4f4fb700ef54: Pull complete
e4288a270387: Pull complete
dcd0583d169d: Pull complete
Digest: sha256:88cad7a166ad083b61ba1b74ce596d2f7ddaa456953f4773a02a3455813534c1
Status: Downloaded newer image for ghcr.io/remvze/pswd:latest
ghcr.io/remvze/pswd:latest
五、部署PSWD应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/pswd && cd /data/pswd
5.2 编辑部署文件
代码语言:bash复制如果使用docker-cli部署,可参考以下命令:
docker run -d \
--name pswd \
--log-opt max-size=1g \
--restart always \
-p 9200:8080 \
ghcr.io/remvze/pswd
代码语言:bash复制在`部署目录下,创建docker-compose.yaml文件,如下所示:
vim docker-compose.yaml
代码语言:yaml复制version: '3'
services:
pswd:
image: ghcr.io/remvze/pswd
container_name: pswd
logging:
options:
max-size: 1g
restart: always
ports:
- '9200:8080'
5.3 创建PSWD容器
代码语言:bash复制执行以下命令,创建PSWD容器。
root@jeven01:/data/pswd# docker compose up -d
[+] Running 2/2
✔ Network pswd_default Created 0.1s
✔ Container pswd Started 0.2s
5.4 查PSWD容器状态
代码语言:bash复制检查PSWD容器状态状态,确保PSWD容器正常启动。
root@jeven01:/data/pswd# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
pswd ghcr.io/remvze/pswd "caddy run --config …" pswd 39 seconds ago Up 39 seconds 80/tcp, 443/tcp, 2019/tcp, 443/udp, 0.0.0.0:9200->8080/tcp, :::9200->8080/tcp
5.5 查看PSWD容器日志
代码语言:bash复制检查PSWD容器日志,确保PSWD服务正常运行。
docker compose logs
六、访问PSWD服务
6.1 访问PSWD初始页
请访问
http://<个人的服务器IP>:9200
查看PSWD的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
七、PSWD密码生成器的基本使用
7.1 生成密码
- 破解时间估算:
- 破解时间:2分钟
- 哈希尝试速率:每秒 10^10 次尝试
- Password Length(密码长度):设置生成密码的字符数量,密码越长,破解所需时间越长。
- Include Uppercase Letters(包含大写字母):选择是否在生成的密码中包含大写字母(A-Z),以增加复杂性。
- Include Lowercase Letters(包含小写字母):选择是否在生成的密码中包含小写字母(a-z),以增加复杂性。
- Include Numbers(包含数字):选择是否在生成的密码中包含数字(0-9),以增加复杂性。
- Include Symbols(包含符号):选择是否在生成的密码中包含特殊符号(如
!@#$%^&*()
),以增加复杂性。 - Exclude Similar Characters(排除相似字符):选择是否排除容易混淆的字符(如
l
、1
、O
、0
),以避免用户输入错误。 - Custom Symbols(自定义符号):允许用户指定特定的符号集(如
@#$%
),仅使用这些符号来生成密码。 - Exclude Symbols(排除符号):允许用户指定不希望使用的符号集(如
/ \ ?
),这些符号将不会出现在生成的密码中。
7.2 生成密码短语
- Number of Words:设置密码中包含的单词数量。
- Capitalize Words:决定是否将单词首字母或全部大写。
- Word Separator:指定用于分隔单词的符号或字符。
- Custom Wordlist:允许用户上传自定义的单词列表文件,每个单词占一行。
八、总结
通过本次实践,我们详细了解了 PSWD 密码生成器的功能和部署流程,并成功在本地环境中搭建了 PSWD 应用。PSWD 提供了高度可定制的密码生成功能,能够满足不同用户的安全需求,增强了在线安全性。未来,我们可以进一步探索 PSWD 的高级功能和集成选项,以提升个人或企业的网络安全防护能力。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1747412768a4642083.html
评论列表(0条)