感谢支持
我们一直在努力

Linux认证:RHCA 333 UNIT 1 2

unit 1

 

一、TCP Wrappers:

判断别种服务支持TCP Wrappers,满足以下两个条件 :
1、服务要支持libwrap.so
2、powerfull for logging and access control
 第一种方法 :查看的方法如下:ldd `which vsftpd` | grep libwrap.so 如果有libwrap.so文件,就是支持了。
 第二种方法 :查看的方法如下:strings `whick portmap` | grep hosts 显示有/etc/hosts.allow /etc/hosts.deny就行了。

二、xinetd –access control for services under xinetd’s control

三、pluggable authentication modules 也就是PAM
PAM可能控制一些服务 :
 time 时间
 usage limit 限制
 location 地址
例子:vim /etc/security/limits.conf
 添加:
 username     hard   as 1000
 提供用户可用的内存大小为1000字节
 username     hard nofile  100
最大打开的文件数 ,当一个用户登录时,会使用到四个文件。/etc/bashrc  bash 之类

例子: vim  /etc/security/time.conf //哪个终端哪个时间才能登录
vim /etc/pam.d/login
account   required     pam_time.so
添加:
 login;tty1;user1;Mo0000-2400
 代码user1在星期一的整天可以在tty1登录
 login;tty1;user1;!Mo0000-2400
 代码user1在星期一的整天不可以在tty1登录

例子 :  vim /etc/security/access.conf   什么时候可以访问哪些资源
+ 号代表允许
– 号代表拒绝

配置如下:
vim /etc/pam.d/login
添加:account required /lib/security/pam_access.so
vim /etc/security/access.conf
添加:-:ALL EXCEPT yeelone:LOCAL

unit 2

一:漏洞:如果拥有一个SSH账号可以登录系统,在RHEL5有这样的漏洞
下载攻击代码:wunderbar_emporium

src -r wunderbar_emporium/  linuxidc@192.168.56.2:/home/linuxidc

ssh linuxidc@192.168.56.2

./wunderbar_emporium.sh

这时就可以获得root的权限 了。再进行更改密码。系统 就是你的了。

解决方法:
vim /etc/modprobe.conf

添加:
install pppox /bin/true
install bluetooth /bin/true
install appletalk /bin/true
install ipx /bin/true
install sctp /bin/true



二:tcp wrapper

语法是这样的:deamon list: client list :severity [].pri
想查看options有什么,可以:man hosts.deny

例子一:
sshd : 192.168.56.1:deny


在讲第二个例子之前 , 先学习一下日志的相关知识吧,因所用系统 是RHEL6,所以,相关文件跟RHEL5是有点不一样的

linux的日志 守护进程是rsyslog ,配置文件/etc/rsyslog.conf
在linux中,日志分为9个级别,分别为:

emerg        该系统不可用


alert         需要立即被修改的条件


crit          阻止某些工具或子系统功能实现的错误条件


err         阻止工具或某些子系统部分功能实现的错误条件


warning      预警信息


notice        具有重要性的普通条件


info          提供信息的消息


debug       不包含函数条件或问题的其他信息


none       没有重要级,通常用于排错


*                     所有级别,除了none


所以第二个例子讲的是,当系统 有ssh登录时,将信息记录到自己指定的文件里

例子二:
#vim /etc/rsyslog.conf
查找:
/authpriv.*    

在authpriv* 上面添加一行:

authpriv:info    


authpriv是指用户的验证,这是linux日志的类型之一。linux的日志优先级是由类别+级别组成 的。authpriv就是一种类型。


这就意味着,登录信息将被记录到/var/log/info里

接着重启服务:
service rsyslog restart

#vim /etc/hosts.allow
添加如下一行:
sshd : localhost: severity info
:wq

再用ssh登录进来时,就会将登录信息记录到/var/log/info里了


例子三:当用户ssh登录时,运行指定 的命令:
语法:
deamon : client list  : spawn command

范例: sshd : localhost : spawn /bin/echo `date`%c %d >>/var/log/wrapper.log



