设置系统密码长度、复杂度、生存周期
vim /etc/pam.d/system-auth
1 | password requisite pam_cracklib.so minlen=12 ucredit=-1 lcredit=-1 ocredit=-1 retry=3 difok=5 |
vim /etc/login.defs
1 | PASS_MAX_DAYS 90 #密码最长过期天数 |
设置空闲会话时间
vim /etc/profile
1 | export TMOUT=300 |
source /etc/profile
升级系统补丁
注:仓库配置文件为centos5的配置文件,如果购买了正版的RHEL操作系统,可以使用RHN服务进行更新vim /etc/yum.repos.d/CentOS-Base.repo
1 | [base] |
yum update
安装杀毒软件clamav
安装centos5的epel-release扩展包
rpm -ivh http://dl.fedoraproject.org/pub/archive/epel/5/x86_64//epel-release-5-4.noarch.rpm
安装杀毒软件clamav
yum install -y clamav
更新病毒库
freshclam
测试查杀病毒
clamscan -r /tmp
升级bash
查看bash版本
/bin/bash --version
1 | GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) |
检测漏洞
env -i X='() { (a)=>\' bash -c 'echo date'; cat echo
1 | 修复前输出:当前系统时间 |
安装基础依赖包
yum -y install gcc gcc-c++ glibc
下载bash最新版
wget http://ftp.gnu.org/gnu/bash/bash-4.4.tar.gz
编译安装bash
./configure
make && make install
备份旧版本bash,并设置软连接
mv /bin/bash /bin/bash.bak && ln -s /usr/local/bin/bash /bin/bash
查询升级后版本
/bin/bash --version
1 | GNU bash, version 4.4.0(1)-release (x86_64-unknown-linux-gnu) |
再次检测漏洞
env -i X='() { (a)=>\' bash -c 'echo date'; cat echo
1 | 修复后输出:date |
升级openssl
查询openssl版本
/usr/bin/openssl version -a
1 | OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 |
注:受perl版本限制,最新版的openssl1.1.1需要perl5.10+版本,本次升级为1.0.2版本
下载openssl
wget -c https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
tar xf openssl-1.0.2p.tar.gz
cd openssl-1.0.2p
编译安装openssl
./config --prefix=/usr/local/openssl
make && make install
备份之前的openssl
mv /usr/bin/openssl /usr/bin/openssl.old && mv /usr/include/openssl /usr/include/openssl.old
添加软连接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl && ln -s /usr/local/openssl/include/openssl /usr/include/openssl
再次查看openssl版本
/usr/bin/openssl version -a
1 | OpenSSL 1.0.2p 14 Aug 2018 |
将OpenSSL 的动态链接库地址写入动态链接装入器
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
由于openssh配置时会使用旧版本的openssl库文件,需要先配置以下三个变量,让其指向新版本的opnessl库文件
1 | export DEFAULT_LIBPATH=/usr/local/openssl/include/openssl/:/usr/local/openssl/lib/ |
重新加载动态链接库
ldconfig -v
升级openssh
安装配置telnet server
yum -y install telnet-server
vim /etc/xinetd.d/telnet
1 | service telnet |
/etc/init.d/xinetd restart
设置防火墙,允许访问23端口
也可以暂时关闭防火墙iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
或者service iptables stop
允许root远程telnet登录主机
vim /etc/securetty
1 | pts/0 |
以下操作使用telnet远程登录主机进行操作
1 | telnet 192.168.7.70 23 |
安装基础包
yum install zlib zlib-devel
备份配置文件
cp -r /etc/ssh /mnt
cp /etc/init.d/sshd /mnt
cp /etc/pam.d/sshd /mnt
下载、编译安装openssh
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
tar xf openssh-7.9p1.tar.gz
cd openssh-7.9p1
./configure --prefix=/usr -sysconfdir=/etc/ssh -with-ssl-dir=/usr/local/openssl -with-zlib -with-pam -with-md5-passwords -with-kerberos5 --without-zlib-version-check
make && make install
启动sshd访问
/etc/init.d/sshd restart
查看ssh版本
ssh -V
升级后ssh用户无法远程登录
提示Failed password for root from x.x.x.x port 55776 ssh2
切记备份/etc/pam.d/sshd, 升级后如果不能远程登录,记得恢复之前备份的/etc/pam.d/sshd,如果忘记备份,可以从同系列主机(centos6就复制centos6的,centos7就复制centos7的)复制该文件,重启sshd服务即可!
Could not get shadow information for root
查看selinux 状态sestatus
如果是enabled状态,临时解决方案setenforce 0
永久生效请修改/etc/selinux/config
文件中的SELINUX=disabled
,在合适的时候重启主机生效sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
reboot
https://blog.csdn.net/zougen/article/details/79570500
http://leung4080.github.io/linux/2013/08/07/OpenSSL-OpenSSH-升级配置/