Featured image of post Openstack更新KVM镜像

Openstack更新KVM镜像

Openstack更新镜像

一、VM开启虚拟化支持

创建虚拟机的时候必须开启CPU虚拟化,如图:

VMware设置

二、KVM宿主机环境准备

1
2
3
4
5
6
7
$ dnf install -y wget qemu-kvm qemu-img  qemu-kvm-tools libvirt* virt-*

$ systemctl enable libvirtd && systemctl start libvirtd

$ systemctl stop firewalld && systemctl disable firewalld

$ setenforce 0 && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

三、虚拟机安装、连接

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$ mkdir -p /kvm/iso_image

$ wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.1-x86_64-minimal.iso -o /kvm/iso_image/Rocky-9.1-x86_64-minimal.iso

$ qemu-img create -f qcow2 /kvm/RockyLinux9.1_Base.qcow2 50G
$ virt-install --name RockyLinux9.1_Base \
--ram 4096 \
--vcpus 2 \
--os-variant rocky9 \
--arch=x86_64 \
--network network=default,model=virtio \
--disk path=/kvm/RockyLinux9.1_Base.qcow2,format=qcow2 \
--location /kvm/iso_image/Rocky-9.1-x86_64-minimal.iso \
--console pty,target_type=serial \
--graphics vnc,listen=0.0.0.0,port=7890

vnc连接7890端口执行安装步骤。

四、系统加固

  • 禁用root账号登录;

    1
    2
    
    $ vim /etc/ssh/sshd_config
    PermitRootLogin no
    
  • 设置密码过期:

    1
    2
    3
    4
    5
    
    $ vim /etc/login.defs
    
    PASS_MAX_DAYS 90 #新建用户的密码最长使用天数(默认90天)
    PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
    PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
    
  • 设置密码复杂度要求:

    1
    2
    3
    4
    5
    6
    7
    8
    
    $ vim /etc/pam.d/system-auth
    
    # %PAM-1.0
    # This file is auto-generated.
    # User changes will be destroyed the next time authconfig is run.
    # 在上方文件中添加如下一行配置,其含义是至少包含一个数字、一个小写字母、一个大写字母、一个特殊字符、且密码长度>=10
    
    password    required pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=10
    
  • 设置密码最大错误次数:

    1
    2
    
    $ vim /etc/ssh/sshd_config
    MaxAuthTries 3 
    
  • 设置登录超时:

    1
    2
    
    $ vim /etc/profile
    export TMOUT=300 # 5分钟超时
    
  • 记录所有用户的登录和操作日志:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    # 可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作。
    $ touch /etc/profile.d/history_record.conf && \
    tee /etc/sysctl.conf <<-'EOF'
    history
    USER=$(whoami)
    USER_IP=$(who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g')
    if [ "$USER_IP" = "" ]; then
        USER_IP=$(hostname)
    fi
    if [ ! -d /var/log/history ]; then
        mkdir /var/log/history
        chmod 777 /var/log/history
    fi
    if [ ! -d /var/log/history/${LOGNAME} ]; then
        mkdir /var/log/history/${LOGNAME}
        chmod 300 /var/log/history/${LOGNAME}
    fi
    export HISTSIZE=4096
    DT=$(date +"%Y%m%d_%H:%M:%S")
    export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
    chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
    EOF
    
    $ chmod +x /etc/profile.d/history_record.conf && \
    source /etc/profile.d/history_record.conf
    

五、导入openstack

界面上导入镜像就可以了(其实也可以用命令行,实际上还是网页快):

openstack导入镜像操作