加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX实操:RedHat Linux操作系统安装配置规范

发布时间:2020-12-13 17:34:49 所属栏目:Linux 来源:网络整理
导读:《LINUX实操:RedHat Linux操作系统安装配置规范》要点: 本文介绍了LINUX实操:RedHat Linux操作系统安装配置规范,希望对您有用。如果有疑问,可以联系我们。 1、谈谈规范的那些事 首先思考为什么要规范,规范有哪些好处、怎样去规范、规范可以避免哪些风险

《LINUX实操:RedHat Linux操作系统安装配置规范》要点:
本文介绍了LINUX实操:RedHat Linux操作系统安装配置规范,希望对您有用。如果有疑问,可以联系我们。

1、谈谈规范的那些事

  • 首先思考为什么要规范,规范有哪些好处、怎样去规范、规范可以避免哪些风险,当服务器超过几百上千台的时候,规范的重要性越发的尤为重要,废话不多说,浅谈下本身的规范文档.

    RedHat Linux操作系统安装设置装备摆设规范

  • 1.1? ? 版本选择

  • 依据应用的要求,并结合硬件类型,选择适当的操作系统版本.

  • 至本规范末了更新时,新安装操作系统允许使用的版本如下:

  • RedHatEnterprise Linux Server 6.4

  • RedHatEnterprise Linux Server 7.2

  • 软件包选择:操作体系安装的初始软件包选择建议如下

  • 软件包名称

    软件包阐明

    base()

    操作系统根基包

    compat-libraries()

    操作体系兼容性库包,提供对老版本软件的支持

    hardware-monitoring()

    硬件监控工具,提升系统定位才能

    large-systems()

    年夜型系统工具集包,提供cgroup等管理工具

    legacy-unix()

    Unix兼容性包

    performance()

    性能定位和监控对象,及时了解系统瓶颈

    ksh

    ksh,监控软件和传统unix对象依赖

    ftp

    ftp客户端,环境维护治理员使用

    telnet

    telnet客户端,环境维护治理员使用

  • l? VMware虚拟机中,须撤消VMware Tools配置项中的“在虚拟机和ESX Server操作系统之间进行时间同步.

  • l? 操作系统应开启时间同步服务,以进行时间同步,配置办法如下:

  • ? RedHat Enterprise Linux Server 6:

  • (1)? ?添加时钟同步服务器,在/etc/ntp.conf文件中增加如下设置装备摆设

  • ? ? ? ? ? ? ? server ?IP ?prefer

  • ? ? ? ? ? ? ? server IP

  • ? ? ? ? ? ? ? ?service ntpd restart

  • ? ? ? ? ? ? ? chkconfig ntpd on

  • 时间同步最大阀值应设置为500秒,服务器与时间服务器的时间误差跨越500秒时应停止同步,在RedHat Enterprise Linux Server 56ntpd服务将自动退出,在RedHat Enterprise Linux Server 7chronyd服务将忽略跳过

  • 1.2? ? 服务的配置

  • 为提高系统的稳定性,减少系统网络配置上的平安漏洞,如非特殊需要,建议关闭以下系统服务:

  • 服务名称

    服务描写

    cups

    打印服务

    postfix

    邮件服务(RHEL5上的邮件服务是sendmail)

    pcscd

    smart卡登录服务

    smartd

    磁盘监控服务,对付做过RAID的磁盘无效

    alsasound

    声卡服务

    iscsitarget

    iscsi target服务

    smb

    windows互拜访的文件服务

    acpid

    acpi高档电源管理服务

    iptables

    ipv4防火墙服务

    ip6tables

    ipv6防火墙服务

    firewall

    防火墙服务(RHEL7上才有的)

    ?

  • 命令光阴戳记录

  • /etc/bashrc文件中增加如下行:

  • export? HISTTIMEFORMAT="%F %T "

  • 1.3? ?ulimit设置

  • 不恰当的limit设置会导致系统或者应用程序运行出现差错,应对/etc/security/limits.conf配置文件中的参数进行设置,并将/etc/security/limits.d/90-nproc.conf配置文件中的以下行注释:

  • ?#*? ? ? ? ?soft? ?nproc? ? 1024

    ?

  • 配置文件/etc/security/limits.conf中主要参数的说明及配置值如下所示:

  • l? 应用法式core大小设置,为防止大量的core文件占用系统,建议应用法式core大小限制为100M以下,在配置文件中增加如下两行:

  • * soft core 102400

  • * hard core 102400

  • 1.4? ?体系敏感文件权限设置

  • # chmod 400 /etc/crontab

  • # chmod 400 /etc/securetty

  • # chmod 600 /boot/grub/grub.conf?

  • # chmod 600/boot/grub2/grub.cfg ? (仅针对RHEL7)

  • # chmod 600 /etc/inittab

  • # chmod 600/etc/login.defs

  • ?

  • 查看配置成果

  • ll /etc/crontab

  • ll /etc/securetty

  • ll /boot/grub/grub.conf

  • ll /etc/inittab

  • ll /etc/login.defs

  • 1.5? ? 日志审计策略配置

  • 1.? 统缺省已经开启syslog/rsyslog服务,禁止关闭.系统syslog/rsyslog服务会将所有系统日志自动记录到/var/log/messages文件中,系统日志永久保存.

  • 2.? 开启audit审计功效,可以监控指定用户或目录,缺省会监控root的所有登录和操作.

  • l? 添加规则到 /etc/audit/audit.rules(RHEL7/etc/audit/rules.d/audit.rules) 文件中,实现监控所有用户的登录行为,包括用户所有操作,以及shell脚本中的命令

  • -a?exit,always -F arch=b64 -S execve -k exec

  • -a exit,always -F arch=b32 -S execve -k exec

  • 添加后使用ausearch -k exec来列出用户操作的记载.

  • 1.? 配置audit日志,audit日志文件自动保留在/var/log/audit/目录中.

  • l? 每个log文件超过50M时进行轮换,坚持最后4log,可以通过/etc/audit/auditd.conf进行配置,修改如下选项:

  • num_logs = 4? ? ? #个数

  • max_log_file = 50? # 年夜小(MB)

  • l? 默认情况下,审计日志为每20flush一次,为了防止由于大量后台脚本运行产生的审计日志在频繁flush到磁盘,导致磁盘使用率过高(特别是没有cache直接落盘的RAID卡),所以必要修改flush模式为NONE.可以通过编辑audit配置文件/etc/audit/auditd.conf进行配置,serif; background: #ffff00; line-height: 125%;">flush = NONE

    具体审计设置装备摆设请参照我博文的audit审计

  • 启动auditsyslog/rsyslog服务,启动审计服务:

  • # service auditd start

  • # chkconfig auditd on

  • 1.6? ? 系统内核参数设置装备摆设

  • 编号

    默认值(如非特殊必要,不应修改)

    阐明

    1

    vm.min_free_kbytes = ?16384

    最小内存水平线,free内存低于此值,系统会强制回收内存.建议最大设置不要跨越:64000 KB.应使用默认值.

    最小值:128K,最年夜值:65536K

    2

    vm.vfs_cache_pressure = ?100

    vfs层cache保存倾向,> 100表示系统尝试多回收vfs cache,< 100表示系统尽量多保存vfs cache.

    3

    vm.dirty_ratio = 40

    Page cache达到40% total memory(含swap)时,系统测验考试将cache回写到磁盘,回收内存.

    4

    vm.page-cluster = 3

    每次写入swap的最小页面数,默认是2的3次方=8个页面.

    5

    (必要根据内存大小使用计算公式来计算,例如8G内存:)

    fs.file-max = 838860

    kernel允许的最大文件句柄数.系统启动时根据内存自动调节,打开一个文件大概必要1k,总数不应超过系统内存的10%:计算公式为:

    Max(N,NR_FILE)

    N=(mempages * 4)/10

    NR_FILE=4096

    例如内存为8G的设置为(8*1024*1024/4)*4/10=838860

    6

    kernel.shmmax

    共享内存的最大值,系统启动时根据内存自动调节,如非特殊必要,不应修改.此值最大设置为物理内存的90%.

    7

    kernel.shmmni = 4096

    共享内存的最小值,系统默认值为4096,不应修改.

    8

    kernel.core_uses_pid = 0(默以为1)

    kernel.core_pattern = corefile/core-%e

    应用法式core文件的命名设置,为防止应用法式生成大量core文件占用系统空间,应用法式core文件应设置为仅生成一个.其中core_pattern的路径可修改为其他路径.默认路径为应用用户家目录,且没有完全开启,如需完全开启,只需在应用用户家目录下创建corefile目录即可(但需注意home目录空间比应用法式所用内存要大).

    9

    kernel.sysrq = 1

    体系hung住时,可以使用Alt+Sysrq+c来收集vmcore

  • 注:以上设置选项在/etc/sysctl.conf中改动,执行: sysctl -p 生效.

  • 1.7? ?物理平安设置

  • 应禁止使用usb存储设备,防止物理usb设备引入木马文件.

