分类 云计算 下的文章

使用openssl转换ssl证书文件 - 从pfx文件转换到pem单文件

一般,如阿里云的免费SSL证书,在下载页面会提供适合多种web使用的文件,如nginx, apache, IIS等。

遇到一例,仅存储了IIS上使用的pfx文件,现需要在nginx里使用,所以需要将pfx证书文件转换成适合nginx使用的。

环境:debian 9, nginx

过程:

  1. 将pfx文件上传到debian系统环境中
  2. debian系统中默认有openssl工具,可用openssl程序将pfx文件转换成单文件的,如:openssl pkcs12 -in swas.anqun.org.pfx -out swas.anqun.org.cer -nodes
    pfx-to-pem-1.png
  3. 查看导出的 swas.anqun.org.cer 文件,里边主要包含两部分内容,私匙和公匙
    pfx-to-pem-2.png
  4. 将私匙(PRIVATE KEY)部分内容复制到新文件swas.anqun.org.key中,将公匙(CERTIFICATE)部分内容(两个)复制到新文件swas.anqun.org.pem中
  5. 在nginx的站点文件中配置https访问,引用swas.anqun.org.pem和swas.anqun.org.key文件
    pfx-to-pem-4.png
  6. 保存配置文件修改后,重启nginx。在火狐浏览器里访问https测试,正常
    pfx-to-pem-3.png

参考:

阿里云域名 - 续费八折 - 优惠 - 续费com或net 55元/年

阿里云官方价和本人优惠价(代金券支付)对比:

  • .com - ¥69 x 0.8 = ¥55
  • .net - ¥69 x 0.8 = ¥55
  • .cn - ¥39 x 0.8 = ¥31
  • .org - ¥78 x 0.8 = ¥62

不用修改域名注册人信息,通过阿里云站内转移功能临时转到本人阿里云账户(代金券绑定支付),在线完成续费后即时转回,一般几分钟内可以处理好。

代金券金额有限,先到先得。

在Debian 8系统里为用户限制sftp登录路径

环境:Debian 8,用户 liujia,用户 yun。用户通过FileZilla Client的sftp限制连接,限制在各自的家目录,不能浏览其它用户家目录的文件。

过程:

  1. groupadd sftpgroup # 新增 sftpgroup 用户组
  2. adduser liujia --ingroup sftpgroup --shell /sbin/nologin # 新增用户 liujia ,添加到 sftpgroup 用户组中,且不允许从ssh登录
    sftp-1.png
  3. chmod 700 /home/liujia # 更改用户目录权限为 700
  4. vi /etc/ssh/sshd_config # 编辑 sshd 的配置内容,在文件末尾新增以下内容:

    Match Group sftpgroup
    ChrootDirectory /home
    ForceCommand internal-sftp -u 077
    X11Forwarding no
    AllowTcpForwarding no

    sftp-3.png

  5. systemctl restart sshd
  6. 在 FileZilla Client 里通过 sftp 协议连接测试,达到效果
    sftp-2.png

参考:

29日去了阿里云深圳“驱动数字中国”听“阿里云支持与服务专场”

等了几天,盼到了。

坐地铁5号线,在“会展中心”站下,会场就在附近,好找。

yunxi-sz-1.jpg

先是在签到处说了身份证号码和手机号,妹纸说找不到信息,但可以现场报名,妹纸问有没有名片,我说没有。扫一下屏幕的二维码,现场提交个人信息,其中有“就职公司”之类的,我“发挥”一下,填了“安群网”,职位是“老总”,打印出来的二维码上,真有“安群网”,但可能顾及我的面子,“老总”的职位没打印出来。

之后呢,人多,所以坐扶手楼梯到了6楼,找到“文厅”,听“阿里云支持与服务专场”的演讲。

yunxi-sz-3.jpg

我在后边找一个“安静”的位坐下。听着大佬们讲,不时有人捧着手机拍屏幕上显示的演讲稿内容,但我仿佛是因为没睡午觉,眼前的PPT越来越模糊,声音慢慢变远,眼皮懒懒地想合上。瞌睡中,一个帅小伙说是卓游的技术总监,讲了阿里云适合他们业务的原因,挺不错的。四点多时,会场结束,我差不多最后,出门时,一个妹纸问,“你的牌牌呢?”,我从裤兜里掏出带有二维码的参会卡片,被“滴”了之后,换到了一本“hello world”的笔记(第二天送给小张了)。

yunxi-sz-5.jpg

