• 网站安全防护


    如网站已被黑先要进行病毒木马查杀工作(系统层、环境层、代码层、进程层),病毒木马查杀可以使用Clamav、河马、D盾,能力强的可以用yara规则自进行自定义安全扫描。

    1.确保环境安全例如近期的LNMP投毒事件

    2.nginx/php隐藏版本号/关闭报错显示行

    3.限制3306端口/phpMyAdmin尽量不用

    4.修改指纹例如X-Powered-By/Cookie

    5.上线前后进行主机漏扫+网站漏扫

    6.修改系统默认文件夹特征

    7.系统安装杀毒Clamav

    8.更改后台的默认入口

    9.安装雷池WAF防护

    10.网站使用https

    11.后台双向认证

    1. yum install openssl
    2. mkdir /root/openssl
    3. # 服务器,客户端的 openssl.cnf
    4. cp /etc/pki/tls/openssl.cnf /root/openssl/server_openssl.cnf
    5. cp /etc/pki/tls/openssl.cnf /root/openssl/user_openssl.cnf
    6. # 修改上述文件
    7. # 1) [ req ] 小节: 取消 req_extensions = v3_req 前面的注释
    8. # 2) [ req_distinguished_name ] 小节: 注释 0.* 开头的内容 
    9. # 3) [ v3_req ] 小节
    10.     ## 服务端
    11.       extendedKeyUsage=serverAuth
    12.       ubjectAltName = @alt_names
    13.       [ alt_names ]
    14.       DNS.1 = admin.dev.com
    15.     ## 客户端
    16.        extendedKeyUsage=clientAuth
    17.        
    18. # 如果想使用其他目录,修改 /etc/pki/tls/openssl.cnf 的 [ tsa_config1 ] 小节
    19. mkdir /etc/pki/CA/newcerts -p
    20. touch /etc/pki/CA/index.txt
    21. # 如果文件不存在,用以下命令创建
    22. echo '01' > /etc/pki/CA/serial
    23. cd /etc/pki/CA
    24. #签发 CA 根证书和二级 CA 证书
    25. # 根证书
    26. openssl genrsa -out ca_root.key 2048
    27. openssl req -x509 -new -key ca_root.key -out ca_root.cer -days 3650 -subj "/C=CN/ST=GD/L=SZ/O=dev/CN=dev-ROOT-CA"
    28. # 二级证书
    29. openssl genrsa -out sub_ca.key 2048
    30. openssl req -new -key sub_ca.key -out sub_ca.csr -subj "/C=CN/ST=GD/L=SZ/O=dev/CN=dev-SUB-CA"
    31. openssl ca -extensions v3_ca -in sub_ca.csr -days 3650 -out sub_ca.cer -cert ca_root.cer -keyfile ca_root.key
    32. #用二级 CA 证书签发服务器证书
    33. openssl genrsa -out server.key 2048
    34. openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=dev/CN=admin.dev.com"
    35. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.cer -CA sub_ca.cer -CAkey sub_ca.key -CAcreateserial -extensions v3_req -extfile /root/openssl/server_openssl.cnf
    36. 用二级 CA 证书签发客户端证书
    37. penssl genrsa -out user.key 2048
    38. openssl req -new -key user.key -out user.csr -subj "/C=CN/ST=GD/L=SZ/O=dev/CN=admin"
    39. openssl x509 -req -days 365 -in user.csr -signkey user.key -out user.cer -CA sub_ca.cer -CAkey sub_ca.key -CAcreateserial -extensions v3_req -extfile /root/openssl/user_openssl.cnf
    40. #将客户端证书导出为 pkcs12 格式
    41. # 将根证书, 二级证书和用户证书合并
    42. cat ca_root.cer sub_ca.cer user.cer > user_combination.cer
    43. # 用合并证书生成 p12,这样在导入时能同时导入根证书,注意设置导出密码
    44. openssl pkcs12 -export -inkey user.key -in user_combination.cer -out user.p12
    45. ##在导出为 pkcs12 时,会提示输入密码,这个密码在将证书导入到 windows 电脑时要进行验证,这样可以避免证书被盗导致的风险
    46. #前端nginx配置禁止访问管理后台
    47. server {
    48. location = /wp-login.php {
    49.     return 404;
    50. }
    51. location /wp-admin/ {
    52.     return 404;
    53. }
    54. location = /admin.php {
    55.     return 404;
    56. }
    57. location /admin/ {
    58.     return 404;
    59. }
    60. }
    61. #后端nginx配置管理后台双向认证
    62. server {
    63.     listen 443 ssl;
    64.     
    65.     server_name admin.dev.com;
    66.     ssl_certificate     cert/server.cer;
    67.     ssl_certificate_key cert/server.key;
    68.     ssl_session_timeout 5m; 
    69.     ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    70.     ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    71.     ssl_prefer_server_ciphers on;
    72.     
    73.     ssl_client_certificate cert/ca_root.cer;
    74.     ssl_verify_client on; 
    75. }

     

     

     

     

     

  • 相关阅读:
    x264 编码器 AArch64 汇编函数模块关系分析
    java毕业设计家庭理财管理系统(附源码、数据库)
    strlen函数详解及模拟实现
    background-repeat
    小程序“账本小记”的意见反馈实现批量上传附件
    MySQL数据库中SQL命令语句高级使用
    爬虫基础入门理论上篇
    编译openjdk8==centos7.9编译openjdk8
    《rPPG》——(1)PyTorch——Windows环境配置
    Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程
  • 原文地址:https://blog.csdn.net/qq_24658577/article/details/133693185