CentOS7安装OpenSSL1.1.1s
https://www.openssl.org/source/openssl-1.1.1s.tar.gz
tar -xzf openssl-1.1.1s.tar.gz
cd openssl-1.1.1s
./config --prefix=/usr
make && make install
ldconfig
查看当前版本
openssl version
OpenSSL 1.1.1s 1 Nov 2022
https://www.openssl.org/source/openssl-1.1.1s.tar.gz
tar -xzf openssl-1.1.1s.tar.gz
cd openssl-1.1.1s
./config --prefix=/usr
make && make install
ldconfig
查看当前版本
openssl version
OpenSSL 1.1.1s 1 Nov 2022
ngx_waf是一款方便且高性能的nginx防火墙模块,功能齐全,「网络应用防火墙」的基本功能都有。安装方便,大多数情况下你可以直接下载使用预构建的模块。使用便捷,配置指令简单易懂。规则灵活,提供高级规则,将动作(如拦截或放行)和多个条件表达式组合起来。
Github项目地址:https://github.com/ADD-SP/ngx_waf
功能特性
兼容 ModSecurity。
SQL 注入防护。
XSS 攻击防护。
支持 IPV4 和 IPV6。
支持开启验证码(CAPTCHA),支持hCaptcha、reCAPTCHAv2和reCAPTCHAv3。
支持识别友好爬虫(如 BaiduSpider)并自动放行(基于User-Agent和IP的识别)。
CC防御,超出限制后自动拉黑对应IP一段时间或者使用验证码做人机识别。
IP黑白名单,同时支持类似192.168.0.0/16和fe80::/10,即支持点分十进制和冒号十六进制表示法和网段划分。
POST 黑名单。
URL 黑白名单
查询字符串(Query String)黑名单。
UserAgent 黑名单。
Cookie 黑名单。
Referer 黑白名单。
Let's Encrypt会自动安装在用户宿主目录~/.local/
下,今天在续期证书时报错:
Creating virtual environment...
Installing Python packages...
Installation succeeded.
Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
from certbot.main import main
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 13, in <module>
from acme import jose
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/__init__.py", line 37, in <module>
from acme.jose.interfaces import JSONDeSerializable
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/interfaces.py", line 9, in <module>
from acme.jose import util
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/jose/util.py", line 5, in <module>
import OpenSSL
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/rand.py", line 12, in <module>
from OpenSSL._util import (
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /root/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: OPENSSL_sk_num
原因是pip编译安装相应模块时调用到系统的openssl库,而系统openssl不支持OPENSSL_sk_num
由于我之前已经编译过新版的openssl放在/usr/local/openssl
下,将第一步自动安装上的openssl-devel
包删除,然后pip重新安装cryptography
、pyopenssl
即可。注意:需先清除安装缓存目录,否则安装时不会重新编译。
yum remove openssl-devel
cd ~/.local/share/letsencrypt/bin/
pip uninstall cryptography pyopenssl -y
pip install --upgrade pip
rm -rf ~/.cache/
pip install cryptography pyopenssl
ldd ~/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so
此时已经链接到编译的openssl库上,这样再执行命令便不会报错。
Let's Encrypt CA 项目由非赢利组织 Internet Security Research Group (ISRG) 运营,由Mozilla、思科、Akamai、IdenTrust、EFF 和密歇根大学等组织发起,向网站自动签发和管理免费SSL证书,以加速互联网从 HTTP 向 HTTPS 过渡。
Let's Encrypt 官方网站:https://letsencrypt.org/
Let's Encrypt 项目主页:https://github.com/letsencrypt/letsencrypt
1、安装Let's Encrypt脚本依赖环境
# CentOS 6
yum install centos-release-SCL && yum update
yum install python27
scl enable python27 bash
yum install python27-python-devel python27-python-setuptools python27-python-tools python27-python-virtualenv
yum install augeas-libs dialog gcc libffi-devel openssl-devel python-devel
yum install python-argparse
# CentOS 7
yum install -y git python27
yum install -y augeas-libs dialog gcc libffi-devel openssl-devel python-devel
yum install python-argparse
2、获取Let's Encrypt并生成SSL证书
yum install git-core
git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt
./letsencrypt-auto certonly --email [email protected] -d www.2dan.cc --webroot -w /home/html --agree-tos
如果多个域名可以加多个-d 域名
stand alone和super daemon
stand alone指的是一直运行vsftpd,占用资源,提供ftp服务。super daemon指的是有需要时由xinetd启动vsftpd服务。如果服务器不是那种长期开ftp,提供大量的上传下载服务的话,会选择后者。
安装
sudo apt-get install vsftpd
查看是否打开21端口
sudo netstat -npltu | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 15601/vsftpd
登录
ftp localhost
输入Ubuntu的用户名、密码登录
ls
会显示home目录的文件