找到
5
篇与
技术分享
相关的结果
-
Linux服务器安全加固实战指南:10个必做的安全配置,让你的服务器固若金汤 AI摘要 本文提供Linux服务器安全加固的10个必做配置,包括修改SSH端口、禁用root登录、启用密钥认证、配置防火墙、安装fail2ban、更新系统、关闭不必要服务、设置密码策略、日志审计及定期备份。这些措施能有效抵御常见攻击。 此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结 前言 很多新手站长买了服务器,搭好网站就完事了,根本没做安全加固。结果过不了多久就被黑了,数据被删、网站被挂马,欲哭无泪。 根据统计,互联网上的服务器平均每3分钟就会遭受一次暴力破解尝试。如果你的服务器还是默认配置,那基本就是在"裸奔"。 今天这篇文章,我就给大家分享10个Linux服务器必做的安全配置。照着做,能挡住99%的常见攻击。 一、修改默认SSH端口 默认的SSH端口是22,这是黑客扫描的首选目标。改成一个不常用的端口,能大幅减少被暴力破解的概率。 操作步骤: # 编辑SSH配置文件 vim /etc/ssh/sshd_config # 找到 #Port 22 这一行,改成你想要的端口,比如: Port 22222 # 保存退出后,重启SSH服务 systemctl restart sshd注意事项: 端口号建议选10000以上的 修改后记得在防火墙里放行新端口 不要急着关闭当前SSH窗口,新开一个窗口测试能否正常登录,确认没问题再关 二、禁用root用户直接登录 root是Linux的超级管理员,也是黑客最常尝试的账号。禁用root直接登录,让黑客连账号都猜不到。 操作步骤: # 先创建一个普通用户,用于日常登录 useradd yuke passwd yuke # 给这个用户添加sudo权限 usermod -aG wheel yuke # CentOS/RHEL # 或者 usermod -aG sudo yuke # Ubuntu/Debian # 编辑SSH配置文件 vim /etc/ssh/sshd_config # 找到 PermitRootLogin yes 改成 no PermitRootLogin no # 重启SSH服务 systemctl restart sshd注意: 一定要先测试普通用户能否正常登录并使用sudo,再禁用root登录,不然你就把自己锁在外面了。 三、使用SSH密钥登录 密码登录再复杂也有被破解的可能,密钥登录才是更安全的选择。 操作步骤: # 在你的本地电脑上生成密钥对 ssh-keygen -t rsa -b 4096 # 把公钥上传到服务器 ssh-copy-id -p 22222 yuke@你的服务器IP # 测试密钥登录是否成功 ssh -p 22222 yuke@你的服务器IP # 确认没问题后,禁用密码登录 vim /etc/ssh/sshd_config # 修改以下配置 PasswordAuthentication no PubkeyAuthentication yes # 重启SSH systemctl restart sshd密钥登录是目前最安全的SSH登录方式,强烈建议所有人都配置。 四、配置防火墙(firewalld/ufw) 很多人服务器买回来,防火墙都是关的,所有端口都对外开放,这非常危险。 CentOS/RHEL 系列(firewalld): # 启动防火墙 systemctl start firewalld systemctl enable firewalld # 放行SSH端口(改成你的端口) firewall-cmd --permanent --add-port=22222/tcp # 放行网站常用端口 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp # 重新加载配置 firewall-cmd --reload # 查看已放行的端口 firewall-cmd --list-portsUbuntu/Debian 系列(ufw): # 启用防火墙 ufw enable # 放行SSH端口 ufw allow 22222/tcp # 放行网站端口 ufw allow 80/tcp ufw allow 443/tcp # 查看规则 ufw status原则: 只放行真正需要的端口,其他全部关闭。 五、安装 fail2ban 防暴力破解 就算改了端口、用了密钥,还是会有人不断尝试登录。fail2ban可以自动检测多次登录失败的IP,然后把它拉黑。 安装配置: # CentOS yum install epel-release -y yum install fail2ban -y # Ubuntu apt install fail2ban -y # 配置SSH防护 vim /etc/fail2ban/jail.local # 添加以下内容 [sshd] enabled = true port = 22222 maxretry = 3 findtime = 10m bantime = 1d # 启动服务 systemctl start fail2ban systemctl enable fail2ban # 查看被封禁的IP fail2ban-client status sshd这个配置的意思是:10分钟内连续输错3次密码,就把这个IP封禁1天。效果非常显著。 六、定期更新系统和软件 很多黑客攻击都是利用已知的系统漏洞,而这些漏洞往往早就有补丁了,只是你没更。 定期更新: # CentOS yum update -y # Ubuntu apt update && apt upgrade -y建议: 每周至少检查一次更新 重要的安全补丁要及时更 更新前最好先做快照或备份 生产环境不要盲目更到最新版,先在测试环境验证 七、关闭不必要的服务和端口 服务器上跑的服务越多,攻击面就越大。把不用的服务都关掉。 查看正在监听的端口: netstat -tulnp # 或者 ss -tulnp查看已启动的服务: systemctl list-units --type=service --state=running关闭不需要的服务: # 比如关闭Postfix(如果不用邮件服务) systemctl stop postfix systemctl disable postfix常见的可以关闭的服务:Postfix、Avahi、CUPS(打印服务)等,根据你的实际需求来。 八、设置密码策略 如果你的服务器上有多个用户,或者必须使用密码登录,那一定要设置严格的密码策略。 安装密码质量检查工具: # CentOS yum install pam_pwquality -y # Ubuntu apt install libpam-pwquality -y配置密码策略: vim /etc/security/pwquality.conf # 常用配置 minlen = 12 # 密码最小长度12位 dcredit = -1 # 至少1个数字 ucredit = -1 # 至少1个大写字母 lcredit = -1 # 至少1个小写字母 ocredit = -1 # 至少1个特殊字符 maxrepeat = 3 # 最多3个重复字符另外还可以设置密码过期时间: vim /etc/login.defs PASS_MAX_DAYS 90 # 密码90天过期 PASS_MIN_DAYS 7 # 7天内不能改密码 PASS_WARN_AGE 7 # 过期前7天提醒九、配置日志审计 安全事件发生后,日志是你排查问题的唯一依据。一定要确保日志服务正常运行。 确保rsyslog运行: systemctl start rsyslog systemctl enable rsyslog重要的日志文件: /var/log/messages - 系统日志 /var/log/secure - 安全相关日志(CentOS) /var/log/auth.log - 认证日志(Ubuntu) /var/log/nginx/ - Nginx日志 /var/log/audit/ - 审计日志 建议: 定期检查日志,看看有没有异常登录 重要服务器可以考虑把日志同步到远程日志服务器 日志至少保留30天 十、定期备份数据 安全做得再好,也不能保证100%不被攻破。数据备份是最后一道防线。 备份什么: 网站代码 数据库 配置文件 重要日志 备份策略建议: 每日自动备份 保留最近7天的备份 每周做一次全量备份 备份文件不要只存在服务器本地,要同步到其他地方(比如对象存储) 简单的备份脚本示例: #!/bin/bash # 备份网站和数据库 DATE=$(date +%Y%m%d) BACKUP_DIR=/backup # 备份网站文件 tar -czf $BACKUP_DIR/web_$DATE.tar.gz /www/wwwroot # 备份MySQL数据库 mysqldump -u用户名 -p密码 数据库名 > $BACKUP_DIR/db_$DATE.sql # 删除7天前的备份 find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete find $BACKUP_DIR -name "*.sql" -mtime +7 -delete然后把这个脚本加到crontab里每天自动执行。 安全检查清单 做完以上配置后,用这个清单检查一下: [ ] SSH端口已修改,不是默认22 [ ] root用户已禁止直接登录 [ ] 已配置SSH密钥登录,禁用密码登录 [ ] 防火墙已启用,只放行必要端口 [ ] fail2ban已安装配置 [ ] 系统已更新到最新稳定版 [ ] 不必要的服务已关闭 [ ] 密码策略已配置 [ ] 日志服务正常运行 [ ] 自动备份已配置 写在最后 服务器安全是一个持续的过程,不是一劳永逸的。今天做了这些配置,不代表以后就高枕无忧了。 定期检查系统和软件更新 时不时看看日志有没有异常 关注最新的安全漏洞和新闻 重要操作前先做备份 安全这件事,怎么重视都不为过。希望这篇文章能帮大家把服务器的安全基础打牢。 你的服务器做了哪些安全配置?还有什么实用的安全技巧?欢迎在评论区分享! -
从零搭建 AI 随机一言系统:源码全开源,5 分钟部署专属语录 API AI摘要 本文介绍如何从零搭建开源的AI随机一言系统,支持本地及AI生成模式。教程详细讲解了在宝塔面板上安装环境、配置PM2及反向代理的步骤,助你5分钟内部署专属语录API。 此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结 前言 最近闲来无事,基于AI做了一个「随机一言」系统——每次访问都能随机返回一句句子,包含一件调用api可直接接入到个人网站、小程序里。 做这个系统的初衷: 厌倦了网上千篇一律的固定语录库,想要AI动态生成的新鲜感; 练手前后端交互+AI API调用的小项目,适合新手入门; 分享出来,帮同样想做轻量小工具的朋友少走弯路。 先放个演示效果: 一言.PNG图片 一言1.PNG图片 拥有本地一言以及ai生成一言,两种模式都配备了完整的api调用体系,后端部分可以控制生成一言的分类加入自己想加的句子以及ai生成一言的模型接口,拿来玩玩还是不错的。 准备工作 一台装有宝塔面板的服务器 大模型调用api,以及key 源码(点击这里) 一个域名 教程开始 第一步:安装必要软件 登录宝塔面板后,在左侧软件商店中下载Node.js版本管理器,pm2管理器 第二步:创建一个网站 php版本选静态,其他默认就行,把你的域名绑定上去,然后把源码导入网站根目录就行 第三步:配置后端,并且反代理 去刚刚软件商店下载的pm2管理器中创建一个项目,其他随意,把启动文件改成刚刚创建的网站根目录中的server.js即可,到这里要确保这个项目正常启动,随后我们返回刚刚创建的网站设置,点击反向代理,名称随便填,目标url填:http://127.0.0.1:3000注意,这里:3000指的是刚才你创建pm2项目使用的端口,默认3000。到这里就大功告成了访问你的域名/admin如果正常显示就是搭建成功了,反之可能是你pm2项目,或是反代理没有成功。 缀述:api文档配置,以及大模型api接入 可以访问你的域名/api查看详细的文档,里面包含了详细的调用文档,当然如果你想更改api文档就去网站根目录下找到server.js里面可以更改api文档的内容,关于ai模型接入,你的域名/admin登录后台后按照要求填入即可,可以使用免费模型,我这里测试几个免费模型,最后测下来Qwen2.5-7B-Instruct效果应该是最好的,其他东西的可以自己研究,比如提示词什么的 -
预算 0 元也能建站!3 款免费虚拟主机实测,新手 10 分钟上手 AI摘要 本文推荐WP Cloud、Byethost和000webhost三款免费虚拟主机,适合新手低成本建站。文章提供10分钟搭建WordPress教程,并提醒资源限制与安全风险,适合练手但不宜用于商业高流量网站。 此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结 一、为什么免费虚拟主机是新手的 “建站敲门砖”? 作为程序员 / 学生 / 初创者,你是否曾因这些问题望而却步: 想练手 HTML/CSS/PHP,却不想花几百元买付费主机? 想搭个人博客 / 作品集,预算有限又怕复杂配置? 小项目刚起步,需要低成本试错平台验证市场? 免费虚拟主机恰好解决了这些痛点 —— 它通过服务器虚拟化技术,将物理服务器分割为独立虚拟空间,无需付费即可获得域名绑定、文件存储、数据库支持等基础功能。对新手而言,这是零成本熟悉建站流程、积累实战经验的理想选择;对小项目来说,能在验证可行性前省去服务器开支,堪称 “省钱又省心” 的过渡方案。 二、3 款实测靠谱的免费虚拟主机(无广告 / 高配置) 经过 1 个月实测,筛选出 3 款无强制广告、稳定性过关的免费虚拟主机,核心配置对比如下: 1.WP Cloud 1TB 10TB WordPress/Typecho 等 300 + 程序 集群架构(99.9% 可用率)、支持自定义域名 2.Byethost 5GB 20GB PHP/MySQL 全支持 无隐性收费、提供免费二级域名 3.000webhost 3GB 15GB 一键安装 WordPress 新手友好面板、24 小时工单支持 ✨ 重点推荐:WP Cloud 作为实测体验最佳的免费主机,它的配置堪称 “免费中的天花板”:基于 56 核 Xeon 处理器集群,即使单节点故障也不影响网站运行;cPanel 控制面板功能齐全,支持 FTP 上传、数据库管理、邮件配置等;无需信用卡验证,注册即送免费二级域名,也可绑定自己的域名(只需修改 DNS 解析)。 三、10 分钟建站教程(以 WP Cloud 搭建 WordPress 为例) Step 1:注册激活账号 访问官网:https://wpweb.dpdns.org(强制 HTTPS 协议) 填写用户名、邮箱、密码,选择网站类型(个人 / 爱好等) 查收激活邮件(可能在垃圾箱),点击链接完成激活 Step 2:一键安装 WordPress 登录 cPanel 后台(邮件内附登录地址) 找到「Softaculous Apps Installer」,点击 WordPress 图标 填写网站信息:选择协议(http/https)、域名(自动显示免费二级域名)、网站名称 / 管理员账号 点击「安装」,等待 30 秒即可完成部署 Step 3:优化配置(可选) 绑定自定义域名:修改域名 DNS 为ns1.wpweb.dpdns.org和ns2.wpweb.dpdns.org,在 cPanel「附加域」添加域名 开启 HTTPS:上传自备 SSL 证书,或使用 Cloudflare 免费 CDN 实现加密访问 数据备份:在 cPanel「备份」功能中,定期将数据备份至本地(免费主机建议每周备份 1 次) 四、免费虚拟主机避坑指南(必看!) 天下没有免费的午餐,使用免费虚拟主机需注意 3 大风险: 资源限制要重视:免费主机普遍有 CPU / 内存限制,若网站日均 UV 超过 500,建议升级至云虚拟主机或 VPS(避免因流量突增被暂停服务) 数据安全靠自己:多数免费主机不提供自动备份,需手动备份数据库和网站文件;避免存储敏感信息(如用户密码、支付数据) 合规性不能忘:禁止放置成人内容、侵权文件、赌博网站等,否则可能被封禁账号(具体查看服务商条款) 五、谁适合用免费虚拟主机?谁不适合? ✅ 适合人群: 网站开发初学者(练习 HTML/PHP/ 数据库操作) 搭建个人博客、作品集、简历页面的用户 初创项目试运行(验证市场需求前) 非盈利组织 / 兴趣小组(低流量网站) ❌ 不适合人群: 商业网站 / 电商平台(需稳定性和安全性保障) 高流量网站(日均 UV>500,共享资源易卡顿) 需复杂功能的用户(如自定义 PHP 版本、安装特殊扩展) 六、写在最后:免费主机是 “练兵场”,不是 “终点站” 免费虚拟主机的核心价值是 “低门槛试错”—— 让你在不花钱的情况下,掌握网站搭建、服务器配置、域名解析等核心技能。但当你的网站流量增长、功能升级时,建议及时过渡到付费方案(如阿里云虚拟主机、腾讯云轻量应用服务器),避免因资源限制、稳定性问题影响用户体验。 如果你在使用过程中遇到问题,或有更好的免费主机推荐,欢迎在评论区交流!祝大家零成本实现建站自由~ -
七夕表白必备源码 AI摘要 七夕表白必备源码,包含星空背景、打字机效果和爱心动画,可自定义文案。 此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结 12122.png图片 code here...<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>专属表白</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { background: #000; height: 100vh; display: flex; justify-content: center; align-items: center; overflow: hidden; } /* 星空背景 */ .stars { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } /* 表白文案容器 */ .text-box { position: relative; z-index: 2; color: #fff; font-size: 24px; font-family: "微软雅黑"; padding: 20px 40px; border: 2px solid #ff69b4; border-radius: 10px; background: rgba(0,0,0,0.5); box-shadow: 0 0 20px #ff69b4; } /* 打字机效果 */ .typing { overflow: hidden; white-space: nowrap; border-right: 3px solid #ff69b4; animation: typing 5s steps(50) 1s 1 normal both, blink 0.5s infinite; } /* 爱心动画 */ .heart { position: absolute; color: #ff69b4; font-size: 20px; animation: float 3s infinite ease-in-out; opacity: 0; } /* 动画定义 */ @keyframes typing { from { width: 0; } to { width: 100%; } } @keyframes blink { from { border-color: transparent; } to { border-color: #ff69b4; } } @keyframes float { 0% { transform: translateY(0); opacity: 0.8; } 50% { transform: translateY(-20px); opacity: 1; } 100% { transform: translateY(0); opacity: 0.8; } } </style> </head> <body> <div class="stars" id="stars"></div> <div class="text-box"> <div class="typing" id="loveText">我喜欢你,不止一点点✨</div> </div> <script> // 自定义表白文案(改这里!) const loveWords = "我喜欢你,不止一点点✨"; document.getElementById("loveText").textContent = loveWords; // 生成星空 function createStars() { const stars = document.getElementById("stars"); for (let i = 0; i < 100; i++) { const star = document.createElement("div"); star.style.position = "absolute"; star.style.left = `${Math.random() * 100}%`; star.style.top = `${Math.random() * 100}%`; star.style.width = `${Math.random() * 3 + 1}px`; star.style.height = star.style.width; star.style.background = "#fff"; star.style.borderRadius = "50%"; star.style.opacity = Math.random(); star.style.animation = `twinkle ${Math.random() * 3 + 2}s infinite`; stars.appendChild(star); } } // 生成爱心 function createHearts() { setInterval(() => { const heart = document.createElement("div"); heart.className = "heart"; heart.textContent = "❤️"; heart.style.left = `${Math.random() * 100}%`; heart.style.top = `${Math.random() * 100}%`; heart.style.animationDelay = `${Math.random() * 2}s`; document.body.appendChild(heart); // 3秒后移除爱心 setTimeout(() => { heart.remove(); }, 3000); }, 500); } // 添加闪烁动画 const style = document.createElement("style"); style.textContent = ` @keyframes twinkle { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } `; document.head.appendChild(style); // 初始化 createStars(); createHearts(); </script> </body> </html> -
如何把搭建好的苹果cms一键打包成app?开源getapp AI摘要 本文介绍使用开源工具getapp将苹果CMS一键打包成APP的方法。只需将源码放入addons目录并在后台配置,即可在首页菜单下找到APP管理,一键生成支持原生安卓与Flutter的APP。 此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结 v2-7453dae316d1f35ccee98fc22ea32a1f_1440w.awebp.jpg图片 准备工作 1.搭建好的苹果cms 2.getapp源码 开始教程 下载getapp源码并解压到你的苹果cms网站根目录/addons中,然后去到你的 cms后台-应用-应用市场点击配置后刷新即可,然后在首页的自定义菜单下就会出现APP管理菜单, v2-b7c7a7a7b8075e7d5f521cb9430dc07c_r.jpg图片 到这即可一键将你的苹果cms打包成app了,支持原生安卓与flutter,自用下来还不错,其他功能可以自行探索