Centos系统安全设置

这篇具有很好参考价值的文章主要介绍了Centos系统安全设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 设置密码复杂度,帐号密码有效期3个月

密码复杂度要求:最小长度8位,至少2位大写字母,1位小写字母,4位数字,1位特殊字符

1)执行备份:

#cp -p /etc/login.defs /etc/login.defs_bak

#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

2)修改策略设置:

(1)密码有效期:

#vi /etc/login.defs

修改PASS_MIN_LEN的值为8

修改PASS_MAX_DAYS的值为90

保存退出

(2)密码复杂度

#vi /etc/pam.d/system-auth

将文件中的下面两行:

password    requisite     pam_cracklib.so try_first_pass retry=3 type=

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

改为:

password    requisite     pam_cracklib.so try_first_pass retry=5 type= minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1

password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok

  • retry=5 定义登录/修改密码失败时,可以重试的次数;
  • type=xxx 当添加/修改密码时,系统给出的缺省提示符是什么,用来修改缺省的密码提示文本。默认是不修改的,如上例。
  • minlen=8 定义用户密码的最小长度为8位
  • ucredit=-2 定义用户密码中最少有2个大写字母 (数字为负数,表示至少有多少个大写字母;数字为正数,表示至多有多少个大写字母;下面同理)
  • lcredit=-1 定义用户密码中最少有1个小写字母
  • dcredit=-4 定义用户密码中最少有4个数字
  • ocredit=-1 定义用户密码中最少有1个特殊字符(除数字、字母之外)

2 登录失败5次锁定帐号5分钟

1)备份

#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak2

#cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

2)修改

#vi /etc/pam.d/system-auth

auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300

#vi /etc/pam.d/sshd

auth       required     pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300

3 闲时5分钟无操作,自动退出会话

1)执行备份:

#cp -p /etc/profile /etc/profile_bak

2)在/etc/profile文件修改:

#vi /etc/profile

export TMOUT=300

保存退出,刷新

#source /etc/profile

4 不进行历史记录

1) 在/etc/profile文件修改:

#vi /etc/profile

export HISTSIZE=0

保存退出,刷新

#source /etc/profile

 5 日志保存时间设为6个月

1)备份

#cp /etc/logrotate.conf /etc/logrotate.conf.bak

2)修改文件

编辑/etc/logrotate.conf文件

  1. weekly下的rotate 4改为rotate 24,表示6个月;#系统默认日志保存时间为4周
  2. 将指定文件的monthly下的rotate 1改为rotate 6,表示6个月

Centos系统安全设置,信息安全,centos,系统安全,linux

保存退出,重启日志服务

#service rsyslog restart

6 远程连接白名单

第一种 用户白名单/黑名单

1)备份

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

2)修改/etc/ssh/sshd_config

#vi /etc/ssh/sshd_config

#仅允许特定用户

AllowUsers user1

#仅允许特定用户特定IP

AllowUsers user1@10.10.10.1

#禁止某个用户

DenyUsers user2

保存退出

重启服务

#systemctl restart sshd

第二种 IP白名单

1)备份

cp etc/hosts.deny etc/hosts.deny.bak

cp /etc/hosts.allow /etc/hosts.allow.bak

2)编辑 /etc/hosts.deny

 vi /etc/hosts.deny

添加

sshd:ALL  #先禁止所有IP登录

3)编辑 /etc/hosts.allow

vi /etc/hosts.allow

#添加允许的IP,多个用逗号隔开

sshd:10.133.20.21,10.138.20.22,10.133.48.136:allow

或者下面这种格式

sshd:192.168.0.1/24,192.168.0.,192.168.1.:allow

无需重启ssh

 

7 删除多余帐号

1)检查设备存在非系统内置可登录账号;

2)检查设备不存在常见的test、admin、ceshi等账号;

3)检查设备不存在常见的厂商命名账号,如xjwh、tywh等;

