我唱自己的歌 在布满车前草的道路上 在灌木和藤蔓的集市上 在雪松,白桦树的舞会上 在那山野的原始欢乐之上 我唱自己的歌
《我唱自己的歌》,顾城
# https安全证书自动更新
我的博客使用了Let's Encrypt提供的免费DV(Domain Validation)证书实现https.但是这个证书需要定期自动更新,证书的有效期每次只能持续90天.所以我们需要利用Linux系统的定时任务功能,定期去自动更新证书.
具体操作如下:
sudo crontab -u root -e
0 1,23 * * * certbot renew
# fail2ban安装及配置
云主机具有公网IP,所以经常有一些恶意IP开始扫描主机开放的端口,并且暴力破解SSH的登录密码.所以,根据网上的介绍,安装了fail2ban这个工具.
通过yum安装该工具:
sudo yum install fail2ban
安装完成以后,需要新建一个配置文件,按照需要设置禁止恶意IP的相关规则
sudo vim /etc/fail2ban/jail.local
[DEFAULT]
bantime = 864000
sender = [email protected]
destemail = root
action = %(action_mwl)s
findtime = 86400
maxretry = 2
[sshd]
enabled = true
# ssh配置
centos7的ssh默认配置允许root账户远程登录,此处建议用户新建一个账户,然后禁用root账户的远程登录,通过新建账户登录系统,然后在需要的时候切换到root账户.这样可以增加爆破的难度,一定程度上保护系统的安全.
具体设置如下:
sudo vim /etc/ssh/sshd_config
MaxAuthTries X
PermitRootLogin no
# 日志查看
Linux系统具有丰富的日志,当怀疑自己的服务器遭到非法入侵以后,可以通过日志进行查看,验证自己的猜测.下面列出几个简单的日志查看方式:
登录退出记录: /var/log/wtmp 打开方式: who wtmp
最后一次登录: /var/log/lastlog 打开方式: lastlog
登录验证方面的信息: /var/log/secure 打开方式: sudo tail -n 10 secure
# PS: 发现的一些小问题
fail2ban,crontab都会将信息通过邮件的格式发送到/var/mail/目录下的指定账户.但是有时候在这个目录下发现并没有相关的信息. 查看postfix服务,发现启动失败,提示: fatal: parameter inet_interfaces: no local interface found for ::1 这个错误的大意就是没有为IPv6地址找到本地的接口. 应该是没有为网卡配置IPv6地址的原因,但是我没有测试,这只是推论. 解决办法如下:
cd /etc/postfix
sudo vim main.cf
inet_interfaces = all