下沙论坛

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

QQ登录

QQ登录

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

Linux安全防护十招

[复制链接]

该用户从未签到

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

4 X& D# z1 ~8 L1 i# o系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全防护的小窍门,在此介绍给大家。
- D1 o* x1 Y2 ]: ]3 Q. c2 M1.为LILO增加开机口令
  K3 e: h, U6 E% d% A1 W" W在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
: K( l" X7 p8 B$ @boot=/dev/hda - M4 \, r% L8 K: x# @
map=/boot/map
( P% h1 [) ]7 f0 C& o/ Q: g# Tinstall=/boot/boot.b
  m9 ?  {! ]; g- E9 `2 s2 k6 Stime-out=60 #等待1分钟
( b4 X& u# X- z- wprompt
8 D  G+ K- T/ k; d( n. `* p! Bdefault=linux
6 c; ~( J* |: [/ t) l6 B8 y  Lpassword=
; ?2 _. N5 e- ^. x#口令设置 9 L+ K* f& U9 H5 z. l
image=/boot/vmlinuz-2.2.14-12 ' a8 Q0 a7 q# l1 S8 X
label=linux
- {& t- M7 a  J) f( {1 rinitrd=/boot/initrd-2.2.14-12.img
& S( Q; N  l3 xroot=/dev/hda6
* T7 M- o' z/ wread-only
+ I1 a  ?' g( F0 m. G* G此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
) {. F: c) q% |9 H1 m# K9 }lilo.conf的文件属性设置为只有root可以读写。 + V7 L7 z6 V: C0 q% \6 B
# chmod 600 /etc/lilo.conf . G9 n- E; @6 u1 i5 I! Y2 c
当然,还需要进行如下设置,使
: A. ^/ s+ {# I) c1 alilo.conf的修改生效。 ( k) L5 F; D% A1 O2 `' E( P9 V" r# |
# /sbin/lilo -v
$ W$ J/ e2 D1 @: B# o( \+ ~  t2.设置口令最小长度和
) L$ \6 B) l- N6 r: J" P0 c' X, z最短使用时间
# y9 y6 y, T3 T, ?9 }+ ~! v+ h: f口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。
1 Y* P6 G$ x+ h/ N1 x- y0 X3.用户超时注销 4 r+ A$ u, k0 r7 g5 N  _1 k, G
如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
5 E) C  w; B2 S. @, y# R. I+ Z  M编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
- I  _8 p: m/ |0 e$ n8 gTMOUT=600 ' n; |/ x: |1 D) ]8 y+ Q) w; X! {
则所有用户将在10分钟无操作后自动注销。
7 i8 |9 N5 z: m; ~  v. w4.禁止访问重要文件 9 x" O6 W# a6 _$ p5 t
对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。 ; H- J5 [" c0 y
首先改变文件属性为600:
8 o: F3 Y, }- t' S2 T# chmod 600 /etc/inetd.conf
. A5 s, j6 m, v! P/ S! X保证文件的属主为root,然后还可以将其设置为不能改变:
. ]( p1 ?+ L& g% `' A% x; {7 h# chattr +i /etc/inetd.conf
3 a% [4 K5 N1 I这样,对该文件的任何改变都将被禁止。
, s: A4 {+ m3 L' V1 ^; {1 v. ~只有root重新设置复位标志后才能进行修改:
) z; a* q$ k6 E* i# chattr -i /etc/inetd.conf / [6 y3 g0 x: f  I) T
5.允许和禁止远程访问
- j  M# M4 b; p5 v  b  ?在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是:
( P# s  B* P4 O4 L- b(1)编辑hosts.deny文件,加入下列行: - i  l/ S" ?# }& ^' S: _
# Deny access to everyone. " K1 Q- i2 w4 A7 b( ^
ALL: ALL@ALL
6 H: u, I) F/ i' f则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。
/ g, [; d9 z9 e7 t3 s6 j* ^$ B5 ?(2)编辑hosts.allow 文件,可加入下列行: 7 y' q# }' f/ z' _5 A# T$ T3 f
#Just an example:
* E$ ]9 F" L& {- P1 @& ]ftp: 202.84.17.11 xinhuanet.com
! ^( z& f1 Y0 L) V* _1 k则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。 " U  Z( {5 W" ?1 S1 x8 N; M( L& K
(3)设置完成后,可用tcpdchk检查设置是否正确。
1 R% k  v0 J3 x' B) V& T, b  ]6.限制Shell命令记录大小 3 m  X6 H# W4 Y3 P
默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
3 Y  S) m: Y' w您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30
' c: e" I$ w) N4 U5 H" f$ V* N4 o7.注销时删除命令记录 6 w3 n. F) G' L. M  N) F- q: M
编辑/etc/skel/.bash_logout文件,增加如下行:
/ Z# f8 F) o% Q# E9 L& qrm -f $HOME/.bash_history ; {' b& Q0 b: w
这样,系统中的所有用户在注销时都会删除其命令记录。
5 D6 Z! }6 r% B' _  K4 J如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。
- b- e( {  j7 Q$ h( `% g- y4 g9 A8.禁止不必要的SUID程序 4 d, t8 K* S8 w4 v
SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。 * N- x3 z, l4 U: |5 I& V
找出root所属的带s位的程序: 5 H1 h& R6 e2 U) K: n$ P
# find / -type f \( -perm -04000 -o -perm -02000 \) -print |less
6 o+ u, f9 m# m( A/ [9 P禁止其中不必要的程序:
+ c1 P2 s) _8 v6 b* j1 M% q! ^# chmod a-s program_name . m- P" d3 a; M
9.检查开机时显示的信息
9 L. t+ z9 ?3 j  F1 X0 D, v* j2 J6 RLinux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令: 5 h. O, ~) m6 [( p' W! e3 |
#dmesg >bootmessage
  C  k: O' ]/ R3 f5 v, [该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。 , i. v" e- E$ K9 V3 T! d+ E
10.磁盘空间的维护
8 N  f5 M' a* Y' {5 k2 d经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。 ( V" K  R" t1 O: }0 n$ v
df命令主要检查文件系统的使用情况,通常的用法是: ) B  B8 C3 w7 H9 _: I6 Y
#df -k
  ^6 \$ @  p+ j0 R7 BFilesystem 1k-blocks Used Available Use% Mounted on
, E% W0 [6 q- ?" E. c/dev/hda3 1967156 1797786 67688 96% / ( {# x9 N6 X2 }+ N" S* G
du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况。
; c: |& K6 ]1 V4 U1 Q- c% du -s /usr/X11R6/*
8 [; W. O, M' J8 ^/ D34490 /usr/X11R6/bin 7 Q9 a' u) R7 u! F3 u" O' P/ m2 n
1 /usr/X11R6/doc
1 S1 D- ]6 B  I8 C2 K3354 /usr/X11R6/include
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

本版积分规则

关闭

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

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