2021年7月

这次用的是Aliyun_ECS_2U8G5M_Ubuntu20_04环境
第一步,配置基础环境

首先安装JRE和JDK基础环境
apt install openjdk-8-jre-headless
apt install openjdk-8-jdk-headless

第二步,安装Confluence软件

cd /home
下载confluence安装包
wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.12.3-x64.bin
给个执行权限
chmod +x atlassian-confluence-7.12.3-x64.bin
运行
./atlassian-confluence-7.12.3-x64.bin
在阿里云ECS上的安全组放行http端口即可访问
浏览器访问http端口,点击安装,记录机器码
结束进程
/etc/init.d/confluence stop

第三步,配置数据库

进到mysql
mysql -u root -p
搞个数据库
create database confluence character set UTF8;
搞个新用户
CREATE USER confluenceuser IDENTIFIED BY '密码';
ALTER USER confluenceuser IDENTIFIED WITH mysql_native_password BY '密码';
使用 utf8 作为默认字符集
alter database confluence  default character set = utf8;
使用utf8_bin数据库排序规则
alter database confluence default collate utf8_bin;
配置允许创建存储函数
set global log_bin_trust_function_creators = 1;
生效数据库
FLUSH PRIVILEGES;
退出mysql
exit
结束mysql
service mysql stop
exit
编辑数据库配置
vim /etc/my.cnf
改[mysqld]下
修改接受数据包的大小
max_allowed_packet = 34M
修改InnoDB存储引擎日志文件大小
innodb_log_file_size = 256M
加一行设置默认隔离级别
transaction-isolation = READ-COMMITTED
保存:wq
启动mysql
service mysql start
Confluence不带mysql驱动,打个mysql驱动扔到webinf目录
网上找个mysql-connector-java-8.0.25.jar
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.25.zip
扔到Confluence安装目录/atlassian/confluence/confluence/WEB-INF/lib/

第四步,那啥

把Confluence安装目录/atlassian/confluence/confluence/WEB-INF/lib/下的atlassian-extras-decoder-v2-3.4.1.jar拷贝出来,做一些小修改再拷贝回去(此处很简单不赘述)

第五步,初始化Confluence

输入命令启动confluence,登录web界面输入激活码并连接数据库进行初始化,按照配置向导进行配置
/etc/init.d/confluence start

第六步,配置https

首先阿里云申请个域名,配置域名解析,申请https证书,下载tomcat证书,上传到云主机上
(不要上传到confluence安装路径,否则升级时候会被删掉)
然后编辑tomcat配置文件,取消https配置的注释
vim/opt/atlassian/confluence/conf/server.xml
keystorePass填写证书密码,keystoreFile填写证书路径
(不要编辑server.xml中除配置外其他注释内容,系统检查会被认为是配置文件错误)
保存文件
:wq
重启confluence服务
/etc/init.d/confluence stop
/etc/init.d/confluence start
在阿里云ECS上的安全组放行https端口即可通过https访问

最后打开confluence登录,进行健康检查,完美。
QQ截图20210716125006.png
非常简单。

最近在研究系统加固,发现个非常方便的双因素验证应用google-authenticator

双因素验证是啥东西?

双因素认证是一种采用时间同步技术的系统,采用了基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。因每次认证时的随机参数不同,所以每次产生的动态密码也不同。由于每次计算时参数的随机性保证了每次密码的不可预测性,从而在最基本的密码认证这一环节保证了系统的安全性。解决因口令欺诈而导致的重大损失,防止恶意入侵者或人为破坏,解决由口令泄密导致的入侵问题。

首先更新下时间

date -s 21:03:00
hwclock -w

加个源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

然后安装google-authenticator

yum install google-authenticator -y

开启配置向导

google-authenticator

手机扫一扫
QQ截图20210712211722.jpg
修改ssh配置

sed -i "/auth[ ]*substack[ ]*pass*/a\auth required pam_google_authenticator.so" /etc/pam.d/sshd
sed -i -r 's#(ChallengeResponseAuthentication) no#\1 yes#g' /etc/ssh/sshd_config

重启ssh服务

service sshd restart

不要关ssh,另开一个窗口测试
输入密码和动态口令登录
QQ截图20210712211802.jpg
手机google-authenticator开启Face ID
IMG_6856.PNG

另:为了避免服务器时间出错导致无法通过google-authenticator登录,可以在服务器上再装个cockpit备份(做限源),ssh无法访问时可通过网页恢复。

有时候机器不支持iptables,只支持firewalld,需要限源ssh端口
先将firewalld设置开机自启

systemctl enable firewalld

启动服务

systemctl start firewalld

检查运行状态

systemctl status firewalld

设置默认拒绝ssh连接

firewall-cmd --permanent --remove-service=ssh

配置限源

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP/32" port protocol="tcp" port="22" accept'

生效命令

firewall-cmd --reload

查看生效的命令

firewall-cmd --zone=public --list-rich-rules

附录 常用命令:
删除之前的复杂规则

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'

手动开放指定端口

firewall-cmd --permanent --add-port=3306/tcp

删除开放的端口

firewall-cmd --permanent --remove-port=3306/tcp

开放指定服务(系统内置的)

firewall-cmd --permanent --add-service=http

删除服务

firewall-cmd --permanent --remove-service=http

添加白名单地址(单IP)

firewall-cmd --permanent --add-source=192.168.1.100

注: 白名单中的IP可以任意访问所有服务器可用的端口 这个白名单的作用不是这样的,有待继续研究
添加白名单地址(指定网络段CIDR格式)

firewall-cmd --permanent --add-source=192.168.1.0/24

删除白名单地址

firewall-cmd --permanent --remove-source=192.168.1.100

屏蔽指定IP地址

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' reject"

屏蔽IP地址段

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"

新版的windows10无法用netplwiz命令配置自动登录
需要打开注册表编辑器,将
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device 里面的DevicePasswordLessBuildVersion,值修改为0之后保存,再运行netplwiz即可自动登录。