谈谈企业--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 5和6上ntpd服务将自动退出,在RedHat Enterprise Linux Server 7上chronyd服务将忽略跳过
  • 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时进行轮换,保持最后4个log,可以通过/etc/audit/auditd.conf进行配置,修改如下选项:
  • num_logs = 4      #个数
  • max_log_file = 50  # 大小(MB)
  • l  默认情况下,审计日志为每20条flush一次,为了防止由于大量后台脚本运行产生的审计日志在频繁flush到磁盘,导致磁盘使用率过高(特别是没有cache直接落盘的RAID卡),所以需要修改flush模式为NONE。可以通过编辑audit配置文件/etc/audit/auditd.conf进行配置,修改如下选项:
  • flush = NONE

    具体审计配置请参照我博文的audit审计

  • 启动audit和syslog/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 5和6上:

# sed -i‘/^password[[:space:]]\{1,\}requisite[[:space:]]\{1,\}pam_cracklib.so/a\password    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 5和6上:

# 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之外UID为0的用户。

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

检查方法:

# 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/a\auth        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/i\account     required      pam_tally2.so‘ /etc/pam.d/system-auth-ac

# sed -i‘/auth[[:space:]]*required[[:space:]]*pam_env.so/a\auth        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/i\account     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

时间: 2024-10-17 12:17:40

谈谈企业--RedHat Linux操作系统安装配置规范的相关文章

linux 操作系统安装配置vnc

在运维的工作过程中,有时候需要我们用VNC去连接Linux服务器,比如:财务装个金蝶的财务软件,而且还要求放在机房.这个变态的软件在启动的时候,需要我们去点击它的图形界面去启动它.这时,VNC就派上用场了. 一.配置文件 # The VNCSERVERS variable is a list of display:user pairs. # # Uncomment the lines below to start a VNC server on display :2 # as my 'myuse

VMware虚拟机安装+Linux操作系统安装视频教程_Linux实验环境安装

VMware虚拟机安装+Linux操作系统安装视频教程_风哥版Linux实验环境安装 1.VMware虚拟机安装(VMWare Server+VMWare WorkStation) 2.VMware虚拟机配置 3.VMware虚拟机克隆 4.Linux操作系统安装配置 5.Linux操作系统虚拟机的多机克隆 视频学习地址: http://edu.51cto.com/course/course_id-3733.html

虚拟机软件及Linux操作系统安装操作步骤

虚拟机软件及Linux操作系统安装操作步骤 一.虚拟机软件的安装 在Windows系统系安装适合的Windows版本的VMware Workstation后,就可以在VMware Workstation上创建虚拟机了,之后运行创建的虚拟机即可在虚拟机上安装CentOS Linux操作系统的过程和在实际生产环境下安装是一样的. 1.创建一个VM虚拟机实践 1.1.创建一个新的虚拟机 1)虚拟机软件安装完毕后,双击桌面上的VMwareWorkstation图标或者在开始菜单里到VMware Work

Linux操作系统安装步骤(RHEL5)

使用VMware Workstation新建一台64位的虚拟机 1)启动"新建虚拟机"向导程序 在VMware Workstation软件中,通过菜单"文件"-->"新建虚拟机"打开"新建虚拟机向导"窗口,配置类型选"自定义(高级)",如图-1所示,单击"继续". 图-1 2)选择虚拟机的硬件兼容性 接受默认的Workstation 9.0,如图-2所示,单击"继续&qu

Linux操作系统安装步骤

一.Linux操作系统安装(图片形式) 安装前准备(安装Linux6.9和Linux7.3两个版本) ①安装VMware Workstation(虚拟机) ②系统镜像(mirrors.aliyun.com,可以到镜像站下载) Centos6.9安装 至此,下一步按着说明几个完成Linux操作系统安装. Centos7.3安装 至此,按着下一步下一步即可完成Linux操作系统安装.

Linux操作系统安装经验

目前,Linux的用途主要还是针对于企业级用户,那么企业用Linux干嘛? 那么讨厌的操作系统,敲不完的扯淡命令!废话,又不是给你拿回家打游戏的.因为Linux异常稳定,所以很多大中型企业都会采用Linux操作系统作为服务器系统. 好,问题来了! 既然是服务器,必然是不可能有图形界面的.并且在工作中,我们要保证服务器的存储空间和运行效率问题,这时候我们的安装配置就不能像在windows下那样随意了.这里大家注意一个原则,这是很多运维工程师工作多年积累的经验: 1.在服务器上安装Linux操作系统

基于linux操作系统安装、使用redis详解

服务端安装 Redis的官方下载站是http://redis.io/download,可以去上面下载最新的安装程序下来,我写此文章时的的稳定版本是2.6.11. 步骤一: 下载Redis 进入软件安装包存放目录:cd /var/install/software/ [[email protected] software]# wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz 步骤二: 编译源程序 [[email protected]

Ubuntu分支Linux操作系统安装Nvidia显卡驱动

一直以来,Linux分支系统使用过程中都有驱动适配麻烦,完全适配的驱动也不多.对于Nvidia显卡而言,一般Linux各分支操作系统虽然提供了N卡开源驱动工程Nouveau,但是性能上还是有待提高.下面说明下手动安装Nvida官网上的显卡驱动 第一步: 去Nvida驱动网页下载对应型号的显卡驱动,下载地址:http://www.geforce.cn/drivers,下载的一般为.run后缀的文件.下载完成后放在非中文目录下,为什么要放在非中文目录下呢,后面会有说明. 第二步: 同时按住ctrl+

hadoop伪分布式环境搭建:linux操作系统安装图解

本篇文章是接上一篇<新手入门篇:虚拟机搭建hadoop环境的详细步骤>,上一篇有人问怎么没写hadoop安装.在文章开头就已经说明了,hadoop安装会在后面写到,因为整个系列的文章涉及到每一步的截图,导致文章整体很长.会分别先对虚拟机的安装.Linux系统安装进行介绍,然后才会写到hadoop安装,关于hadoop版本我使用的是大快搜索三节点发行版DKhadoop.(三节点的DKHadoop发行版可以自己去大快网站页面下载,目前是开放所有权限的,也就是免费版本和付费版本的权限一样,不知道以后