例子四:给别人显示 一个信息:
deamon:client list :   twist command
范例:
vim /etc/hosts.deny
vsftpd :    192.168.56.1  : twist  /bin/echo  “421 连接错误”  
功能 是让192.1268.56.1 无法使用本机 vsftpd服务,并且回显一个421 连接错误信息。

不过没有成功,倒是在日志 里出现了这个信息

例子四:显示一段话,前面都是用echo显示一句话。跟这里还是有点不一样。
范例:
语法: deamon : client list : banners  directory
#vim /etc/hosts.deny
添加:vsftpd : 192.168.56.1  : banners /var/banners
#cd /var/banners
#vim vsftpd  –这里创建一个你的服务的名字的文件,在里面写上内容:
220– 连接失败
221–稍候重新连接
三 xinetd服务

第一个知识点:关于xinetd服务有个跟其它服务不一样的地方值得我们注意 。当我们用chkconfig配置时,指的应该是在下次启动时开启或不开启服务。但是对于xinetd 例外 的。
比如telnet服务。
#yum -y install telnet
#chkconfig telnet  on
#netstat -ntlup | grep 23
显示23端口正在监听
#chkconfig telnet off
#netstat -ntlup | grep 23
看得出来,23端口已经关闭了。

第二个知识点:/etc/xinetd.d/telnet
no_access  和only_from 的区别
以IP范围小的为准。
例如:
no_access = 192.168.56.2
only_from=192.168.56.0/24
这个时候 以no_access为准,因为它的IP范围小。

第三个知识点:时间点:access_times
access_times   = 9:00 – 19:00
第四个知识点:不同的网卡提供不同的服务拥有不同的IP
实验:
先配置网卡,IP地址信息如下:
eth0 : 192.168.56.2
eth0:0 :172.16.20.1

#vim /etc/xinetd.d/telnet
添加:
bind  = 192.168.56.2  
:wq

#service xinetd restart
这个时候 :
telnet 192.168.56.2 可以telnet 得上,但是telnet172.16.20.1就上不了。因为这个服务与指定网卡绑定在一起了,在这个例子中,telnet与eth0绑定在一起了。

可是这有什么作用呢?比如说,一个系统中有两个网卡,又有两个服务占用了同样的端口,默认情况下是只能开启其中一个服务的,就是在/etc/xinetd.d/中排列靠前的那个服务可以用。通过 这样子做之后就可以同时开放这两个拥有相同端口的服务了。

第五个知识点:flags

/etc/xinetd.d/telnet 中一个变量 flags
配置如下: flags 有一个值:SENSOR,这个值可以作三个控制:deny_time = forever| nover | #minutes
flags=SENSOR
deny_time = 2
no_access = 192.168.56.2


这个是为了防止 DDOS的攻击所做的设置。例如说,我们拒绝了192.168.56.2来访问我们的telnet服务,同时,我们的系统又提供rsh_login服务,这时,当192.168.56.2来rsh我们的主机时,可以正常访问,再用telnet来访问,就被拒绝了,之后再用rsh来访问,居然不行了,这是为什么呢?这是因为,我们明明不允许192.168.56.2来telnet我们,但是192.168.56.2还是不断的尝试,这时我们认为是对方在做尝试攻击 ,为了安全,我们设置了在2分钟之内 ,它不能再使用我们主机所提供的任何由xinetd守护进程所管理 的服务。


也设置为:deny_time=nover | forever


第六个知识点:顺序

三个安全的级别,分别如下:
iptables   — > tcp wrapper —> 服务自己安全配置(例如vsftpd,apache)

那什么时候要用哪些来做访问控制呢?因为有些服务是不支持tcp wrapper的,所以,这个需要考虑。而有时候我们的apache可以提供多域名,同样的IP,同样的端口,根据不同的域名来访问不同的网页。如果通过IPTABLES来做控制,限制了这个IP的访问,那么将是整个服务的所有网站都不能使用。而我们只是想控制其中一个域名的网站而已。所以这个时候就需要用apache自身的安全策略来做控制了。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux认证:RHCA 333 UNIT 1 2
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