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 |
|