下沙论坛

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

QQ登录

QQ登录

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

Linux安全防护十招

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-4-22 14:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
$ x+ Q, [5 V( W0 t& P. R5 L
系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全防护的小窍门,在此介绍给大家。
4 E, ]1 Z; }. x; X2 N8 ?9 o1.为LILO增加开机口令
  R& u, d( C  u在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下: 6 W3 t' D+ L% C  ?2 w, K
boot=/dev/hda . q+ C+ k4 H& I8 G
map=/boot/map
2 J* I4 M/ Q9 J) ]: minstall=/boot/boot.b 6 }8 D' I+ C2 q! v/ E
time-out=60 #等待1分钟 4 k$ ~$ X2 f, t& D* V  r3 e* y) p& W3 H
prompt ' p2 m. a) \- f& s& `' W
default=linux 5 q4 ~( l6 Z! _9 D% h3 u6 f& H
password=
0 T5 D/ Y6 ]7 N" f/ C, S) B$ P9 I#口令设置
& [+ T0 |' B( [" P. }; \$ Kimage=/boot/vmlinuz-2.2.14-12 2 p8 l( G. d) ]) L! w: z3 Z# P! ^4 k
label=linux
" }5 U) k7 B# I2 f) ~* f+ X+ Oinitrd=/boot/initrd-2.2.14-12.img
5 U8 R/ y$ o3 I" N/ B, A& w6 Hroot=/dev/hda6 * M( l0 t0 G% c3 N
read-only 2 h. G' w3 _/ \! s( k
此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
% ^2 A9 m. ?, hlilo.conf的文件属性设置为只有root可以读写。
, ~& C7 C7 ~! a9 J" O# chmod 600 /etc/lilo.conf
6 t5 C* {5 i: I当然,还需要进行如下设置,使
. M7 x4 X, o- v4 v3 plilo.conf的修改生效。 1 l; H% P+ `* G  o- D& p2 L  u
# /sbin/lilo -v
4 a4 z& a' Q. v! t% q! R# I2.设置口令最小长度和 2 |6 P7 H" q. N% D
最短使用时间 1 e# w1 Y1 I; S' b
口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。 8 Z. v% @5 [# g. q6 i: H8 [2 O
3.用户超时注销 " B8 C/ b3 f5 @  l% }% \
如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
" }$ A* W0 r% e) X, Y% l编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行: 2 E7 _5 ?( Y1 O8 Z7 _% a  j4 l
TMOUT=600
7 w  ~3 i6 g0 J* N则所有用户将在10分钟无操作后自动注销。 . s2 n9 [& \- J( o
4.禁止访问重要文件
( @9 X( X6 G9 d& x5 V+ f对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。
) U2 L( o4 l+ N2 @% o首先改变文件属性为600:
5 N- H9 Z3 x+ \! R/ h" }# R* g# chmod 600 /etc/inetd.conf ) w  M; X: T5 J
保证文件的属主为root,然后还可以将其设置为不能改变: ) Z  E/ b9 D- [; F3 d
# chattr +i /etc/inetd.conf
# O0 t4 Y9 n6 \这样,对该文件的任何改变都将被禁止。
7 n- d# f" }9 t% b9 t" H9 `只有root重新设置复位标志后才能进行修改:
& d6 [% _; U6 Q1 Q6 W# chattr -i /etc/inetd.conf
0 \9 w+ f/ p$ Z) M# T0 W1 i: \5.允许和禁止远程访问
/ B5 c+ |8 f9 Y1 n3 r在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是:
% j- S% w8 e5 G: Y" B% w(1)编辑hosts.deny文件,加入下列行:
/ ]8 r" T8 X! }# Deny access to everyone. 2 I6 |  k+ ]' r
ALL: ALL@ALL
9 n* y  I& M. e6 E$ T# N7 y+ X则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。 4 o3 ]5 @! n( t+ q/ s+ a4 V$ o
(2)编辑hosts.allow 文件,可加入下列行: 3 h: p2 A7 I2 n  k1 O7 k& Z6 Q
#Just an example:
$ X% G0 g6 c# {* |ftp: 202.84.17.11 xinhuanet.com % u# f7 Y" s$ ]1 N
则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。
* ]# V* {) T" s) x! X(3)设置完成后,可用tcpdchk检查设置是否正确。 & P# G- B# T* {: w% a$ h7 B9 r
6.限制Shell命令记录大小
! I- e4 _# m5 t8 i4 s默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
9 x9 h# e7 D" R您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30
  i( h1 S& ?/ x$ `6 W7.注销时删除命令记录 6 T* T4 h7 x" P
编辑/etc/skel/.bash_logout文件,增加如下行:
8 h, p/ H8 P7 W# R4 z  Prm -f $HOME/.bash_history
& e7 x( S6 p) z5 j* V9 j这样,系统中的所有用户在注销时都会删除其命令记录。   S) x9 \  g7 ~
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。
( k7 U4 H# {8 R7 X2 X8 H; Q& V8.禁止不必要的SUID程序 9 }; g  P' S- _& \- R0 |+ r" S
SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。
5 \" E, w0 h8 U& H  Q1 f/ c/ Z; x找出root所属的带s位的程序:
' i( ]: E# X- V7 R2 [+ X( N# b* Z, K* O# find / -type f \( -perm -04000 -o -perm -02000 \) -print |less 1 ?) |% y$ i6 C5 P7 H# S
禁止其中不必要的程序: 1 e, J3 w+ X% _' a
# chmod a-s program_name
$ M2 \8 S) Q  a9 M) e" J, H: `+ q9.检查开机时显示的信息
  ~' x# L6 _/ B) RLinux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令: ! b; x: A5 b: i2 T$ l9 `
#dmesg >bootmessage
$ M: S+ x4 X- P. Q( ]( ?) m该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。 : s0 B* ^5 M6 d' s- [/ u
10.磁盘空间的维护
, G9 U# f2 V1 o% I; u( Q9 J& k4 i. @6 Y经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。
9 z! s" H$ w+ X' }" d2 ]df命令主要检查文件系统的使用情况,通常的用法是: ; F: U: z# E* m; u
#df -k ; l* l2 K: [/ F9 e# M6 m; A& o
Filesystem 1k-blocks Used Available Use% Mounted on
3 Q, V* J9 U. L- O( m% g4 C4 l9 i( k/dev/hda3 1967156 1797786 67688 96% /
+ @4 Q4 r! ?! d. c* A7 s6 u* {du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况。 ( W) z  _3 h; W; k# u& [1 h. Q
% du -s /usr/X11R6/* : A* X4 g- k2 m! s+ E
34490 /usr/X11R6/bin
) H9 c: r. E6 ~) ~8 M8 v1 /usr/X11R6/doc
% h) c8 O$ U0 Q" g, G1 s) h3354 /usr/X11R6/include
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

本版积分规则

关闭

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

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