Linux教程Linux
首页
基础知识
Linux业界
Linux系统
Linux人物
Linux文化
Linux资讯
Linux综合
当前位置:
Linux教程
-
Linux
- 装备Linux(续)
装备Linux(续)
by Sinbad
4.连接到你的服务器
作为系统管理员,需要经常远程对系统进行管理和上传文件,这些通信过程必须要保证是安全的。这里讨论两种选择:ssh和TCP Wrappers。
我偏向于ssh,它把你和防火墙之间的通信全部进行了加密,而TCP Wrappers并没有做到这一点,所以不能够防止网络中的监听。如果你十分在意网络中用户的监听,建议你用ssh完全取代telnet/ftp,它能够确保数据在网络中的安全传输。ssh和TCP Wrappers相似的地方就是它们都有自己的日志纪录,并且有访问控制策略。想了解更多关于ssh的信息,可以从
http://www.ssh.org/download.html
获得ssh的服务器端和客户
端。建议使用1.2.x版本,2.x版本有一定的许可限制。另外一个关于ssh的选择是Openssh(
http://www.openssh.org/
)。
TCP Wrappers尽管没有对数据进行加密,但是它有日志系统并且可以控制哪些人可以访问你的系统。它在inted中包装了其他的一些二进制文件,例如telnet和ftp。系统用TCP Wrappers进行inted监听连接,记录了所有请求并且与访问控制列表比较,如果允许连接,TCP Wrappers将调用实际的二进制文件来进行连接,例如telnet服务;如果被拒绝,连接将断开。对我们Linux用户来讲比较幸运的是,TCP Wrappers默认已经安装,我们所要作的就是编辑/etc/hosts.allow和/etc/hosts.deny这两个文件,它们
决定了谁能访问系统和谁不能访问系统。默认情况下,Linux允许来自任何地方的连接,所以你需要修改配置,根据以下两个原则:
1)使用IP,不要使用域名。
2)编辑/etc/hosts.deny,禁止来自任何地方对所有服务的访问。语法为:ALL:ALL,然后在/etc/hosts.allow中添加某些允许访问的主机。
更详细的例子请参看Linux的帮助文件。
5.给那些真正的偏执狂
我觉得上面所讲的应该可以改善你系统的安全性了,但不会是100%的安全,而且永远也不会是,呵呵。所以,添加了一些额外的步骤给那些偏执狂们。:)
首先新建一个组,就叫wheel吧。这个组包含了一些用户,它们可以执行例如/bin/su等等强大的命令。通过控制其他用户执行这些命令,可以很好的改善系统的安全性。
编辑/etc/groups,增加wheel组,然后给那些命令仅仅赋予拥有者和同组者的执行权,以/bin/su为例:
# /bin/chgrp wheel /bin/su
# /bin/chmod 4750 /bin/su
第二步,锁定一些文件:.rhosts,.netrc和/etc/hosts.equiv,那些r命令可以通过这些文件远程进入你的系统。先touch出这些文件,然后chmod至0,就可以把它们锁定。
# /bin/touch /root/.rhosts /root/.netrc /etc/hosts.equiv
# /bin/chmod 0 /root/.rhosts /root/.netrc /etc/hosts.equiv
Linux还有一个鲜为人知的命令:chattr,你如果对这些文件进行了+i的操作,即使是root,在-i之前也修改不了它们。够厉害吧。如果你有先见之明,提前在你的系统上把/etc/shadow,/etc/inetd.conf等文件chattr +i,可以避免一些exploits程序给你添个后门什么的,那就安全多了。
第三,对/etc/shadow使用MD5加密,放弃crypt函数的DES加密,MD5比较难于破解。可以通过PAM来进行转化,更多关于PAM的信息,请参看:
ftp://ftp.us.kernel.org/pu
b/linux/libs/pam/Linux-PAM-html/pam.html。
过去常常是手工对PAM配置来实现MD5,现在好了,Red Hat 6.0以后,在安装的时候可以直接选择MD5方式。如果安装的时候没有选择,事后亦可以在命令行敲入"setup"命令,选择"authentication configuration",再选中MD5。当然,用户需要重新设置密码才能使MD5生效。
对bash用户来说,都比较讨厌.bash_history文件,谁也不希望其他人(包括root)知道自己敲了哪些命令。这里提供两种方法解决这个困扰:
1)在自己的.bash_profile中,加入一行:
HISTFILESIZE=0
这样任何命令都不会被纪录到.bash_history中。注意:不要把HISTSIZE置零,那样将无法使用上下键来调用历史命令。
2)先删除自己目录下的.bash_history,然后建立一个连接:
$ ln -s /dev/null $HOME/.bash_history
所有的历史命令都跑到/dev/null这个黑洞中了。
最后要保证主机的物理安全,建议在/etc/lilo.conf中设置密码来控制Linux的启动,语法为password=xxxxxx(你的密码),如果仅仅限制启动其他level,就要加上restrict前缀,具体的请man lilo.conf。如果你的主机在电报大楼享受着VIP房间待遇,你却设置了启动密码,远程reboot一下释放资源,咦,10分钟了怎么还ping不通啊?哈哈,你去电报大楼的打车费别来找我报销,具体情况具体分析吗。:)
记住一点,只要有人能够物理上接触你的机器,安全性就无法得到保证,很简单,即使进入不了系统,可以拿锤子斧头什么的替你修理修理的说,嘿嘿。
发布人:netbull 来自:Sinbad网络安全
Minix 2.0.4安装说明
DDN综述-2
Sendmail配置终结版
WinLinux 2000:在Windows上玩Linux
Win98/Me+WinNT/2000+Linux多系统安装手册
黑客实战技术(三)
模拟虚构造函数的内存分配优化
Java性能的优化(上)
删除具有特殊文件名的文件
Linux如何阻止系统攻击者(三)
Linux下IP巧设置
LILO配置攻略
构建宽带 IP 城域网技术综述
linux 下实用软件组合 -- 为你的 linux 减肥!
用nessus对rh7.3 custom方式安装后的扫描结果
站点导航
Linux教程
Php
Linux
非技术类
指令大全
Shell
安装启动
Xwindow
Kde
Gnome
输入法类
美化汉化
网络配置
存储备份
杂项工具
编程技术
网络安全
内核技术
速度优化
Apache
Email
Ftp服务
Cvs服务
代理服务
Samba
域名服务
网络过滤
其他服务
Nfs
Oracle
Dhcp
Mysql
Ldap
RedHat
赞助商链接