自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 PostgreSQL学习之SCRAM-SM3加密认证

要实现算法SCRAM-SM3,关键是修改scram_SaltedPassword、scram_ClientKey、scram_H、scram_ServerKey这几个函数,将默认的SHA256算法修改为根据参数选择SHA256-HMAC或者SM3-HMAC。

2024-07-15 19:26:39 268

原创 PostgreSQL学习之SCRAM-SHA-256加密认证

PostgreSQL数据库保存用户密码的方式为加密保存(准确的说是保存用户的密码与随机数的hash值),加密算法为MD5和SCRAM-SHA-256两种,保存位置为系统表pg_authid。

2024-07-05 16:00:08 1307

原创 PostgreSQL学习之MD5加密认证

PostgreSQL数据库保存用户密码的方式为加密保存(准确的说是保存用户的密码与随机数的hash值),加密算法为MD5和SCRAM-SHA-256两种,保存位置为系统表pg_authid。

2024-07-05 13:26:28 163

原创 PostgreSQL学习之限制用户单次登录时长

PostgreSQL14已经实现了空闲会话超时断开功能,如果要控制用户登录时长(即不管会话是否空闲,只要超时就断开),时长可设置,并且可以精确到用户。

2024-07-05 09:55:22 357

原创 PostgreSQL学习之基于时间的认证

如果要限制用户在某一天的某时间段可以登录,某时间段不可以登录,在此做了一种简单的实现,通过pg_hba.conf文件配置时间段

2024-07-03 15:19:14 436

原创 PostgreSQL学习之使用LDAP认证

PostgreSQL使用LDAP认证,简单说就是将用户名和密码存储在LDAP服务器上,postgresql数据库必须有相同的用户(用户名称相同,密码可以不同),当数据库客户端登录数据库时,数据库服务器不使用本地的密码校验机制而是去请求LDAP服务器验证用户名密码是否正确,正确则登录成功,失败则登录失败。

2024-06-28 15:33:01 711

原创 PostgreSQL学习之passwordcheck使用pam_cracklib

passwordcheck通过钩子check_password_hook在创建用户或修改密码时对密码复杂度进行检查,passwordcheck不仅检查密码的长度、字符组成、是否包含用户名等,还可以使用第三方库pam_cracklib对密码进行弱口令检查。

2024-06-27 11:22:31 348

原创 PostgreSQL学习之PAM认证

PAM不仅可以用于SSH,还可以用于VSFTP、本地系统其他服务或者开发自己的程序等等。PAM可用模块不仅包括pam_access和pam_cracklib,还有常用的pam_listfileso模块pam_limitsso模块pam_rootokso模块pam_userdbso模块pam_securettyso模块pam_cracklibso模块pam_pwhistroyso模块等等PAM的目录:/lib64/security/pam* 全是pam模块。

2024-06-27 09:46:37 950

原创 PostgreSQL学习之SSL证书生成及配置

1、上面的脚本需要一个参数,指定postgresql数据库data目录,脚本进入data目录生成证书并修改postgresql.conf中ssl相关参数配置;

2024-06-26 10:48:08 1083

原创 智能密码钥匙(SKF)和密码机(SDF)标准接口实现会话密钥协商

GM/T 0016-2012 智能密码钥匙密码应用接口规范》定义了一系列使用智能密码钥匙的接口函数和结构体,其接口函数以SKF_开头。SDF和SKF函数通过标准函数实现SM2密钥协商(即SM2密钥协商协议:通过交换中间参数各自生成会话密钥,会话密钥不出卡不出加密机,一次一密)实现客户端与服务端的加密通信。注:一个智能密码钥匙(USBKEY)可以创建多个应用,每个应用可以创建多个容器,每个容器里有两对公私钥对,分别是签名密钥对和加密密钥对。3)发送发起方公钥和临时公钥(上面的公钥和临时公钥);

2024-06-25 08:41:28 547 3

原创 PostgreSQL数据库之密文密码检查(passwordcheck)

passwordcheck插件是一个检查密码发杂度的postgresql数据库插件,用于检测新创建或新修改的用户密码复杂度。如果密码是以明文字符串的形式传送到数据库服务端的,那么密码复杂度很容易检查,无非就是对字符串的检查。但是,postgresql数据库允许以密文形式修改用户密码,也就是用户可以先把新密码加密(加密算法可选上面提到的算法),然后把加密后的密文传送到服务端,服务端接收到的是加密了的密码,又怎么进行密码复杂度检查呢?

2024-06-19 14:53:38 291

原创 postgresql学习之通信加密开发

4、SSL协议通道建立完毕则开始postgresql协议的认证和数据传输,也就是通过pgtls_read完成对postgresql协议明文数据的加解密,然后由pqsecure_raw_write将加密后的postgresql协议数据发送出去,接收则反过来。服务端的流程与此一致,但有一个细节需要注意,在ProcessStartupPacket函数里服务端首次接收客户端请求,将S或G或N发送给客户端的时候直接使用send函数,跳过了上述两层封装,做加解密的时候必须留意这个地方,否则会造成通信失败。

2024-06-07 18:38:00 837

原创 gitlab配置pipeline学习备忘录

或者在文件/etc/gitlab-runner/config.toml的[[runners]]中新增条目使之主动接收job并执行。我这里生成的是自签名证书,更标准的做法是先生成根证书,再用根证书签发gitlab证书。按照上述配置配置完成即可正常进行自动化测试,如有疑问或错误请联系我。我用的是centos7.9系统,所以下载的是rpm包。

2024-05-31 19:28:14 744

PostgreSQL之SCRAM-SM3算法

在开源数据库源码PostgreSQL-14.7基础上,基于加密认证算法SCRAM-SHA-256,实现了加密和认证算法SCRAM-SM3。SCRAM-SHA-256和SCRAM-SM3两种算法共存,密码加密和客户端认证都多了一种基于国密算法的选择。

2024-07-09

基于规则“SunThu-00:02:00-00:03:00,Mon-16:59:00-20:00:00”时间范围检查(C语言)

规则: 1、Mon、Tue、Wed...表示一周的某一天; 2、00:02:00-00:03:00表示一天之内的某一时间段; 3、SunThu|00:02:00-00:03:00表示某天(和某天)的某一时间段; 4、SunThu|00:02:00-00:03:00,Mon|16:59:00-20:00:00表示某天(和某天)的某一时间段和表示某天(和某天)的某一时间段,一组内可包括一至七天,一组内只能包括一个时间段。 基于以上规则,使用C语言实现检查当前时间点是否在规则规定的时间段内,使用方式: ./time_range_check "SunThu|00:02:00-00:03:00,Mon|16:59:00-20:00:00,FriSun|00:02:00-23:30:59,Sun|15:59:00-20:00:00" 规则格式正确 当前时间点在规则内

2024-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除