# echo "install usb-storage /bin/true" >>/etc/modprobe.d/usb-storage.conf

?

必需禁止Control+Alt+Delete直接重启服务器:

?

# sed -i 's/^start oncontrol-alt-delete/#start on control-alt-delete/g' /etc/init/control-alt-delete.conf

? ? ? 1.8? ? 口令策略设置

口令繁杂度规定

暗码复杂性配置应满足如下要求

l? 暗码长度至少为8位,且含有如下字符类型中的四种:

? 英语年夜写字母 A,B,C,… Z

? 英语小写字母 a,b,c,… z

? 西方阿拉伯数字 0,1,2,… 9

? 非字母数字字符,如标点符号,@,#,$,%,&,*

l? 暗码历史为10次,是指修改口令时禁止使用最近10次已使用过的暗码口令(己使用过的口令会被保存在 /etc/security/opasswd 下面).

? RedHat Enterprise Linux Server 56:

# sed -i'/^password[[:space:]]{1,}requisite[[:space:]]{1,}pam_cracklib.so/apassword? ? required? ? ? pam_pwhistory.so use_authtok remember=10enforce_for_root' /etc/pam.d/system-auth-ac

口令有效期划定

所有用户应满足如下用户口令策略,对于其他用户,如无特殊要求,建议采纳.修改/etc/login.defs文件,修改如下参数的值:

