Linux系统安全配置手册最新版v12322.docx
《Linux系统安全配置手册最新版v12322.docx》由会员分享,可在线阅读,更多相关《Linux系统安全配置手册最新版v12322.docx(19页珍藏版)》请在冰豆网上搜索。
Linux系统安全配置手册最新版v12322
运维部Linux系统安全配置手册
2012年3月22日
目录
第1章Linux安全配置步骤简述3
1.删除系统特殊的的用户帐号:
======================================================================#为删除你系统上的用户,用下面的命令:
[root@c1gstudio]#userdelusername3
2.删除系统特殊的组帐号3
3.用户密码设置3
4.修改自动注销帐号时间4
5.限制Shell命令记录大小#vi/etc/profile4
6.注销时删除命令记录4
7.用下面的命令加需要的用户组和用户帐号4
8.阻止任何人su作为root4
9.修改ssh服务的root登录权限5
10.修改ssh服务的sshd端口5
11.关闭系统不使用的服务:
5
12.阻止系统响应任何从外部/内部来的ping请求8
12.修改“/etc/host.conf”文件8
13.不允许从不同的控制台进行root登陆10
15.禁止Control-Alt-Delete键盘关闭命令11
16.用chattr命令给下面的文件加上不可更改属性。
11
17.给系统服务端口列表文件加锁11
17.系统文件权限修改11
18.增加dns12
19.hostname修改12
20.selinux修改12
21.关闭ipv613
22.设置iptables13
linux调整系统时区/时间的方法13
增加网易yum源14
安装ntpd14
设置语言14
tmpwatch定时清除15
安装fail2ban15
第1章Linux安全配置步骤简述
1.删除系统特殊的的用户帐号:
======================================================================
#为删除你系统上的用户,用下面的命令:
[root@c1gstudio]#userdelusername
1.foriinadmlpsyncshutdownhaltmailnewsuucpope
2.ratorgamesgopherftp;douserdel$i;done
======================================================================
2.删除系统特殊的组帐号
[root@c1gstudio]#groupdelgroupname
#批量删除方式
1.foriinadmlpmailnewsuucpgamesdippppuserspop
2.usersslipusers;dogroupdel$i;done
======================================================================
3.用户密码设置
#vi/etc/login.defs
1.PASS_MAX_DAYS60##密码设置最长有效期(默认值)
2.PASS_MIN_DAYS0##密码设置最短有效期
3.PASS_MIN_LEN8##设置密码最小长度,将5改为8
4.PASS_WARN_AGE7##提前多少天警告用户密码即将过期。
#passwdroot
NewUNIXpassword:
RetypenewUNIXpassword:
passwd:
allauthenticationtokensupdatedsuccessfully.
======================================================================
4.修改自动注销帐号时间
vi/etc/profile
1.TMOUT=300
======================================================================
5.限制Shell命令记录大小
#vi/etc/profile
1.HISTSIZE=30
======================================================================
6.注销时删除命令记录
1.rm-f$HOME/.bash_history
======================================================================
7.用下面的命令加需要的用户组和用户帐号
[root@c1gstudio]#groupadd
[root@c1gstudio]#useraddusername–gwebsite//添加用户到website组(作
[root@c1gstudio]#passwdusername
======================================================================
8.阻止任何人su作为root
#vi/etc/pam.d/su
1.authsufficient/lib/security/$ISA/pam_rootok.sodebug
2.authrequired/lib/security/$ISA/pam_wheel.sogroup=website
======================================================================
9.修改ssh服务的root登录权限
#vi/etc/ssh/sshd_config
1.PermitRootLoginyes
将这行前的#去掉后,修改为:
1.PermitRootLoginno
10.修改ssh服务的sshd端口
#vi/etc/ssh/sshd_config
#增加修改
1.#Port22#关闭22端口
2.Port6022#增加6022端口
#重启sshd服务
1.servicesshdrestart
1.netstat-lnp|grepssh
#iptables开放sshd的6022端口
1.vi/etc/sysconfig/iptables
1.#如果使用redhat默认规则则增加
2.-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport6022-jACCEPT
3.#或
4.iptables-AINPUT-ptcp--dport6022-jACCEPT
5.iptables-AOUTPUT-pudp--sport6022-jACCEPT
1.serviceiptablesrestart
Linux操作系统下SSH默认22端口修改方法
======================================================================
11.关闭系统不使用的服务:
psaux|wc-l
netstat-na--ip
批量方式
先停止服务
1.foriinacpidanacronapmdatdauditdautofsavahi-daemonavahi-dnsconfdbluetoothcpuspeedcupsdhcpdfirstbootgpmhaldaemonhiddip6tablesipsecisdnkudzulpdmcstransmessagebusmicrocode_ctlnetfsnfsnfslocknscdpcscdportmapreadahead_earlyrestorecondrpcgssdrpcidmapdrstatdsendmai
2.lsetroubleshootsnmpdsysstatxfsxinetdyppasswddypservyum-updatesd;doservice$istop;done
关闭启动服务
1.foriinacpidanacronapmdatdauditdautofsavahi-daemonavahi-dnsconfdbluetoothcpuspeedcupsdhcpdfirstbootgpmhaldaemonhiddip6tablesipsecisdnkudzulpdmcstransmessagebusmicrocode_ctlnetfsnfsnfslocknscdpcscdportmapreadahead_earlyrestorecondrpcgssdrpcidmapdrstatdsendmai
2.lsetroubleshootsnmpdsysstatxfsxinetdyppasswddypserv
3.以下为手动方式及解释,执行批量方式后不需再执行了
chkconfig--level345apmdoff##笔记本需要
chkconfig--level345netfsoff##nfs客户端
chkconfig--level345yppasswddoff##NIS服务器,此服务漏洞很多
chkconfig--level345ypservoff##NIS服务器,此服务漏洞很多
chkconfig--level345dhcpdoff##dhcp服务
chkconfig--level345portmapoff##运行rpc(111端口)服务必需
chkconfig--level345lpdoff##打印服务
chkconfig--level345nfsoff##NFS服务器,漏洞极多
chkconfig--level345sendmailoff##邮件服务,漏洞极多
chkconfig--level345snmpdoff##SNMP,远程用户能从中获得许多系统信息
chkconfig--level345rstatdoff##避免运行r服务,远程用户可以从中获取很
chkconfig--level345atdoff##和cron很相似的定时运行程序的服务
chkconfigcupsoff#打印机
chkconfigbluetoothoff#蓝牙
chkconfighiddoff#蓝牙
chkconfigip6tablesoff#ipv6
chkconfigipsecoff#vpn
chkconfigauditdoff#用户空间监控程序
chkconfigautofsoff#光盘软盘硬盘等自动加载服务
chkconfigavahi-daemonoff#主要用于ZeroConfigurationNetworking,一般没什么用建议关闭
chkconfigavahi-dnsconfdoff#主要用于ZeroConfigurationNetworking,同上,建议关闭
chkconfigcpuspeedoff#动态调整CPU频率的进程,在服务器系统中这个进程建议关闭
chkconfigisdnoff#isdn
chkconfigkudzuoff#硬件自动监测服务
chkconfignfslockoff#NFS文档锁定功能。
文档共享支持,无需的能够关了
chkconfignscdoff#负责密码和组的查询,在有NIS服务时需要
chkconfigpcscdoff#智能卡支持,,如果没有可以关了
chkconfigyum-updatesdoff#yum更新
chkconfigacpidoff
chkconfigautofsoff
chkconfigfirstbootoff
chkconfigmcstransoff#selinux
chkconfigmicrocode_ctloff
chkconfigrpcgssdoff
chkconfigrpcidmapdoff
chkconfigsetroubleshootoff
chkconfigxfsoff
chkconfigxinetdoff
chkconfigmessagebusoff
chkconfiggpmoff#鼠标
chkconfigrestorecondoff#selinux
chkconfighaldaemonoff
chkconfigsysstatoff
chkconfigreadahead_earlyoff
chkconfiganacronoff
需要保留的服务
1.crond,irqbalance,microcode_ctl,network,sshd,syslog
chkconfig
======================================================================
12.阻止系统响应任何从外部/内部来的ping请求
/etc/rc.d/rc.local
echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all
#这个可以不做哈
======================================================================
12.修改“/etc/host.conf”文件
“/etc/host.conf”
vi/etc/host.conf:
#LookupnamesviaDNSfirstthenfallbackto/etc/hosts.
orderhosts,bind
#WehavemachineswithmultipleIPaddresses.
multion
#CheckforIPaddressspoofing.
nospoofon
RPM包完整性检测
rpm-Vpackage_name_to_verify
rpm-Vsendmail
[root@fubar/root]#rpm-Vsendmail
S.5....Tc/etc/aliases
missing/etc/mail/ip_allow
S.5....Tc/etc/mail/relay_allow
S.5....Tc/etc/sendmail.cf
S.5....Tc/etc/sendmail.cw
S.5....T/usr/sbin/sendmail
S.5....T/var/log/sendmail.st
[root@fubar/root]#
么校验失败的原因,具体解释如下:
S=大小改变
M=权限改变
5=MD5改变
L=连接改变
D=设备改变
U=用户改变
G=组改变
T=日期和时间改变
missing=文件丢失
rpm-Va>/root/rpm_chk.txt&
[root@fubar/root]#rpm-qf/usr/sbin/sendmail
sendmail-8.8.7-20
[root@fubar/root]#rpm-qf/sbin/.vile_stuff
file/sbin/.vile_stuffisnotownedbyanypackage
[root@fubar/root]#rpm-Vrpm
[root@fubar/root]#pm-Va>/root/rpm_chk.txt&
======================================================================
13.不允许从不同的控制台进行root登陆
"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。
你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加“#”标志,来禁止从该TTY设备进行root登陆。
在/etc/inittab文件中有如下一段话:
#Rungettysinstandardrunlevels
1:
2345:
respawn:
/sbin/mingettytty1
2:
2345:
respawn:
/sbin/mingettytty2
#3:
2345:
respawn:
/sbin/mingettytty3
#4:
2345:
respawn:
/sbin/mingettytty4
#5:
2345:
respawn:
/sbin/mingettytty5
#6:
2345:
respawn:
/sbin/mingettytty6
====================================
15.禁止Control-Alt-Delete键盘关闭命令
在"/etc/inittab"文件中注释掉下面这行(使用#):
ca:
:
ctrlaltdel:
/sbin/shutdown-t3-rnow
改为:
#ca:
:
ctrlaltdel:
/sbin/shutdown-t3-rnow
为了使这项改动起作用,输入下面这个命令:
#/sbin/initq
======================================================================
16.用chattr命令给下面的文件加上不可更改属性。
[root@c1gstudio]#chattr+i/etc/passwd
[root@c1gstudio]#chattr+i/etc/shadow
[root@c1gstudio]#chattr+i/etc/group
[root@c1gstudio]#chattr+i/etc/gshadow
======================================================================
17.给系统服务端口列表文件加锁
chattr+i/etc/services
【查看方法:
lsattr/etc/services,撤销为chattr–i/etc/services】
======================================================================
17.系统文件权限修改
(1)修改init目录文件执行权限:
chmod-R700/etc/init.d/*(递归处理,owner具有rwx,group无,others无)
(2)修改部分系统文件的SUID和SGID的权限:
chmoda-s/usr/bin/chage
chmoda-s/usr/bin/gpasswd
chmoda-s/usr/bin/wall
chmoda-s/usr/bin/chfn
chmoda-s/usr/bin/chsh
chmoda-s/usr/bin/newgrp
chmoda-s/usr/bin/write
chmoda-s/usr/sbin/usernetctl
chmoda-s/usr/sbin/traceroute
chmoda-s/bin/mount
chmoda-s/bin/umount
chmoda-s/sbin/netreport
(3)修改系统引导文件
chmod600/etc/grub.conf
chattr+i/etc/grub.conf
【查看方法:
lsattr/etc/grub.conf,撤销为chattr–i/etc/grub.conf】
======================================================================
18.增加dns
#vi/etc/resolv.conf
1.nameserver8.8.8.8#googledns
2.nameserver8.8.4.4
======================================================================
19.hostname修改
#注意需先把mysql、postfix等服务停了
1.hostnameservername
2.vi/etc/sysconfig/network
servicenetworkrestart
3.vi/etc/hosts
======================================================================
20.selinux修改
开启selinux可以增加安全性,但装软件时可能会遇到一些奇怪问题
以下是关闭方法
#vi/etc/selinux/config
改成disabled
======================================================================
21.关闭ipv6
1.echo"aliasnet-pf-10off">>/etc/modprobe.conf
2.echo"aliasipv6off">>/etc/modprobe.conf
#vi/etc/sysconfig/network
1.NETWORKING_IPV6=no
重启服务
Serviceip6tablesstop
Servicenetworkrestart
关闭自动启动
chkconfig--level235ip6tablesoff
======================================================================
22.设置iptables
iptables默认安全规则脚本
======================================================================
linux调整系统时区/时间的方法
1)
cp–i/usr/share/zoneinf