linux操作规范
1.1安装流程
1.1.1 系统如无特殊要求一律采用小化安装方式进行安装。
1.1.2 安装过程开始之前需要根据实际情况进行CPU数量、磁盘容量、内存分配、文件系统、目录结构、磁盘分区规划、磁盘管理方案进行分析与设计,并按照方案进行系统的安装。
1.1.3 安装过程中,需要按照实际情况设置恰当的主机名、语言、字符集、键盘布局、网络参数。
1.2系统安全设置及优化设置
1.2.1 创建标准账号,授予sudo权限,指定特定账户可以su到root账户。禁止root用户通过ssh远程登录,使用安全性较高的ssh2协议进行登录,卸载telnet(如果已安装)。
禁止root的登录:找到/etc/ssh/sshd_config文件后修改其中的#PermitRootLogin yes为PermitRootLogin no
更改端口号:找到/etc/ssh/sshd_config文件后修改其中的#Port 22 为 Port 22022
仅使用SSH协议2:找到/etc/ssh/sshd_config文件后修改其中的#Protocol 2 为 Protocol 2
允许特定的组用户su切换到root: 将帐号加入wheel组usermod -G wheel youaccount 然后找到/etc/pam.d/su文件其中#auth required pam_wheel.so use_uid 去掉#注释,
找到/etc/login.defs文件在最末加上SU_WHEEL_ONLY yes
1.2.2 启用密码策略。
一、密码复杂度要求:
在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值
修改/etc/pam.d/system-auth文件, 在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 选3种,追加到password requisite pam_cracklib.so后面,添加到配置文件中。
例如:password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1
注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数
二、密码过期和长度要求
修改/etc/login.def
PASS_MAX_DAYS 90 //最大口令使用日期
PASS_MIN_DAYS 10 //最小口令使用日期
PASS_MIN_LEN 8 //最小口令长度
PASS_WARN_AGE 5 //口令过期前警告天数
1.2.3 在应用部署之前需要按要求建好管理账户,做好应用目录的规划与权限设计,使用指定用户启动指定应用。
一、删除空账号
awk -F: '($2 == "") { print $1 }' /etc/shadow 检查空口令帐号,如果有空账号删除空账号
awk -F: '($3 == 0) { print $1 }' /etc/passwd 检查UID为0的帐号,如果UID为0删除
1.2.1 设置不活动用户登录超时自动退出登录并断开ssh连接。
在/etc/profile 后面添加
export TMOUT=1800
1.2.5 设置HISTORYFILESIZE和HISTSIZE。
找到/etc/bashrc文件末尾添加
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
export HISTTIMEFORMAT
1.2.6 调整文件描述符。
找到/etc/security/limits.conf文件末尾添加
* soft nofile 655350
* hard nofile 655350
1.2.7 关闭SELinux。
临时关闭:setenforce
永久关闭:找到/etc/sysconfig/selinux文件把SELINUX=enable改为SELINUX=disabled
1.2.8 使用或禁用防火墙。
systemctl stop firewalld
systemctl disable firewalld
1.2.9 设置NTP时间同步。
ntpdate time.ntp.org
1.2.10 锁定关键系统文件,防止被提权篡改。
上锁:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
解锁:chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
1.2.11 清除多余的系统虚拟账号。
games、lp、ftp等。
1.2.12 一些服务器可以设置禁ping。
找到/etc/sysctl.conf文件,末尾添加
net.ipv4.icmp_echo_ignore_all = 1 #1禁止,0允许
防火墙设置:
允许ping设置 :
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
不允许ping:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
1.2.13 配置内部yum源或者国内yum源。
# 进入yum源配置文件所在文件夹
cd /etc/yum.repos.d/
# 备份本地yum源
mv CentOS-Base.repo CentOS-Base.repo_bak
# 获取国内yum源(阿里、163二选一)
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 清理yum缓存
yum clean all
# 重建缓存
yum makecache
# 升级Linux系统
yum -y update
1.2.14 优化Linux内核参数(谨慎操作)。
1.2.15 禁止显示内核版本及系统版本信息。
清除/etc/issue 和 /etc/redhat-release文件的内容