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的私钥做签名