Friday, September 18, 2020

SSL Certificate Cannot Be Trusted

1. 安装mod_ssl
yum -y install httpd mod_ssl

sudo systemctl enable httpd.service

systemctl start httpd.service

2. 生成CSR文件(*.csr)

openssl genrsa -out private2020.key 2048

openssl req -new -key private.key -out certificate2020.csr



3. 获得已签名的证书文件(*.crt)后

cp private2020.key /etc/pki/tls/private/

cp certificate2020.crt /etc/pki/tls/certs/
 

4. 生成server-chain.crt

cat IntermediateCA.crt > server-chain2020.crt

cat RootCA.crt >> server-chain2020.crt

cp server-chain2020.crt /etc/pki/tls/certs/


5. vi /etc/httpd/conf.d/ssl.conf

SSLEngine on

SSLCertificateFile /etc/ssl/private/certificate2020.crt

SSLCertificateKeyFile /etc/ssl/private/private2020.key

SSLCertificateChainFile /etc/pki/tls/certs/server-chain2020.crt


4.重定向到HTTPS

vi /etc/httpd/conf/httpd.conf 

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

TraceEnable Off

ServerTokens ProductOnly

ServerSignature Off

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

 

5. 重启httpd

systemctl restart httpd

 

 

参考:

https://medium.com/@hbayraktar/how-to-install-ssl-certificate-on-apache-for-centos-7-38c25b84d8b1 

https://community.tenable.com/s/article/Plugin-51192-SSL-Certificate-Cannot-Be-Trusted-fires-when-the-certificates-chain-cannot-be-completed


 


Wednesday, July 22, 2020

Excel 快速向下填充到指定行

1. Ctrl + G 输入要填充的区域(包含作为填充模板的那行)
2. Ctrl + D

Tuesday, July 21, 2020

Dispose 计时器 System.Threading.Timer 问题

1. 在彻底销毁前等待排队中的和进行中的回调完成
using (ManualResetEvent waitHandle = new ManualResetEvent(false))
{
    //若_timer.Dispose(waitHandle)已被调用过,则会返回false,可以防止重复调用
    if (_timer.Dispose(waitHandle))
     {
         //等待排队中的和正在执行的回调完成,并设置超时
         //回调结束时会自动调用waitHandle.Set()来解除阻塞
         waitHandle.WaitOne(milliseconds);

     }
}

2.  在Dispose后,回调中的ObjectDisposedException异常
try
{
    _timer.Change(dueTime, period);
}
catch(ObjectDisposedException)
{

}


参考:
注意Dispose(WaitHandle) 方法的备注Remarks部分


Thursday, July 16, 2020

FortiOS CLI 命令1

获取所有静态路由
get router info routing-table static
配合使用grep过滤出路由
get router info routing-table static | grep xxx.xxx.xxx.xxx

编辑静态路由
config route static
edit xx


按需求过滤出session
diag sys session filter dst xxx.xxx.xxx.xxx
diag sys session filter proto 17 //proto number 17 为UDP

diag sys session filter proto 6 //proto number 6 为TCP

diag sys session filter dport 5000
diag sys session filter negate dport  //端口不为5000

diag sys session filter //查看当前过滤规则

diag sys session list //列出所有过滤出来的session

diag sys session clear //结束所有过滤出来的session



参考:





Friday, January 10, 2020

HTTP TRACE / TRACK Methods Allowed

1. vi /etc/httpd/conf/httpd.conf

2. Add line:
TraceEnable Off
3.  systemctl restart httpd

SNMP Agent Default Community Name (public)

1. vi /etc/snmp/snmpd.conf

2. Comment line:
#com2sec notConfigUser  default       public
3. systemctl restart snmpd

ACL的permit和deny两种含义

 permit 允许    deny 拒绝  permit 匹配    deny 不匹配