l? PASS_MAX_DAYS? 90 (最历久限90天)

l? PASS_MIN_DAYS? 1 ? (最短刻日1天)

l? PASS_MIN_LEN? ? 8 ? (最少8个字符)

l? PASS_WARN_AGE? 7? (提前7天提示暗码修改)

? RedHat Enterprise Linux Server 56:

# sed -i"s/^(password[[:space:]]*requisite[[:space:]]*pam_cracklib.so).*/1try_first_pass retry=6 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1enforce_for_root/g" /etc/pam.d/system-auth-ac

?

2.1? ? UID 0用户设置

系统应制止除root用户及qadmsom之外UID0的用户.

系统中每一个用户都被分配一个用户ID号,ID 号为 0 是为 root 保留的,UID 1-499 是为系统其它预定义的帐号保留的,UID0拥有系统的最高特权,为了系统平安需要封存root账号,采用qadmsom账户进行日常管理,应保证只有rootqadmsom用户的UID0.

检查办法:

# awk -F: '($3 == 0) {print $1 }' /etc/passwd

返回值包含“root”和“qadmsom”以外的条目,则应修正.

?

2.2? ?系统登录平安设置

? ? 针对系统登录进行加固,提升系统平安性.具体修改如下:

l? 避免记录不存在用户的登录信息,避免用户误输入导致暗码泄露

# echo"LOG_UNKFAIL_ENAB? ? ? ? yes">> /etc/login.defs

l? 配置用户暗码尝试次数为6次,超过6次后用户锁定,避免暴力破解

# echo"LOGIN_RETRIES? ? ? ? ? 6" ?>> /etc/login.defs

l? 记录用户上次登录时间,用户登录时赐与提示

# echo "LASTLOG_ENAB? ? ? ? ? yes" >> /etc/login.defs

?

?

2.3? ? 系统全局PROFILE平安设置

l? 配置系统超时自动退出,建议配置成300

# echo "exportTMOUT=300" >> /etc/profile

l? 配置命令汗青记录条数为5000

# echo "exportHISTFILESIZE=5000 " >> /etc/profile

l? 连续6次输错暗码禁用一段时间,建议配置成300

? ?

RedHat Enterprise Linux Server 6:

# sed -i'/auth[[:space:]]*required[[:space:]]*pam_env.so/aauth? ? ? ? required? ? ? pam_tally2.so onerr=fail deny=6unlock_time=300 even_deny_root root_unlock_time=300' /etc/pam.d/system-auth-ac

sed -i '/account[[:space:]]*required[[:space:]]*pam_unix.so/iaccount? ? required? ? ? pam_tally2.so' /etc/pam.d/system-auth-ac

sed -i'/auth[[:space:]]*required[[:space:]]*pam_env.so/aauth? ? ? ? required? ? ? pam_tally2.so onerr=fail deny=6unlock_time=300 even_deny_root root_unlock_time=300'/etc/pam.d/password-auth-ac

sed -i'/account[[:space:]]*required[[:space:]]*pam_unix.so/iaccount? ? required? ? ? pam_tally2.so'/etc/pam.d/password-auth-ac

l? 用户默认的umask值为022,不该修改

?

2.4? ? 删除rhost相关高风险文件

rcp,rsh,rlogin等长途拷贝和登录命令会使用rshost相关文件,这些命令存在较高风险,应禁止使用,并在实际使用中用scp,ssh等命令替代.其相关配置文件应该删除.

? ? ? ? 删除敕令如下:

# rm? /root/.rhosts ?/root/.shosts ?/etc/hosts.equiv ?/etc/shosts.equiv

?

如非特殊需要,应用管理员需要以应用账号登陆,需要使用特权指令时,使用sudo权限.使用以下办法来配置sudo权限:

# visudo

例如:赋予Oracle用户使用fdisk敕令的权限,在visudo敕令打开的配置文件最后添加:

#创立alias PRIVUSERS 然后添加 sudo 用户oracle,这样可以使多个用户有相同的权限

User_AliasPRIVUSERS = oracle

alias PRIVSERVICES 这样便于以后可以添加多个命令

Cmnd_AliasPRIVSERVICES = /sbin/fdisk

#指定之前创立的alias给指定的用户/用户组

PRIVUSERSALL=(ALL) PRIVSERVICES

sudo使用办法:

oracle用户在运行命令前加sudo,然后输入oracle用户的暗码(非root暗码)

oracle$sudo /sbin/fdisk -l

本文永远更新链接地址

编程之家PHP培训学院每天发布《LINUX实操:RedHat Linux操作系统安装配置规范》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读