内容简介:这次发布的版本适合企业使用,兼容堡垒机、LDAP等,目前只支持linux,等哪天有时间在完善windows。适用于云服务器等场景,部署及使用简单方便。同时可做为主机IDS的补充防护,主机IDS毕竟是事中事后防护,JXOTP可以做为事前防护提高服务器的整体安全性。回顾本系列的第一篇文章:
前言
这次发布的版本适合企业使用,兼容堡垒机、LDAP等,目前只支持linux,等哪天有时间在完善windows。适用于云服务器等场景,部署及使用简单方便。同时可做为主机IDS的补充防护,主机IDS毕竟是事中事后防护,JXOTP可以做为事前防护提高服务器的整体安全性。
回顾本系列的第一篇文章:
部署
服务端部署:
# git clone https://github.com/jx-sec/jxotp.git # cd jxotp # pip install -r requirements.txt # vim jxotp/settings.py
直接拉到最下面:
# 邮件设置 这里以阿里邮箱为例子 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = False EMAIL_HOST = 'smtp.mxhichina.com' #非阿里邮箱需修改 EMAIL_PORT = 25 EMAIL_HOST_USER = 'security@jxwaf.com' # 用户名 EMAIL_HOST_PASSWORD = '*' #密码 DEFAULT_FROM_EMAIL = 'security@jxwaf.com' #同用户名 # login setup USERNAME = 'admin' # 服务端登陆用户名 PASSWORD = '123456' # 服务端登陆密码 OTP_SECRET_KEY = 'hellojxotp' # OTP客户端与服务端对接的密钥
接下来初使化数据库,启动服务端 PS:例子为非正式部署,需正式部署请使用uwsgi+nginx:
# python manage.py makemigrations # python manage.py migrate # python manage.py runserver 0.0.0.0:8000
服务端部署结束。
客户端部署:
# vim jxotp_auth.py
只需修改两个参数的配置:
SERVER_API_URL = “ http://1.1.1.1:8000/otp_auth “
OTP_SECRET_KEY = “hellojxotp”
其中 SERVER_API_URL 为你部署服务器的地址,如你服务器地址为 52.163.121.204,则这块应设置为 http://52.163.121.204:8000/otp_auth
OTP_SECRET_KEY 为OTP客户端与服务端对接的密钥,需与服务端一致
# setenforce 0 # sh install_jxotp.sh # vim /etc/pam.d/sshd
在最顶行添加:
auth optional pam_python.so jxotp_auth.py
到这里客户端和服务端就全部部署完了。
架构及使用说明
架构说明
一旦网络中断或者服务器异常,服务器的OTP验证将自动转为bypass模式,回归密码验证。默认服务端OTP验证为偏移3次,也就是说当前时间两分钟内的OTP验证码都有效,提高易用性。
客户端OTP验证为独立验证,所以不与LDAP等验证冲突,验证失败会将密码重置为空,导致密码验证失败(服务器密码要是为空算你厉害)。
可通过配置服务器验证将堡垒机IP加入白名单,即兼容堡垒机。
可开启防暴力破解功能,例如OTP验证错误超过10次,锁定客户端IP三十分钟,并邮件报警,可针对特定用户开启,也可设置特定IP开启,总之就是灵活,满足大部分应用场景。
使用说明
1、用户管理
新建用户后点击发送邮件:
2、全局设置
default_enable 是否开启服务器自动注册:
默认为true,当有客户端访问JXOTP SERVER时,自动注册,无需管理员手动添加。
default_global_check 是否开启所有用户检测:
默认为false,当值为true时,所有登录的用户都需要进行OTP检验,为false时,仅设置了default_check_user的用户会开启OTP检验。
default_check_user 默认值为root:
当default_global_check为true时生效(不要在意为啥false时不屏蔽该选项),设置需要开启OTP检验的系统用户名
default_white_ip 默认值为false:
当需要设置白名单IP或者已使用堡垒机时,可将相应IP添加进去,中间用逗号(,)隔开,如白名单IP为1.1.1.1,堡垒机IP为2.2.2.2,则值为 1.1.1.1,2.2.2.2。
black_check 默认值为false:
是否开启防暴力破解功能,默认为false,关闭状态。
black_check_time 默认值为5:
暴力破解功能检测时间,单位为分钟,5即检测5分钟内暴力破解的攻击次数。
black_check_count 默认值为 10:
OTP失败次数,10即失败10次开启防暴力破解功能。
black_deny_time 默认值为 720:
检测到暴力破解攻击后封禁IP的时间,单位为分钟,720即封禁IP 12小时。
black_send_email 默认值为 ?:
检测到暴力破解攻击后告警邮箱。
3、服务器管理
自定义设置会覆盖全局配置,其他同全局配置,可手动添加需要开启OTP功能的服务器,也可在全局配置开启default_enable选项,即自动注册服务器。
4、查看日志
以上所述就是小编给大家介绍的《开源SSH双因素登陆认证系统JXOTP了解一下续》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数学与泛型编程
[美]亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov)、[美]丹尼尔 E. 罗斯(Daniel E. Rose) / 爱飞翔 / 机械工业出版社 / 2017-8 / 79
这是一本内容丰富而又通俗易懂的书籍,由优秀的软件设计师 Alexander A. Stepanov 与其同事 Daniel E. Rose 所撰写。作者在书中解释泛型编程的原则及其所依据的抽象数学概念,以帮助你写出简洁而强大的代码。 只要你对编程相当熟悉,并且擅长逻辑思考,那么就可以顺利阅读本书。Stepanov 与 Rose 会清晰地讲解相关的抽象代数及数论知识。他们首先解释数学家想要解决......一起来看看 《数学与泛型编程》 这本书的介绍吧!