linux系统安全详解.doc

上传人:sk****8 文档编号:3551945 上传时间:2019-06-04 格式:DOC 页数:10 大小:62KB
下载 相关 举报
linux系统安全详解.doc_第1页
第1页 / 共10页
linux系统安全详解.doc_第2页
第2页 / 共10页
linux系统安全详解.doc_第3页
第3页 / 共10页
linux系统安全详解.doc_第4页
第4页 / 共10页
linux系统安全详解.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、linux 系统安全详细设置一、BIOS 安全(硬件上的安全)1.最基本最简单的安全配置,保障计算机硬件配置等不被别人更改。给 BIOS 设置密码,防止改变启动顺序从软盘或光盘启动。防止特殊的启动盘启动用户的系统,进入rescue 或其他模式,改变或删除当前配置等。2.禁止使用 ctrl+alt+delete 重起机器编辑/etc/inittab 文件,注释掉下面一行.ca:ctrlaltdel:/sbin/shutdown -t3 -r now改成:(使用#)# ca:ctrlaltdel:/sbin/shutdown -t3 -r now二、帐号安全口令是系统的第一道防线,目前大多数攻击都

2、是从截获口令或猜测口令等口令攻击开始的。/etc 目录下主要存放系统的配置文件,应对这个目录下的几个文件进行修改。1./etc/login.defs 文件是 login 程序的配置文件,口令的长度和口令的有效期等可以在这里设置。root # vi /etc/login.defs.PASS_MAX_DAYS 9999 密码被用最多天数PASS_MIN_DAYS 0 密码被用最少天数PASS_MIN_LEN 5 系统默认密码长度 5,我们可以该成 8 或更多.PASS_WARN_AGE 7 密码有效期警告,超过 7 天将提示用户更换新的密码.2./etc/profile 文件是环境变量设置文件。在

3、此文件设置环境变量将对所有用户生效。我们要在此文件设置自动注销帐户的时间及命令的历史记录数。roottp # vi /etc/profile.HOSTNAME=/bin/hostnameHISTSIZE=1000 这里 1000 代表用户操作命令的历史记录,应尽量小一些,设置成 0 也可以。tmout=600 添加此行,如果系统用户在 600 秒(10 分钟)内不做任何操作,将自动注销这个用户。3./etc/passwd 文件存放系统用户名,用户标识(UID),组标识(GID)等的地方。我们要在这里找到并清除没有设置口令的用户,同时还要清除一些特别帐号(因为可能会存在潜在的危险)。roottp

4、 # vi /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin.wh:500:501:/home/wh:/bin/bash仔细观察上面的一行(wh 用户),在第二项,两个冒号中间什么都没有,而上面的的用户(如 root 用户)都是 x,这表明此用户没有密码,要么添加密码,要么删掉。4.特别帐号的处理如果不启动用 sendmail,删除如下用户roottp wh# userdel admroottp wh# userdel lproottp wh# userdel syncroottp wh# us

5、erdel shudownroottp wh# userdel haltroottp wh# userdel mail如果不用 X windows 服务器.可有删除roottp wh# userdel newsroottp wh# userdel uucproottp wh# userdel operatorroottp wh# userdel games如果不允许匿名 FTP 帐号登陆,可删除roottp wh# userdel gopherroottp wh# userdel ftp三、重要文件的安全设置.首先要了解两个命令1.chmod:改变文件的属主2.chattr:改变文件属性我们要

6、做的是将与安全相关的重要文件的所有者改成 root,并给相应的权限,还有就是改变文件的属性让它禁止被修改。以下是与安全相关的重要文件:(其实,只要是不想让其他用户更改的文件都可以这么做)1./etc/passwd,passwd-,passwd.OLD,group,group- 用户,组的 ID 等信息文件.2./etc/shadow,shadow-,gshadow,gshadow- 用户,组密码加密文件.3./etc/xinetd.conf 网络守护进程主配置文件4./etc/inittab 系统在启动是会读取这个文件里的内容.5./etc/services 防止未经许可的删除或添加服务6./

7、etc/rc.d/rc.sysinit 系统启动是需要读取的文件,7./etc/rc.d/init.d/* 以一个文件为例,其它都一样roottp etc# chattr +i passwd当 chattr +i 时就是禁止对文件进行修改,当我们要添加用户时,就会有麻烦,因为passwd 文件禁止修改写入.所以我们还要改掉它的属性.chattr i。修改文件的所有者的命令是 chown。四、防止攻击的安全设置1.限制用户滥用系统资源,主要包括资源最大进程数,内存使用量等.这样可以防止 DOS类型攻击,需要编辑文件roottp /# vi /etc/security/limits.conf.(这

8、三行是添加的)* hard core 0 禁止创建 core 文件 * hard rss 5000 其他用户(除 root)最多使用 5M 内存* hard nproc 20 最多进程数限制在 20注:*表示所有登陆到 linux 的用户.# End of fileroottp /# vi /etc/pam.d/login.在文件末尾加入下面一行session required /lib/security/pam_limits.so2.限制控制台的访问roottp /# vi /etc/securetty.注释掉除 tty1 以外的控制台终端,这时 root 仅可在 tty1 终端登录。tty

9、1# tty2# tty3# tty4# tty5# tty63.禁止外来 ping 请求.roottp /# vi /etc/rc.d/rc.local.在最后加入一行echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all4.防止 IP 地址欺骗roottp /# vi /etc/host.conf加入如下几行order bind,hostsmulti offnospoof on5.禁止 su 命令进入 rootroottp pam.d# vi /etc/pam.d/su.在下面加入如下两行auth sufficient /lib/security/pa

10、m_rootok.so debugauth required /lib/security/pam_wheel.so group=xxx这表示只有 xxx 组的用户可以 su 成 root.6.使用 TCP_WRAPPER在默认情况下 linux 系统允许所有请求,可用 TCP_WRAPPER 增强安全性,在/etc/hosts.deny 写入“ALL:ALL“禁止所有请求roottp etc# vi /etc/hosts.deny# hosts.deny This file describes the names of the hosts which are# *not* allowed to

11、 use the local INET services, as decided# by the /usr/sbin/tcpd server.# The portmap line is redundant, but it is left to remind you that# the new secure portmap uses hosts.deny and hosts.allow. In particular# you should know that NFS uses portmap!“ALL:ALL“把允许访问的客户或服务添加到/etc/hosts.allow,冒号左边为服务,冒号右边

12、为授权的机器。roottp etc# vi /etc/hosts.allow# hosts.allow This file describes the names of the hosts which are# allowed to use the local INET services, as decided# by the /usr/sbin/tcpd server.#vsftp:211.101.46.253 注:仅允许 IP 地址为 211.101.46.253 的机器访问 FTP 服务器。7删减登录信息roottp # rm -f /etc/issueroottp # rm -f /e

13、tc/roottp # touch /etc/issueroottp # touch /etc/五、确保开启服务的安全性首先看一下自己系统开启了多少服务。roottp # ps -eaf | wc -l进 程个数我们可以通过查看当前运行的进程来了解一下系统打开了哪些服务:roottp # ps -auxWarning: bad syntax, perhaps a bogus -? See /usr/share/doc/procps-3.2.3/FAQ:以上 为 系 统 提示,可忽略USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroo

14、t 1 0.0 0.2 2592 560 ? S 21:02 0:00 init3 root 2 0.0 0.0 0 0 ? SN 21:02 0:00 ksoftirqd/0root 3 0.0 0.0 0 0 ? S 21:02 0:00 events/0root 4 0.0 0.0 0 0 ? S 21:02 0:00 khelperroot 5 0.0 0.0 0 0 ? S 21:02 0:00 kacpidroot 20 0.0 0.0 0 0 ? S 21:02 0:00 kblockd/0root 30 0.0 0.0 0 0 ? S 21:02 0:00 pdflushroo

15、t 31 0.0 0.0 0 0 ? S 21:02 0:00 pdflushroot 33 0.0 0.0 0 0 ? S 21:02 0:00 aio/0root 21 0.0 0.0 0 0 ? S 21:02 0:00 khubdroot 32 0.0 0.0 0 0 ? S 21:02 0:00 kswapd0root 107 0.0 0.0 0 0 ? S 21:02 0:00 kseriodroot 181 0.0 0.0 0 0 ? S 21:03 0:00 kmirrordroot 182 0.0 0.0 0 0 ? S 21:03 0:00 kmir_monroot 190

16、 0.0 0.0 0 0 ? S 21:03 0:00 kjournaldroot 1085 0.0 0.1 2604 444 ? Ss 21:03 0:00 udevdroot 1611 0.0 0.0 0 0 ? S 21:03 0:00 kauditdroot 1745 0.0 0.0 0 0 ? S 21:03 0:00 kmpathd/0root 1769 0.0 0.0 0 0 ? S 21:03 0:00 kjournaldroot 2250 0.0 0.2 2668 632 ? Ss 21:03 0:00 syslogd -m 0root 2254 0.0 0.1 3352 4

17、72 ? Ss 21:03 0:00 klogd -xrpc 2274 0.0 0.2 2220 572 ? Ss 21:03 0:00 portmaprpcuser 2294 0.0 0.2 2108 756 ? Ss 21:03 0:00 rpc.statdroot 2322 0.0 0.3 5344 992 ? Ss 21:03 0:00 rpc.idmapdroot 2399 0.0 0.3 2612 816 ? S 21:03 0:00 /usr/sbin/smartdroot 2409 0.0 0.2 3176 540 ? Ss 21:03 0:00 /usr/sbin/acpid

18、root 2440 0.0 1.4 11192 3680 ? Ss 21:03 0:00 cupsdroot 2497 0.0 0.6 5044 1712 ? Ss 21:03 0:00 /usr/sbin/sshdroot 2526 0.0 0.3 2760 876 ? Ss 21:03 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pidroot 2536 0.0 0.2 1788 528 ? Ss 21:03 0:00 gpm -m /dev/input/mice -t imps2htt 2565 0.0 0.1 1960 316 ? S

19、s 21:03 0:00 /usr/sbin/htt -retryonerror 0htt 2566 0.0 1.1 8256 3024 ? S 21:03 0:00 htt_server -nodaemoncanna 2578 0.0 6.8 19932 17628 ? Ss 21:03 0:00 /usr/sbin/cannaserver -syslog -u cannaroot 2590 0.0 0.4 7428 1204 ? Ss 21:03 0:00 crondxfs 2628 0.0 1.3 5692 3332 ? Ss 21:03 0:00 xfs -droppriv -daem

20、onroot 2638 0.0 0.2 2092 640 ? SNs 21:03 0:00 anacron -sroot 2647 0.0 0.2 3712 740 ? Ss 21:03 0:00 /usr/sbin/atddbus 2657 0.0 0.5 13296 1324 ? Ssl 21:03 0:00 dbus-daemon-1 -systemroot 2668 0.0 0.4 3156 1040 ? Ss 21:03 0:00 cups-config-daemonroot 2679 0.0 1.7 6540 4424 ? Ss 21:03 0:00 haldroot 2688 0

21、.0 0.5 2916 1288 ? Ss 21:03 0:00 login - root root 2689 0.0 0.1 1528 404 tty2 Ss+ 21:03 0:00 /sbin/mingetty tty2root 2690 0.0 0.1 2048 404 tty3 Ss+ 21:03 0:00 /sbin/mingetty tty3root 2691 0.0 0.1 3488 404 tty4 Ss+ 21:03 0:00 /sbin/mingetty tty4root 2692 0.0 0.1 2368 404 tty5 Ss+ 21:03 0:00 /sbin/min

22、getty tty5root 2693 0.0 0.1 3296 404 tty6 Ss+ 21:03 0:00 /sbin/mingetty tty6root 3136 0.0 0.5 5920 1396 tty1 Ss+ 21:05 0:00 -bashroot 3574 0.0 0.8 8400 2276 ? Ss 21:05 0:00 sshd: rootpts/0root 3576 0.0 0.5 6896 1388 pts/0 Ss 21:05 0:00 -bashroot 3608 0.0 0.4 6584 1216 pts/0 S+ 21:05 0:00 ntsysvroot

23、4019 0.0 0.8 8408 2276 ? Rs 21:09 0:00 sshd: rootpts/1root 4021 0.0 0.5 6912 1388 pts/1 Ss 21:09 0:00 -bashroot 4084 0.0 0.2 2852 748 pts/1 R+ 21:17 0:00 ps -aux以上进程或服务都是开机自动加载的。还可以用其它命令来看一下:roottp # ntsysv ( tab 键切换,退出)显示结果中那些前面有*号的就是开机自动启动的服务,和 windows 系统中一样,没用的服务可以关掉。运行的服务越少,系统就越安全。查看哪些服务正在运行的命令还

24、有:roottp # netstat -anActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 :80 :* LI

25、STEN tcp 0 0 :22 :* LISTEN tcp 0 0 :443 :* LISTEN tcp 0 880 :ffff:192.168.0.1:22 :ffff:192.168.0.5:2683 ESTABLISHEDudp 0 0 0.0.0.0:32768 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* udp 0 0 0.0.0.0:631 0.0.0.0:* udp 0 0 0.0.0.0:764 0.0.0.0:* 带有 LISTEN 的代表正在开启的端口,开启的服务。以下 linux 系统的启动过程做一个简单介绍。首先进入下面目录,roo

26、ttp # cd /etc/rc.droottp rc.d# lsinit.d rc rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local rc.sysinit如果你的系统是图形化界面启动的话,则运行级别是 5,自启动服务配置文件目录是rc5.d。多用户模式非图形界面启动,运行级别是 3,配置文件目录是 rc3.d。是什么模式就进入相应目录,例如:roottp rc.d# cd rc3.droottp rc3.d# lsK01yum K16rarpd K35cyrus-imapd K50snmptrapd K84bgpd K96ipmi S13i

27、rqbalance S55sshd K02NetworkManager K20bootparamd K35dhcpd K50tux K84ospf6d K99readahead S13portmapS56rawdevices K03rhnsd K20netdump-server K35smb K50vsftpd K84ospfd K99readahead_earlyS14nfslock S56xinetd K05atd K20nfs K35vncserver K54dovecot K84ripd S00microcode_ctlS15mdmonitor S85gpm K05innd K20rs

28、tatd K35winbind K61ldap K84ripngd S01sysstatS18rpcidmapd S87iiim K05saslauthd K20rusersd K36dhcp6s K65kadmin K85mdmpd S05kudzuS19rpcgssd S90canna K10dc_server K20rwhod K36lisa K65kprop K85zebra S06cpuspeed S25netfsS90crond K10psacct K24irdaK36mysqld K65krb524 K87auditd S08arptables_jf S26apmdS95anac

29、ron K10radiusd K25squid K36postgresql K65krb5kdc K87multipathd S08ip6tablesS26lm_sensors S97messagebus K10xfs K28amd K45arpwatch K73ypbind K88opensm S08iptables S28autofs S98cups-config-daemon K12dc_client K30sendmail K45named K74nscd K89iscsi S09isdn S40smartd S98haldaemon K12FreeWnn K30spamassassi

30、n K46radvd K74ntpd K89netplugd S09pcmcia S44acpid S99local K12mailman K34dhcrelay K50netdump K74ypserv K90bluetoothS10network S54hpoj K15httpd K34yppasswdd K50snmpd K74ypxfrd K94diskdumpS12syslog S55cupslinux 在开机时会读取/etc/rc.d/rc*.d(*是运行级别)终止 K 开头的服务,开启 S 开头的服务。通过 ntsysv 命令所做的更改都会在这里体现出来。重点是要决定开启和关闭哪

31、些服务。下面列出每项服务的具体功能,可以根据自己的需要来决定。amd:自动安装 NFS(网络文件系统)守侯进程apmd:高级电源管理arpwatch:记录日志并构建一个在 LAN 接口上看到的以太网地址和 IP 地址对数据库atd 运行用户用 At 命令调度的任务。也在系统负荷比较低时 运行批处理任务。autofs:自动安装管理进程 automount,与 NFS 相关,依赖于 NISbootparamd:引导参数服务器,为 LAN 上的无盘工作站提供引导所需的相关信息crond:Linux 下的计划任务dhcpd:启动一个 DHCP(动态 IP 地址分配)服务器gated:网关路由守候进程,

32、使用动态的 OSPF 路由选择协议gpm gpm 为文本模式下的 Linux 程序如 mc(Midnight Commander)提供了鼠标的支持。它也支持控制台鼠标的拷贝,粘贴操作以及弹出式菜单。httpd:WEB 服务器inetd:支持多种网络服务的核心守候程序innd:Usenet 新闻服务器keytable 该程序的功能是转载您在/etc/sysconfig/keyboards 里说明的键盘映射表,该表可以通过 kbdconfig 工具进行选 择。您应该使该程序处于激活状态。ldap LDAP 代表 Lightweight Directory Access Protocol, 实现了目

33、录访问协议的行业标准。linuxconf:允许使用本地 WEB 服务器作为用户接口来配置机器lpd:打印服务器mars-nwe:mars-nwe 文件和用于 Novell 的打印服务器mcserv Midnight Commander 服务进程允许远程机器上的用户通过 Midnightcommander 文件管理器操作本机文件。服务进程用 PAM 来验证用户,需要给出“用户名/口令”以通过验证named:DNS 服务器netfs:安装 NFS、Samba 和 NetWare 网络文件系统network:激活已配置网络接口的脚本程序nfs:打开 NFS 服务nscd:nscd(Name Swit

34、ch Cache daemon)服务器,用于 NIS 的一个支持服务,它高速缓存用户口令和组成成员关系pcmcia pcmcia 主要用于支持笔记本电脑portmap:RPC portmap 管理器,与 inetd 类似,它管理基于 RPC 服务的连接postgresql:一种 SQL 数据库服务器random 保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的routed:路由守候进程,使用动态 RIP 路由选择协议rstatd:一个为 LAN 上的其它机器收集和提供系统信息的守候程序ruserd:远程用户定位服务,这是一个基于 RPC 的服务,它提供关于当前记录到 LA

35、N上一个机器日志中的用户信息rwalld:激活 rpc.rwall 服务进程,这是一项基于 RPC 的服务,允许用户给每个注册到 LAN 机器上的其他终端写消息rwhod:激活 rwhod 服务进程,它支持 LAN 的 rwho 和 ruptime 服务sendmail:邮件服务器 sendmailsmb:Samba 文件共享/打印服务snmpd:本地简单网络管理候进程squid:激活代理服务器 squidsyslog:一个让系统引导时起动 syslog 和 klogd 系统日志守候进程的脚本webmin webmin 是基于 web 的集系统管理与网络管理于一身的强大管理工具。利用 webm

36、in 的强大功能,用户可以通过 web 浏览器来方便地设置自己的服务器、dns、samba、nfs、本地/远程文件系统以及许多其他的系统配置。xfs:X Window 字型服务器,为本地和远程 X 服务器提供字型集xntpd:网络时间服务器ypbind:为 NIS(网络信息系统)客户机激活 ypbind 服务进程yppasswdd:NIS 口令服务器ypserv:NIS 主服务器gpm:鼠标管理服务identd:AUTH 服务,在提供用户信息方面与 finger 类似六、安全日志这里只介绍如何通过日志来查看那些可疑的用户登陆过机器,并不详细介绍日志其它方面的知识。以下是三个重要的日志文件:/v

37、ar/log/wtmp 记录每个用户登陆和退出时间的永久记录。/var/run/utmp 记录当前登陆到系统的每个用户信息。/var/log/lastlog 每个用户最后一次登陆的信息(最新的信息)wtmp 和 utmp 都是二进制文件,它们要用命令来查看内容。1.命令 who 可查看 utmp 文件当前的每个用户的信息,它默认输出包括用户名,终端类型,登陆时间及远程登录主机 IP。如下:roottp log# whoroot pts/0 May 4 22:10 (192.168.0.5)如果指明了文件,则显示自 wtmp 文件被创建以来所有登陆的用户信息。roottp log# who /v

38、ar/log/wtmproot tty1 May 4 20:44root pts/0 May 4 20:52 (211.101.46.195)root tty1 May 4 21:05root pts/0 May 4 21:05 (211.101.46.195)root pts/1 May 4 21:09 (192.168.0.5)root pts/0 May 4 21:38 (192.168.0.5)root pts/0 May 4 22:10 (192.168.0.5)2.命令 w,查看 utmp 文件并显示当前系统中每个用户和它所运行的进程信息.如:roottp log# w23:00:

39、48 up 54 min, 1 user, load average: 0.00, 0.00, 0.00USER TTY FROM LOGIN IDLE JCPU PCPU WHATroot pts/0 192.168.0.5 22:10 0.00s 0.03s 0.00s w3.users,显示当前当前登陆的用户数量.如,roottp log# usersroot root这表明两个 root 用户在同时登陆这台机器.4.last 命令,用来显示 wtmp 文件第一次创建以来所有登陆过的用户.如:roottp log# lastroot pts/1 192.168.0.5 Fri May 4

40、 23:01 - 23:02 (00:00) root pts/0 192.168.0.5 Fri May 4 22:10 still logged in reboot system boot 2.6.9-34.EL Fri May 4 22:07 (00:59) root pts/0 192.168.0.5 Fri May 4 21:38 - down (00:27) reboot system boot 2.6.9-34.EL Fri May 4 21:36 (00:29) root pts/1 192.168.0.5 Fri May 4 21:09 - down (00:25) root

41、 pts/0 211.101.46.195 Fri May 4 21:05 - down (00:29) root tty1 Fri May 4 21:05 - down (00:30) reboot system boot 2.6.9-34.EL Fri May 4 21:03 (00:31) root pts/0 211.101.46.195 Fri May 4 20:52 - crash (00:11) root tty1 Fri May 4 20:44 - crash (00:18) reboot system boot 2.6.9-34.EL Fri May 4 20:32 (01:02) reboot system boot 2.6.9-34.EL Tue May 1 08:32 (3+13:02) reboot system boot 2.6.9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。