建议,默认系统用户uid中,root为0;系统用户为1-999;普通用户为1000-65535;应保证只有root用户的uid为0,并检查有无其他可疑账户,及时进行删除或禁用。

(1)检查账号

cat /etc/passwd

awk -F':' '{ print $1 $3}' /etc/passwd

(2)删除账号

userdel 用户名  #仅删除用户

userdel -r 用户名  #删除用户和目录

8 删除多余服务

以下服务都需要关闭:

amanda chargen chargen-udp cups cups-lpd daytime daytime-udp echo echo-udp eklogin ekrb5-telnet finger gssftp imap imaps ipop2 ipop3 klogin krb5-telnet kshell ktalk ntalk rexec rlogin rsh rsync talk tcpmux-server telnet tftp time-dgram time-stream uucp;  

(1)#chkconfig --list

(2)禁止非必要服务:#chkconfig [service] off

        开启服务为:#chkconfig [service] on

禁用135,137,138,139,21,23,25,445,3389,6000,177,514等端口

(1)查看端口

netstat -pantu

(2)查看端口对应服务

lsof -i :22

cat /etc/services | grep -w 22

(3)chkconfig --list |grep ssh (过滤出ssh服务)

(4)关闭服务

service sshd stop

systemctl stop sshd

并且设置此服务为开机不启动:

chkconfig sshd off

9 开启关键文件审计

1)查看和开启auditd

#service auditd status

#service auditd start

2)查看enable 是否为1

#auditctl -s

所有的审计日志会记录在/var/log/audit/audit.log文件中,配置信息在/etc/audit/auditd.conf

3)审计指定文件

(1)临时添加规则

auditctl -w path -p permission -k key_name

  1. path为需要审计的文件或目录
  2. 权限可以是r,w,x,a(r为读,w为写,x为执行,a代表文件或目录的属性发生变化)
  3. key_name为可选项,方便识别哪些规则生成特定的日志项
    1. 设置规则所有对passwd文件的写、属性修改操作都会被记录审计日志
    2. # auditctl -w /etc/passwd -p wa -k passwd_change
    3. 设置规则,监控/etc/selinux目录
    4. # auditctl -w /etc/selinux/ -p wa -k selinux_change
    5. 设置规则,监控fdisk程序
    6. # auditctl -w /usr/sbin/fdisk -p x -k disk_partition

(2)永久添加规则

备份文件

#cp /etc/audit/audit.rules /etc/audit/audit.rules.bak

(3)编辑文件

# vim /etc/audit/rules.d/audit.rules

-w /etc/passwd -p wa -k passwd_changes

-w /usr/sbin/fdisk -p x -k partition_disks

(4)重启服务

service auditd restart

auditctl -l 查看定义的规则

10 设置三权分立帐号

管理员帐号,安全员帐号,审计员帐号

1)管理员帐号

(1)添加用户

useradd sysadmin

passwd sysadmin

(2)创建组

groupadd sysgroup

usermod -G sysgroup sysadmin

(3)授予权限

chown -R sysadmin:sysgroup /

2)安全员帐号

useradd secadmin

passwd secadmin

chown -R secadmin:secadmin /etc

chmod 700 /etc

3)审计员帐号

useradd auditadmin

passwd auditadmin

vi /etc/sudoers后编辑插入以下内容:

auditadmin     ALL = (root) NOPASSWD: /usr/bin/cat , /usr/bin/less , /usr/bin/more , /usr/bin/tail , /usr/bin/head

Centos系统安全设置,信息安全,centos,系统安全,linux

chown -R auditadmin:auditadmin /var/log

chmod 700 /var/log文章来源地址https://www.toymoban.com/news/detail-806271.html

chmod 700 /var/log

