返回首页 我的新博客

CentOS系统安全的简单配置

1, 最小化安装:
在安装centos系统的时候选择定制安装,不安装图形化界面、根据自己的情况选择安装的服务或者一个都不安装,等安装完了以后自行安装、选择软件编译安装所需的工具和库等。
2, 安装系统补丁:
建议使用centos自带的yum工具来安装
[ root@localhost ~]# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
[root@localhost ~]# yum update
3, 帐号和登录安全:
Root用户设置强密码;
新建一个非管理员帐号;
禁止root用户直接ssh登录、更改ssh默认端口;
[root@localhost ~]# vi /etc/ssh/sshd_config
第十四行处“ # Port 22”,去掉“#”,将22改成你要设置的ssh端口,比如22110;
再添加一行PermitRootLogin no,禁止root用户ssh登录。
4, 开启Linux防火墙,只开放应用端口。
开启centos防火墙,默认是开启的,禁用selinux;
最好自行设置防火墙策略,根据自己的应用开放相应的端口(下面的配置是状态检测防火墙)。
vi iptables_rule.sh
#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp –icmp-type any -j ACCEPT
iptables -A INPUT -p udp –dport 161 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m state –state NEW –dport 22110 -j ACCEPT
iptables -A INPUT -p tcp -m state –state NEW –dport 80 -j ACCEPT
保存推出后,设置iptables_rule.sh为可执行文件
[root@localhost ~]# ./iptable_rule.sh
[root@localhost ~]# servcie iptables save
5, 关闭一些不需要的服务,如:sendmail服务不需要的话可以关闭。

¥基本安全措施 
1.禁用系统中不用的用户和组
    passwd -l zhangsan (锁定账户)
    passwd -u zhangsan (解锁账户)
  或者直接修改shadow文件,在zhangsan用户的密码字符串前加“!”号。
2.确认程序或服务用户的登录Shell不可用
    usermod -s /sbin/nologin rpm
  或者直接修改passwd文件。
3.限制用户的密码有效期
    chage -M 30 zhangsan
  或者直接修改login.defs文件。
4.指定用户在下次登录时必须修改密码
    chage -M 0 zhangsan
5.限制用户密码的最小长度
    #vi /etc/pam.d/system-auth
  password  requisite  pam_cracklib.so try_first_pass retry=3 minlen=12
6.限制记录命令历史的条数
    #vi /etc/profile
  HISTSIZE=100
7.设置当前用户在注销登录后自动清空命令历史记录
    #echo "history -c" >> ~/.bash_logout
8.设置闲置超时自动注销终端
    #vi /etc/profile
  export TMOUT=600

  ¥使用su切换用户身份
*.允许zhangsan用户可以通过su命令切换为root身份,
*.禁止其他用户使用su命令切换用户身份
    #gpasswd -a zhangsan wheel
    #vi /etc/pam.d/su
  auth  required pam_wheel.so  use_uid

  ¥使用sudu提升执行权限
1.授权root用户Jerry可以以root用户的权限执行ifconfig命令
    #visudu
  Jerry       localhost=/sbin/ifconfig
2.设置用户、主机、命令三部分的自定义别名
  User_Alias      OPERATORS=jerry,tom,tsengyia
  Host_Alias      MAILSERVERS=smtp,pop
  Cmnd_Alias      SOFTWARE=/bin/rpm,/usr/bin/yum
3.通过别名定义一组命令,并授权tom可以使用改组命令
    #visudu
  Cmnd_Alias      SYSVCTRL=/sbin/service,/bin/kill,/bin/killall
  tom    localhost=SYSVCTRL
4.授权wheel组的用户不需验证密码即可执行所有命令
    #visudu
  %wheel      ALL=(ALL)        NOPASSWD:ALL
5.授权用户mike可以通过sudu调用/sbin和/usr/bin目录下的所有命令,但是禁止调用/sbin/ifconfig命令修改eth0参数,禁止调用/usr/bin/vim命令防止修改配置文件
    #visudu
  mike    localhost=/sbin/*,/usr/bin/*,!/sbin/ifconfig eth0,!/usr/bin/vim
6.为sudu启用日志
    #visudu
  Defaults  logfile = "/var/log/sudo"
    #vi /etc/syslog.conf
  local2.debug      /var/log/sudo
    #service syslog restart
*.因系统管理工作繁重,需要将用户账号管理工作交给专门的管理组成员负责
*。设立组账号"managers",授权组内的各成员用户可以添加、删除、更改用户账号
    #groupadd managers
    #gpasswd -M zhangsan,lisi managers
    #visudu
  Cmnd_Alias USERADM = /usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermod
  %managers localhost=USERADM

  ¥文件系统层次的安全优化
1.锁定不希望更改的文件
    #chattr +i /etc/service /etc/passwd /boot/grub.conf
2.解锁锁定的文件
    #chattr -i /etc/passwd

  ¥系统引导和系统安全优化
1.调整BIOS引导设置
2.防止用户通过CTRL+ALT+DEL热键重启系统
    #vi /etc/inittab
  #ca::/ctrlaltdel:/sbin/shutdown -t3 -r now
    #init q
3.GRUB引导菜单加密
    #vi /boot/grub/grub.conf
  password 123456
4.在grub.conf文件中设置md5加密的密码字串
    #grub-md5-crypt
5.即时禁止普通用户登录
    #touch /etc/nologin
6.控制服务器开放的tty终端
    #vi /etc/inittab
7.控制允许root用户登录的tty终端
    #vi /etc/securetty
  #tty2
  #tty3
8.更改系统登录提示,隐藏内核版本信息
    #vi /etc/issue
  welcome to server.
    #cp -f /etc/issue /etc/issue.net
9.使用pam_access认证控制用户登录地点
    禁止除了root以外的用户从tty1终端上登录系统
    #vi /etc/pam.d/login
  account required pam_access.so
    #vi /etc/security/access.conf
  - : ALL EXCEPT root : tty1
    禁止root用户从192.168.1.0/24、172.16.0.0/8网络中远程登录
    #vi /etc/pam.d/sshd
  account  required  pam_access.so
    #vi /etc/security/access.conf
  - : root : 192.168.1.0/24 172.16.0.0/8

posted @ 2011-08-11 12:18  buffer的blogs  阅读(442)  评论(0编辑  收藏  举报