从防护角度浅谈服务器安全和网站安全

弱密码、常用密码、防止社工

  1. 任何时候、任何场景,请不要使用弱口令。
  2. 社工库是真真实实存在的,当你 QQ、微博、服务器、邮箱、各种站点的会员,长期使用的过程中,不管密码有多复杂,有可能已经被泄露,而被存入黑客所谓的社工库(亲身经历,一个有社工库的朋友拿我的邮箱直接查出了我的最常用的一个密码)。这个泄露即使在用户安全上网的情况下也会存在,所注册的站点一旦被脱裤子,这些密码就直接泄露出去(优酷、B 站等大互联网公司都有被脱库的事件)。
  3. 检测是否存在泄露的密码:传送门
  4. 还有屡见不鲜的钓鱼网站,伪造输入 QQ 账号密码登录界面,群邮件是重灾区(考研群发送 "来参加复试" 的邮件蠕虫式传播);在手机 QQ 或电脑 QQ 登录的情况下,凡事官方登录页面都会有一键点击登录或者扫码登录。这样被盗号的,总结一个字 "傻!"。

服务器安全

  • 环境:CentOS 7
  • 工具:XShell(Windows)FinalShell(macOS)

我们知道,SSH 远程登录端口默认为 22,任何人都可以通过对应端口尝试登录你的服务器,针对服务器主机的攻击,一般都是机器扫描批量扫描爆破的
(宝塔面板提示)
1

因此,解决措施有如下:

  • 关闭 root 账户远程登录(CentOS)
    1. 创建新的账户,设置 ssh 登录:传送门
    2. sudo vim /etc/ssh/sshd_config
    3. /PermitRootLogin->Enter,查找
    4. 去掉#PermitRootLogin yes注释,或改为PermitRootLogin no
    5. 重启 ssh 服务/etc/rc.d/init.d/sshd restart
  • 禁用 Ping、不用时关闭 SSH 登录
    宝塔面板设置:
    2
  • 更改默认 SSH 端口号(暂时缓解,大部分端口扫描工具可以直接扫出来)
  • 安装悬镜、云锁、安全狗等安全软件 (只安装一个)
  • 使用复杂密码
  • 开启防火墙,只放行要用到的端口

网站安全

  1. 隐藏后台管理入口
  2. 除了 update/cache 等少数目录,其它所有目录都给只读权限
  3. 在 nginx/apache 站点配置中限制除入口目录及资源目录以外的所有目录的访问权限
  4. 若网站程序支持,尽量使用 php5.4 以上的版本
  5. 如非必要,不要给站点创建 FTP,使用完就删除或停用 FTP 帐户
  6. 如非必要,不要对外开放 3306 端口,并隐藏好 phpmyadmin 位置,最好设个访问密码
  7. 开启 SSL(HTTPS)
  8. 保护好网站源码及数据库备份,请不要将数据库备份及网站源码包等敏感数据放在站点根目录
  9. 使用 Nginx 时,可在宝塔面板中开启 WAF 防火墙,可有效防止绝大多数 web 攻击

代码托管平台提交项目前删除配置信息

  1. GitHub上提交开源项目,一定注意要将运维 WIKI 和数据库配置信息等敏感数据删除掉再上传。
  2. 如果已经上传, 删除后重新提交 Push 是没用的!!!,因为每次 Push 都会有文件更改记录:

因此建议直接删除仓库里的项目重新提交。

本文链接:https://ariser.cn/index.php/archives/24/
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!