看到虚拟机的启动通过:
在虚拟机的inittab中加入
co:23:respawn:/sbin/agetty -f /etc/issue.serial 19200 ttyS1
/etc/init.d/vsftpd restart = service vsftpd restart
service vsftpd status 和 netstat -tulnp |grep vsftpd 都可以查看服务的状态。
chkconfig vsftpd on 改变/etc/rc.d/rcX.d文件名的S或K的状态
chkconfig --list vsftpd 查看启动时是什么状态。
查看rpm包的脚本:rpm -q --script vsftpd
chkconfig --level 35 vsftpd on 在35级别上启动
/etc/sysconfig/ 服务的全局配置。
/etc/vsftpd/vsftpd.conf 的本身配置
vim /etc/sysconfig/dhcpd
DHCPDARGS= 表示响一边网卡的配置,改变服务的运行方式。
DHCPDARGS=eth1 服务只作用在eth1所在的网段。
1、sysV (standalong) 独立启动
1、常驻内存中,消耗资源。
2、Xinetd (super daemon) 超级服务 本身就是一个sysV的服务。
service xinetd restart ;chkconfig telnet on; netstat -tunlpa |grep 23
tftp telnet 等由xinetd 控制的服务没有运行级别。
vim /etc/xinetd.conf
/etc/xinetd.conf enabled=yes
/etc/xinetd/telnet enabled=yes
子配置文件中没有,继承全局配置文件。
子配置文件中有,全局配置文件中也有,
以子配置文件中的为优先。
#/etc/xinetd.conf
--------------------------------------------------------
defaults
{
enabled = yes
子配置文件中没有,继承全局配置文件。
子配置文件中有,全局配置文件中也有,
以子配置文件中的为优先。
instances = 50 同时可以管理50个不同的服务。如telnet\tftp.....
per_source = 10 每一个IP,最多只可以10个人同时访问。防止ddos攻击。
v6only = no 是不是支持ipV6
log_type = SYSLOG daemon info 日志级别
log_on_failure = HOST 失败了只记录HOST
log_on_success = PID HOST DURATION EXIT 登录成功记录什么
cps = 50 10 同一时刻有50次请求停10秒
banner = /some/file (影响子配置文件和enabled不同)
}
includedir /etc/xinetd.d 表示这个配置文件影响这个目录底下的所有配置文件
---------------------------------------------------
socket_type = dgram (udp) stream (tcp)
wait = no
user = root 表示服务是由root来管理的。
server = /usr/sbin/in.telnetd telnet这个服务的脚本。
/usr/sbin/in.telnetd 由xinetd管理的服务名字都是这样的。
log_on_failure +=USERID 如果用户登录失败了再日志上再加上ID号。还继承全局的文件。
!=USERID 在全局文件中再减去ID号。
cps = 50 20 会覆盖全局的 50 10
only_from = 192.168.0.26
no_access = 192.168.0.36
only_from = 192.168.0.0/24
syntax是从上往下读。
access_times =9:00-12:00 13:00-15:00
.domain.com同时性、
============================================================================
Internet >iptables >Tcp.wrapper > daemon 控制访问的通程
**stop on first match
tcp_wrappers 配置文件:
/etc/hosts.allow
/etc/hosts.deny
除了/etc/xinetd.d/telnet 一定要用192.168.0.0/24
其它的服务都可写成192.168.0.0/255.255.255.0
LOCAL:所有不含"."的主机
KNOWN:所有在DNS中可以解析到的主机
UNKNOWN:所有在DNS中解析不到的主机
PARANOID:所有正向解析与反向解析不匹配的主机。
ALL:表示服务
EXCEPT:
sshd: ALL EXCEPT .example.com EXCEPT station36.example.com
in.telnetd: ALL : spawn echo "login from %c to %s" |mail -s "warning" redhat
不是所有的服务都支持TCP_wrapper.
lld /usr/sbin/sshd |grep libwrap 查看服务是否被TCP_wraaper支持
lld `which vsftpd` |grep libwrap 就是查看是否调用 libwrap这个库文件。
所有由xinetd管理的服务都支持TCP_wrapper
防水墙
useradd alice
useradd bob
su - alice
gpg --gen-key 生成密钥
有一个名字Real name: alice
gpg --export -a alice > /tmp/alice.key 导出密钥到/tmp/alice.key这是一个公钥,给别人用的。
su - bob
gpg --gen-key
gpg --export bobmail> /tmp/bob.key
gpg --import /tmp/alice.key 把alice密钥导入到bobmail
su - alice
cp /var/log/demeg .
gpg --import /tmp/bob.key
gpg -ear bobmail dmesg 用bob的公钥加密dmesg数据。
su - bob
cp dmesg.asc ~
gpg -d dmesg.asc 解密
vim /etc/pki/tls/openssl.cnf 的配置文件
vim /etc/ssh/sshd_config
PermitRootLogin yes 表示root用户可以访问自己
实验:
telnet 的访问控制
wrapper的访问控制
==============================================================================
/etc/cron.allow
/etc/cron.deny
1、如果这两个文件不存在,仅root能创建crontab
2、如果只有/etc/cron.deny存在,则表示写在该文件中的用户拒绝
3、如果只有/etc/cron.allow存在,则表示写在该文件中的用户允许
4、如果两个文件都存在,则cron.deny忽略。
=============================================================================
/etc/hosts.allow
/etc/hosts.deny
1、首先看allow有没有相应的条目,如果有则允许。如果没有,则看deny有没有。如果都没有,表示允许
2、明确拒绝则拒绝
0.0 allow
0.1 deny
0.1最后是允许的。
syntax:
daemon_list: client_list
vsftpd,httpd: 192.168.0.0/255.255.255.0
daemon_list 是服务执行的脚本。
: client_list
192.168.0.0/255.255.255.0
用在网关的地方。用来控制内网。
192.168.0. == 192.168.0.0/255.255.255.0 不能表示成192.168.0.0/24
.example.com 而nfs里面必需写成*.example.com
vim /etc/hosts.allow
sshd: 192.168.0.0/255.255.255.0 EXCEPT 192.168.0.10
vim /etc/hosts.deny
sshd: 192.168.0.10
上面EXCEPT 192.168.0.10不写,下面的条目就没有意义了。
sshd: 192.168.0.10 : spawn wall "login from %c to %s"
================================================================
sftp host
sftp -C
-L clientport:host:hostport
ssh -L 3025:mail.example.com:25 -N station1.example.com
我是客户端,将监听我主机上的3025端口。在我主机上发送数据给你,你将会解码它,
表示当所有向mail.example.com的25号端口的发送的数据丢到station1的3025端口(就是本机的3025)
去通过ssh加密码,再通过3025发给mial.example.com.
在mail.example.com上做。 ---就是本地发数据给远程。本地为数据加密。
-R serverport:host:hostport
ssh -R 3025:mail.example.com:25 -N station1.example.com
将远程的25号端口转向到本地的3025端口。
在station1上做。 ----就是远程向本地发数据。远程为数据加密。;
rpm包的签名:
1、把rpm的密钥导入 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat*
2、检查包是否正确 rpm --checksig package_file_name (or -K)
阅读(681) | 评论(0) | 转发(0) |