下沙论坛

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

QQ登录

QQ登录

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

Linux安全防护十招

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-4-22 14:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
9 J2 j6 g4 X9 ]* @( @. m9 Z( A
系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全防护的小窍门,在此介绍给大家。
9 a1 w  |. r/ ~# U/ Z* c# J1.为LILO增加开机口令 : N- ?* Y+ z8 ~* \8 H, E
在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
0 d8 u( Z- I) Y$ H( o6 oboot=/dev/hda ' ?7 `! H! L7 o3 C6 B' r( S
map=/boot/map / B6 |$ G$ u. n' t
install=/boot/boot.b % X3 i* k# Q; W2 I# X# G( f
time-out=60 #等待1分钟 & v2 s; e5 Y; s3 c  g- H! C
prompt ' {* s% J( O" {' n$ \5 W
default=linux
0 a. p* e! u  p% d. l+ ipassword=
+ |- d6 E% S3 B! k& u7 J# y#口令设置
9 I9 R% w  s5 e: {2 d+ m$ ]image=/boot/vmlinuz-2.2.14-12   R7 I& i9 @+ s
label=linux 8 V( {8 P: T- S% r  E
initrd=/boot/initrd-2.2.14-12.img
0 F9 H8 A3 y4 J" g1 U2 r* z+ C) zroot=/dev/hda6 ) J; |" o- ]/ V% M5 V$ c5 {
read-only 1 ]0 u; f, l# P8 x( |2 y$ s! ^
此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
1 v/ A: d% B; }2 k. Llilo.conf的文件属性设置为只有root可以读写。 # }! b* i/ }5 i+ u
# chmod 600 /etc/lilo.conf
! T1 R4 ^; x7 m当然,还需要进行如下设置,使
. o" o2 d+ [! O9 Elilo.conf的修改生效。 ( x, l: O) ^, c" W
# /sbin/lilo -v
( r% n; S5 y8 z2.设置口令最小长度和
) m. q& B, J6 H' M3 q最短使用时间
7 t  u9 S7 F' g/ f) u6 x" J7 l口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。
$ w# z  a  n, a* d' u$ p5 x3.用户超时注销
& U9 U9 f4 O/ @8 Z# ^  f如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。 ; k2 l. _. |5 F- t1 T* H
编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
3 D- m4 _# L6 i3 j9 pTMOUT=600 # k% y" ]+ V$ z4 d9 e' |3 ?
则所有用户将在10分钟无操作后自动注销。
. ^! k  M2 S: z3 b3 ^& r4.禁止访问重要文件 8 t4 ]9 ]8 X/ \
对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。 0 _. ]+ @) H6 w, M# K1 G( k2 O- ^
首先改变文件属性为600:
2 Y  w' V; G# T. ~0 V7 N# chmod 600 /etc/inetd.conf
' Q% w* V- z5 L& X- `- Z保证文件的属主为root,然后还可以将其设置为不能改变:
% u3 L* i" a. v5 u  ^  `# chattr +i /etc/inetd.conf
7 S* b' {; T. n0 }# o+ n+ i这样,对该文件的任何改变都将被禁止。
* L0 I- V/ ~. @+ [1 |! t0 S# L只有root重新设置复位标志后才能进行修改:
1 u# ^6 t% P2 n) K4 T7 j# chattr -i /etc/inetd.conf * M% j3 G. x' h5 O* _
5.允许和禁止远程访问
) D8 c9 @9 E6 ?5 z9 y7 [  w+ ]+ z在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是: 3 D; i  s0 R0 s; T/ P/ x% A2 C
(1)编辑hosts.deny文件,加入下列行: 4 O$ H8 p" e( k/ L) }- n
# Deny access to everyone.
, M) Z+ _; e& ]/ i8 n& aALL: ALL@ALL % M+ U4 W0 S! k6 d! Q
则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。
5 n1 c3 d" d: M- ~4 L" ]0 g0 a$ B(2)编辑hosts.allow 文件,可加入下列行:
4 t8 }$ V# P5 }$ p/ `#Just an example:
" r$ u5 e4 b$ Dftp: 202.84.17.11 xinhuanet.com ! u6 O' _5 z: P& ~
则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。 $ M9 @/ T$ {! @, |* ^
(3)设置完成后,可用tcpdchk检查设置是否正确。 ! b8 w- K+ l% ?4 w, v( M
6.限制Shell命令记录大小
* Y. \& R/ y- A4 e$ @默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。 : \* [+ B1 X' B- L  Q8 s
您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30
. \5 x' ^! Y( P7.注销时删除命令记录 * y6 c3 V8 e7 B3 ]! i1 W
编辑/etc/skel/.bash_logout文件,增加如下行: 1 Y3 F4 Z& u0 a# P) n
rm -f $HOME/.bash_history
  g. T. a, z6 }$ Z5 |0 Z+ n这样,系统中的所有用户在注销时都会删除其命令记录。
  a5 I1 s. l' `  T" ?% k如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。
4 J; A, G1 i( }8.禁止不必要的SUID程序 . t; T; M1 n: m; p4 M2 `" E
SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。 , {9 A& c# }5 N! R3 E4 v1 D! M
找出root所属的带s位的程序: / g* I9 a5 I+ x( Y# m" F
# find / -type f \( -perm -04000 -o -perm -02000 \) -print |less
5 A) Q/ [4 Y/ G  @禁止其中不必要的程序:
) Q. ~" k6 t" q# chmod a-s program_name
( a0 m7 r; d  V4 P" M: |0 |9.检查开机时显示的信息
. {# G. y1 C; R1 JLinux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令: / j# x# U- u  ?: N& U
#dmesg >bootmessage 9 a( |6 d4 Z! n3 l5 Y! e# N
该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。 $ X7 m/ Q% x6 F% x* d* L6 Y" e+ `
10.磁盘空间的维护 , w, B% W7 K; ]( D$ A$ X
经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。
( ^/ s# Y" u0 i' D; Z: s) ydf命令主要检查文件系统的使用情况,通常的用法是: ! S8 e& y& D  \4 l& ?( {
#df -k
' X/ H/ R' y& a  N# yFilesystem 1k-blocks Used Available Use% Mounted on
" r. g: P( Q" Y/dev/hda3 1967156 1797786 67688 96% / $ j6 N) E0 T1 M, `
du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况。   k3 e. Q% b8 f  m# k
% du -s /usr/X11R6/*
! X# [- V% z* Q9 }# {34490 /usr/X11R6/bin 7 e: ^+ k- R% h
1 /usr/X11R6/doc
' ^. n7 G$ T: U7 C, i. C! @3354 /usr/X11R6/include
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

本版积分规则

关闭

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

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