到了这里,关于Centos系统安全设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Centos】系统信息

    2024年02月13日
    浏览(19)
  • Linux CentOS7设置时区

    在Linux系统中,默认使用的是UTC时间。 即使在安装系统的时候,选择的时区是亚洲上海,Linux默认的BIOS时间(也称:硬件时间)也是UTC时间。 在重启之后,系统时间会和硬件时间同步,如果两者不一致,会以硬件时间为标准进行时间的校准。所以,之前设置的时区和时间就失

    2024年02月04日
    浏览(36)
  • 设置linux centos7连接网络

    在虚拟机上安装centos7系统后,首要任务就是设置网络。 多种方法都可以达到要求,如配置网卡文件,执行nmtui命令。 长期使用Windows系统的人,对单击、双击比较熟悉,初学linux,对命令行还有一定生疏,直接进行命令行操作十分困难,难免出错! 对于初学者,推荐图形化操

    2024年02月07日
    浏览(36)
  • CentOS系统环境搭建(二)——Centos7设置时间为网络时间

    centos系统环境搭建专栏🔗点击跳转 安装ntpdate工具 关闭ntpd 设置系统时间与网络时间同步 将系统时间写入硬件时间 启动 NTP 服务 开机自启动 验证时间同步 查看系统的硬件时间,即BIOS时间 使用date命令查看Centos时区 通常通过以下方法修改系统的时区就可以了,不必修改硬件

    2024年02月12日
    浏览(38)
  • 设置Linux CentOS7桥接模式连网

    在虚拟机上安装centos7系统后,首要任务就是设置网络。 我们在文章《设置linux centos7连接网络》中讨论了如何设置NAT模式连网。本文讨论如何在设置好NAT模式后,调换为桥接模式。 仍采用图形化方式设置。 把虚拟机设置为桥接模式,就是设置物理机与虚拟机处于同一网段,

    2024年02月09日
    浏览(37)
  • [运维|系统] Centos设置本地编码

    以下是在CentOS上更改系统编码的一般步骤: 使用locale命令查看当前的系统编码: 如果需要更改系统编码,可以使用类似下面的命令来生成相应的locale设置(以UTF-8为例): 这会生成UTF-8编码的英文(美国)环境,并更新系统的locale设置。 使用localectl命令更新系统的默认编码设置

    2024年02月14日
    浏览(35)
  • 华纳云:centos系统中怎么查看cpu信息?

    在CentOS系统中,我们可以使用一些命令来查看CPU的详细信息。下面介绍几个常用的命令: 1. lscpu lscpu命令可以显示CPU的架构、型号、核心数、线程数、频率等信息。 # lscpu 执行以上命令后,会输出类似以下内容: 2. cat /proc/cpuinfo 通过cat命令读取/proc/cpuinfo文件,可以获取更详

    2024年02月05日
    浏览(53)
  • LINUX中文输入法设置(CentOs7)

    一、中文界面设置中文输入法  1、鼠标点击【Applications】——【System Tools】——【Seetings】 2、点击【Region Language】,在点击右方的【+】 3、 在跳出的界面中点击【Chinese(China)】 4、点击【Chinese(Intelligent Pinyin)】,在点击右上方【Add】   5、设置中文输入法    按键【shift】切换

    2024年02月04日
    浏览(42)
  • centos系统设置runlevel为5

    在 CentOS 系统中,可以使用以下步骤将运行级别(runlevel)设置为 5: 1. 打开终端或 SSH 连接到 CentOS 服务器。 2. 以 root 用户身份登录。 3. 运行以下命令来编辑 `/etc/inittab` 文件: ```shell sudo vi /etc/inittab ``` 4. 在打开的文件中找到 `id:3:initdefault:` 这一行。这表示当前的运行级别为

    2024年01月18日
    浏览(48)
  • CentOS 7 设置系统时间的方法

    CentOS 7 设置系统时间的方法分享。 一、设置系统时间为中国时区并启用NTP同步 二、硬件时钟和系统时钟 1、 硬件时钟 RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。 2、系统时钟 一般在

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包