我是特意穿着阿里云“more than just cloud”去的,但签到处的妹纸穿的是新版的"hello YunQi",在离开下扶手楼梯时看到两个提着AOC设备的哥们也是老版的"just cloud",再凑一个,可以上场打“吃鸡”游戏了。

yunxi-sz-4.jpg

在CentOS6 系统里为 postfix 配置外部smtp服务器发邮件

1.yum update # 更新软件
2.hostname erow.org # 设置主机名
3.vi /etc/postfix/main.cf # 编辑 postfix 配置文件,设置 myhostname = erow.org
4.yum install stunnel # 安装 stunnel 软件,目的是转发465端口数据
5.vi /etc/stunnel/stunnel.conf # 编辑 stunnel 配置文件,内容如下:

[smtp-tls-wrapper]
accept = 11125
client = yes
connect = smtp.mxhichina.com:465

6.vi /etc/rc.d/init.d/stunnel # 编辑 stunnel 启动配置文件,内容如下:

#!/bin/bash
#
# Init Script to run stunnel in daemon mode at boot time.
#
# Author: Riccardo Riva - RPM S.r.l.
# Revision 1.0 - 2010 November, 11

#====================================================================
# Run level information:
#
# chkconfig: 2345 99 99
# description: Secure Tunnel
# processname: stunnel
#
# Run "/sbin/chkconfig --add stunnel" to add the Run levels.
# This will setup the symlinks and set the process to run at boot.
#====================================================================

#====================================================================
# Paths and variables and system checks.

# Source function library
. /etc/rc.d/init.d/functions

# Check that networking is up.
#
[ ${NETWORKING} ="yes" ] || exit 0

# Path to the executable.
#
SEXE=/usr/bin/stunnel

# Path to the configuration file.
#
CONF=/etc/stunnel/stunnel.conf

# Check the configuration file exists.
#
if [ ! -f $CONF ] ; then
echo "The configuration file cannot be found!"
exit 0
fi

# Path to the lock file.
#
LOCK_FILE=/var/lock/subsys/stunnel

#====================================================================

# Run controls:

prog=$"stunnel"

RETVAL=0

# Start stunnel as daemon.
#
start() {
if [ -f $LOCK_FILE ]; then
echo "stunnel is already running!"
exit 0
else
echo -n $"Starting $prog: "
$SEXE $CONF
fi

RETVAL=$?
[ $RETVAL -eq 0 ] && success
echo
[ $RETVAL -eq 0 ] && touch $LOCK_FILE
return $RETVAL
}

# Stop stunnel.
#
stop() {
if [ ! -f $LOCK_FILE ]; then
echo "stunnel is not running!"
exit 0

else

echo -n $"Shutting down $prog: "
killproc stunnel
RETVAL=$?
[ $RETVAL -eq 0 ]
rm -f $LOCK_FILE
echo
return $RETVAL

fi
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if [ -f $LOCK_FILE ]; then
stop
start
RETVAL=$?
fi
;;
status)
status stunnel
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac

exit $RETVAL

#--- End of file ---

7.chkconfig stunnel on # 启用 stunnel 服务
8.chmod +x /etc/init.d/stunnel # 为 stunnel 配置文件,添加执行权限
9.service stunnel start # 启动 stunnel 服务
10.mkdir /etc/postfix/sasl # 创建 sasl 目录
11.vi /etc/postfix/sasl/sasl_passwd # 创建邮箱账户登录信息配置文件,内容如下:

[localhost]:11125 postmaster@erwo.org:password

12.postmap /etc/postfix/sasl/sasl_passwd # 生成postfix密码配置文件
13.chmod 600 /etc/postfix/sasl/* # 为了保护smtp的登录信息,需要修改上边两个文件为root用户只读写
14.vi /etc/postfix/main.cf # 修改 /etc/postfix/main.cf 文件,修改 relayhost = [localhost]:11125 , 添加SMTP信息:

relayhost = [localhost]:11125

#### SMTP
# Enable SASL authentication
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Location of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
# Enable STARTTLS encryption
# smtp_tls_security_level = encrypt
# Location of CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_generic_maps = hash:/etc/postfix/generic

15.因为多数免费邮箱限定发信人是登录名(如postmaster@erwo.org),所以在 /etc/postfix/generic 文件里填写可能发信的地址,如:apache

apache postmaster@erwo.org

16.postconf -e 'smtp_host_lookup = dns, native' # 设置postfix dns解析
17./etc/init.d/postfix restart # 重启postfix
18.tail /var/log/maillog # 如有错误,可查看日志

参考:https://randomcentos.wordpress.com/2015/04/21/installing-stunnel-client-on-centos-6-6/