Selinux
Selinux经过使用强制访问控制(也叫作MAC)解决这个问题。在MAC下,用户没有对对象的访问控制权。相反,系统管理员规定了系统及的访问策略。Selinux的配置文件可经过/etc/sysconfig/selinux或者/etc/selinuc/config来打开,其内容有两项:SELINUX=enforcing和SELINUXTYPE=targeted;其中前者有三种可能的值enforcing,permissive和disabled,设置enforcing则保证会实施被加载的策略,禁止出现违反该策略的状况,设置permissive则容许违反策略,但会经过syslog把它们记录下来,设置disabled则彻底关闭Selinux;SELINUXTYPE指要应用的策略类型,Red Hat一般有两种策略:targeted为Red Hat已经保护起来的守护进程规定了给多的安全措施,strict则保护整个系统,还有一种用于军事上的策略类型称之为mls,他的保护措施更严。
改变Selinux状态的方法:
1.)临时性方法:利用命令`getenforce`可获得当前系统Selinux的状态,用命令`setenforce 0 | 1`用于把Selinux的工做状态调为`permissive`或者`enforcing`。
2.)永久性方法:能够选择修改Selinux的配置文件,或者利用图形化界面(输入`system-config-selinux`)设置其配置。
另外,再开机时进grub菜单,修改引导内核的配置:`kernel selinux=0|1`表示关闭或打开Selinux;`kernel enforce=1`表示开机后Selinux的状态是enforce。
Selinux最重要的两部分:Label(标签)和Policy(策略)
可以使用`ls -Z`命令查看文件的标签,可以使用`ps -Z`命令来查看进程的标签,可以使用`id redhat(用户名)`来表示一个用户的安全上下文,Selinux由user,role,type,sensitivity和category构成;可利用`chcon -t tmp_t /etc/hosts`命令来改变标签(其中,-t选项表示类型type,-R选项表示递归修改recursive),同时可应用`restorecon /etc/hosts`来恢复默认标签。定义建立文件使得默认标签可在/etc/selinux/targeted/context/files目录下的文件中找到;在系统启动后,通常状况不能再对Selinux的这只作出改动,但Selinux提供了一些布尔型的二进制模块,所以可经过模块暂时性的修改Selinux的配置:`getsebool -a`显示全部开机以后可修改的Selinux的配置值;`setsebool pppd_for_user(模块名) 0 | 1(off | on)`能够经过此命令对这些模块进行关闭和开启;若再上一个命令上
增长-P选项表示永久性的修改Selinux的配置。
chkconfig命令
chkconfig --level [0-6] daemon_name on/off 按级别打开或关闭某个服务进程
chkconfig --add 表示加入"System V"格式服务
chkconfig --del 表示把某个服务删除
chkconfig --list 列出全部加入"System V"格式的服务
其中在/etc/sysconfig/files的文件名字与服务名同名,它能够为这些服务的设置提供参数。
超级守护进程的默认控制:
defaults
{ Define general logging characteristics.
log_type = SYSLOG daemon info #来设置日志的类型
log_on_failure = HOST #设置服务未能启动是记录信息HOST
log_on_success = PID HOST DURATION EXIT #设置用户登入成功写入日志PID HOST DURATION EXIT的信息
#Define access restriction defaults
no_access = #明确指出禁止谁访问
only_from = #仅容许谁访问主机
cps = 50 10 #用来限制入站链接的次数,最大为50次;若超过
50次,服务器会隐藏10秒在开始服务
instances = 50 #服务器能够接受的并发链接数
per_source = 10 #限制每一个远程对端的实例数量
#Generally, banners are not used. This sets up their global defaults
banner = #至关于/etc/issue的做用
enable = no #默认打开某项服务的功能
v6only #是否只接收IPv6
max_load = #若是负载>阈值,则禁用服务
bind = #这个服务所在端口
nice = #派生出的服务器进程的谦让值
protocol = #服务协议
user = #用户名
server_args = #服务器的命令行参数
socket_type = #TCP服务用stream,UDP服务用dgram
wait = #xinetd应该在守护进程退出以前是否不插手服务
}
includedir /etc/xinetd.d #读取该目录下的全部配置文件
数据加密
经常使用的加密方式:1.)单向加密;2.)对称加密;3.)非对称加密。
One Way Hashes单向加密:1.)输出定长;2.)不可逆;3.)雪崩效应。常见的单向加密算法:1.)md5:Message Digest算法;2.)sha1:secure hash algrithm算法。
对称密码算法有时又叫传统密码算法,就是加密密钥可以从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。经常使用的对称算法:DES;3DEC;ASERC2;RC4;RC5;IDEA;CAST5
非对称密钥也叫公开密钥加密,它是用两个数学相关的密钥对信息进行编码。在此系统中,其中一个密钥叫公开密钥,可随意发给指望同密钥持有者进行安全通讯的人。公开密钥用于对信息加密。第二个密钥是私有密钥,属于密钥持有者,此人要仔细保存私有密钥。密钥持有者用私有密钥对收到的信息进行解密。经常使用的
非对称算法:rsa。 应用于数据签名:rsa;dsa;ElGamal Key Exchange:Diffie-Heilman 非对称加密是的速度是对称加密的1/1000 数字证书的组成: 1.)Public key and expire date 公钥和有效期 2.)owner's information 拥有者信息 3.)how the Cretificate may be used 证书如何用 4.)CA's information CA的信息 5.)CA的私钥作签名