首页 > 其他分享 >【服务器搭建】服务器临时授权

【服务器搭建】服务器临时授权

时间:2024-07-12 22:30:40浏览次数:13  
标签:IP 端口 用户 放行 授权 服务器 日志 访问者 搭建

#蜜罐 #钓鱼网站

场景

服务器上的业务并不想对所有人开放,只有当对方提供IP信息后才单独对相应的IP进行授权。

像这种小范围的IP授权,如果能获取到对方IP,则可以通过提前写防火墙策略,限制IP访问范围。但如果IP是动态的,比如对方的IP是互联网IP,这时就只能先等对方报自己的IP,再写放行策略。

针对这种场景,有一种特殊的端口放行机制,比如提供三个端口,要求访问者必须按指定顺序进行访问,顺序对了,真实的业务端口才会放行。一旦顺序错误则访问者的IP会被封,有点像玩探宝游戏。

这种应对策略太程序员化了,一般用户很难接受,给用户解释起来也费劲。这里使用另一种思路,提供一个登录页面,当登录成功时则放行访问者IP。

页面效果如下:

看起来是不是像钓鱼网站?这个东西的确可以当蜜罐或钓鱼网站使用,登录成功时会放行IP,登录失败时则会记录访问者的IP、账户和密码,用于反入侵日志分析。

项目地址为:

https://github.com/hyang0/ip_allow

实现原理

windows 平台使用 netsh 命令,动态添加防火墙策略。Linux 使用 ipset 和 iptables 实现IP准入。前端页面提供用户名密码的验证,后端通过操作防火墙实现放行。

使用步骤

假如项目启动失败,可能是端口占用问题,可以采用以下排错方法:

默认使用 80 端口作为服务端口,可以在 app.py 中修改服务端口

if __name__ == '__main__':
    app.run(debug=False, host='0.0.0.0', port=80)

日志

用户的所有访问日志都存于 ./logs/app.log 中,其中登录成功的日志会单独存于 ./logs/allow.log 中,
登录失败的日志会存于 ./logs/deny.log 中。日志中存储了访问者的 IP|username|password , 可用于蜜罐、 钓鱼、 反入侵等事后分析。

默认密码

系统的默认用户密码为:

# 用户demo数据,请换成自己的用户数据源

users = {
    "admin": "nzDrdSKN9JS5IGhZkwxs",
    "user": "HIAExuX81QWw4KyM8P3W"
}

效果图:

可将代码中的用户数据换成自己的用户数据或更换认证策略。

总结

通过让用户先访问“准入”页面,系统放行后再访问真实业务的场景只适合临时授权。后台应设置好防火墙定时重置策略,防止系统长时间对外暴露。因为访问者IP是动态变化的,一直处于暴露状态会对系统带来入侵风险。

为了应对恶意扫描,可以定期处理 deny 日志,将未授权IP加入黑名单。

原创 生有可恋

标签:IP,端口,用户,放行,授权,服务器,日志,访问者,搭建
From: https://www.cnblogs.com/o-O-oO/p/18299493

相关文章

  • 【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器
    ​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G)1.京东云-专属活动 官方采购季专属活动地址:京东云-618采购季服务器活动专区https://3.cn/20-J4jjX京东云又双叒降价了!活动页大改,增加两个大......
  • 使用 ClamAV 命令行查杀服务器端病毒或恶意文件
    ClamAV是一个开源(GPLv2)防病毒工具包,它提供了许多实用程序,包括灵活且可扩展的多线程守护程序、命令行扫描程序、用于自动更新病毒库的高级工具。该软件包的核心是一个以共享库形式提供的反病毒引擎安装clamav1、基于deb包安装最新版clamav-1.3.1(2024.07)wgethttp......
  • 【服务器搭建】为啥虚拟主机不能用IP直接访问?
    需求直接用IP访问了自己在线上的网站,结果发现被拒绝❓因为,IP映射的是一整台服务器,而服务器上可以部署的的服务是多种多样的。除了web网站服务,还可能有ftp文件传输服务,mail邮箱服务等。这时仅仅给出IP是不够的,需要在IP后添加端口号作进一步区分。当然,如果用浏览器访问的话,只输......
  • 【学习记录】”搭建属于自己的博客论坛“
        我们这里搭建的博客论坛是Discuz论坛。    1.准备前置工作        Discuz论坛安装在Linux的CentOS7上(这里暂时不考虑买服务器,因为买了的效果和我接下来学习的步骤基本类似,如果有需要可自行购买。)对于纯小白来说我们的前置工作是下载一个VMware......
  • 记录一次排查解决服务器卡死的过程
    前言自己个人兴趣爱好,线上有一个阿里云服务器,处理数据用的,会频繁IO和分析数据。隔一段时间就会卡死(大概2个月),重启就OK。本来没当一回事,直到后来影响到赚取money了才引起重视。服务的启动脚本如下:nohupjava-Xms512m-Xmx1024m-jarxxx.jar&当然这个脚本是有很多问题的,......
  • 运维系列:数据库服务器 重启mysql服务出现 ERROR 1045: Access denied for user: ‘roo
    @[TOC](数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么)数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么解决?系统是ubuntuse......
  • 怎么搭建网站不用花钱
    最近,我无意中发现了一个异常有用的资源,它提供了一种令人惊叹的机会,可以获取免费的域名和SSL证书。这个资源位于 雨云_新一代服务器供应商 ,我迫不及待地要与你分享这个宝贵的发现。在这个数字时代,拥有一个独特而专业的域名对于个人和企业来说至关重要。但是,购买域名和SSL......
  • 从0到1开始搭建vue2+element ui 后台管理系统
    一、前期准备(如果已搭建的可以往下看)1.安装node(node-v查询版本号)(下载地址:https://nodejs.org/en/download/)2. 安装淘宝镜像命令: npminstall-gcnpm--registry=https://registry.npmmirror.com  3.安装webpack,以全局的方式安装命令:npminstallwebpack-g4......
  • 前端web程序发布到windows服务器流程详解
    假定已完成前端程序开发并完成构建。#步骤1:准备服务器环境我们将使用IIS作为Web服务器。确保你的Windows系统已经安装了IIS。#步骤2:配置Web服务器1.打开"控制面板">“程序”>“启用或关闭Windows功能”。2.选中"InternetInformationServices",确保"Web服务器(IIS......
  • 发布用flask框架开发的python后端程序到windows服务器
    flask框架开发的python后端程序开发好了后,怎么发布到生产环境呢?以app.run()的方式在生产环境上启动服务,当有异常特别容易退出,而且性能很弱。生产环境下,python常见的web部署搭配是nginx+gunicorn。但是这种搭配只适合在Linux环境下。gunicorn不支持windows环境。如果要搭......