下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2029|回复: 0
打印 上一主题 下一主题

Linux安全防护十招

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-4-22 14:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

4 \0 X- c0 o" m4 @9 S, a系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全防护的小窍门,在此介绍给大家。 ) g0 G( v8 s* p" R! R
1.为LILO增加开机口令 * S4 I# v) ~* J6 ]8 I
在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
* q4 r7 n* P/ Q. Z' I! G9 a, e! H) Tboot=/dev/hda 4 d4 D. e3 |2 s
map=/boot/map
: S) c+ B0 m; `4 q1 o, Dinstall=/boot/boot.b $ k' F8 P* d* P- x5 f" X
time-out=60 #等待1分钟 9 }$ \: C1 ]: R/ j6 g
prompt 7 w6 p' n6 c5 A
default=linux $ j5 P2 g, X2 Y
password=
3 c$ D: N( W$ |8 N' I#口令设置
" z9 o) A) ]' rimage=/boot/vmlinuz-2.2.14-12 5 {: h& G: f! ~% a, `1 a  Z  t
label=linux
1 f6 b& Y3 I8 ^& l( u0 Uinitrd=/boot/initrd-2.2.14-12.img
9 L1 L3 ^1 X$ h3 eroot=/dev/hda6
- m  U5 T1 V) x( @3 T7 Fread-only ( B3 B( U, f% k/ C8 q; h& J! M6 L
此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
% Z8 g5 a2 `6 z4 mlilo.conf的文件属性设置为只有root可以读写。 * p! D4 i' f# F! m3 [6 ~% M/ J
# chmod 600 /etc/lilo.conf ; ^( F' Y) a) w! @
当然,还需要进行如下设置,使
( @* R3 Z% r$ O; X" slilo.conf的修改生效。 * w( F7 k$ a+ {2 @
# /sbin/lilo -v
: o2 J" c- I# e: o7 V0 V% ]: h2.设置口令最小长度和
( z/ E$ K6 f0 }5 J最短使用时间 ; j$ p% D/ u6 M  f% m8 K
口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。 - l% C8 S' s( E& ]2 ^+ B6 S
3.用户超时注销 6 S: r" k. g7 K# w
如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
& U4 T# q2 _/ M5 n% A8 f编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
) T; r: Q# y: f" \. O- S! ~TMOUT=600
( z8 o) U0 ^& g' d8 W9 E则所有用户将在10分钟无操作后自动注销。
5 _4 s  t4 F* e1 j# Z4 e4.禁止访问重要文件
8 l+ B! \% I3 F$ x1 S对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。 3 d) |& o( [# Z( r! X9 f2 K' E( |
首先改变文件属性为600: 8 Z: F6 t' d, Y! k! |! J
# chmod 600 /etc/inetd.conf
' J' ^4 p6 O. ^8 z. E# n. U保证文件的属主为root,然后还可以将其设置为不能改变: $ I: e, w; J7 J0 B6 y/ Y) C
# chattr +i /etc/inetd.conf / V' h$ X! Y. E& ^8 l. J
这样,对该文件的任何改变都将被禁止。 * C7 ]- T, A7 a/ e% o/ f# i
只有root重新设置复位标志后才能进行修改:
  \4 C8 b5 j. G# L0 Y: _. R- [3 ?# chattr -i /etc/inetd.conf 0 |) R/ Y( h* V: ~8 X& @. J& Q' ^
5.允许和禁止远程访问 6 h0 T8 n: `6 Q0 T$ h$ {# d
在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是: 6 G, U( q' e9 L( F
(1)编辑hosts.deny文件,加入下列行:
  \$ m* i7 _  ?6 {+ l% c# Deny access to everyone. 4 e8 B0 G) R7 s' g7 `7 u
ALL: ALL@ALL 2 k: u* x  J1 N, e- n; T2 U
则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。 3 z1 c6 G" |. j3 J, ?2 U2 t
(2)编辑hosts.allow 文件,可加入下列行: & x0 N8 F* R! }' X2 k# B) K7 H
#Just an example:
( Z. d; N: ^7 b8 `6 }ftp: 202.84.17.11 xinhuanet.com , e4 _( d1 ]3 G: j1 {! ?4 T( C
则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。 " K. Y( I! f: }9 ~- F+ B) F+ |
(3)设置完成后,可用tcpdchk检查设置是否正确。 ( X) c- L4 u+ q8 {9 q
6.限制Shell命令记录大小
: Y6 o( T# C' t7 U% A/ A& K( U默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
, {2 c* ?2 ~/ l, f" g您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30
. a2 P# j* b# Z" D  G  ]7.注销时删除命令记录 ) n( I; x$ s+ E  f# K( `% Q3 ?
编辑/etc/skel/.bash_logout文件,增加如下行: + \0 _7 o# m1 P% _, N( a3 |
rm -f $HOME/.bash_history 7 |1 j$ g) \* p7 k
这样,系统中的所有用户在注销时都会删除其命令记录。 * `/ L6 i5 ]% Y+ n" U6 M; J
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。
( b- P* E. O# F* }8.禁止不必要的SUID程序 3 z1 `+ H; s- i" Z" _* M
SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。 3 i% |% S9 F$ m9 G! J, |
找出root所属的带s位的程序: ' g& M6 B0 W, Q6 A
# find / -type f \( -perm -04000 -o -perm -02000 \) -print |less
5 g( m9 a5 U3 P* y2 L. c禁止其中不必要的程序:
6 {* V* ~0 D& v1 ?. d3 \$ c# chmod a-s program_name ; j* ~$ j8 y1 {# ?' ~/ f* k
9.检查开机时显示的信息
1 o+ Q8 B2 H* `) t, z/ }Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令: # K8 q, Y! v" v1 W0 r
#dmesg >bootmessage
% O( a: O" u0 F2 `/ p0 K该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。
6 [5 `* E. U6 m! ]10.磁盘空间的维护
! W+ @" E' i$ b6 C" t6 n经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。 6 K1 B: q1 P: R) `# n% F
df命令主要检查文件系统的使用情况,通常的用法是:
; d1 L5 l  ]1 g# h#df -k ! C0 y# @- {# B6 X+ Z. u
Filesystem 1k-blocks Used Available Use% Mounted on , p: n, Y& `) c$ y0 q6 g" M- v( {
/dev/hda3 1967156 1797786 67688 96% / 8 G% ?/ x, Q# A( O8 O- s3 Q
du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况。 ! A/ x, q" k9 J) H8 O; ~9 S
% du -s /usr/X11R6/*
: e5 ?8 d5 {7 R5 Y* ], m34490 /usr/X11R6/bin 5 T- Y3 T2 ^2 E. @$ Z
1 /usr/X11R6/doc
  A2 _4 ?. s  r  {0 b" u& q/ s3354 /usr/X11R6/include
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

快速回复 返回顶部 返回列表