一、日志系统
信息详细程序:日志级别
子系统:facility,设施
syslog
syslog-n:开源
1、syslog服务:
syslogd:系统,非内核产生的信息
klogd:内核,专门负责记录内核产生的日志信息
kernel-->物理终端(/dev/console)-->/var/log/dmesg
# dmeg
#cat /var/log/dmeg
2、日志需要滚动(日志切割):
messages message.1 message.2 message.3
/sbin/init
/var/log/messages: 系统标准错误日志信息:非内核产生引导信息;各子系统产生的信息;
/var/log/maillog:邮件系统产生的日志信息
syslog:
syslogd
klogd
3、配置文件:/etc/syslog.conf
配置文件定义格式为:facillity.priority action
facility, 可以理解为日志的来源或设备目前常用的facility有以下几种
auth #认证相关的
authpriv #权限,授权相关的
cron #任务计划相关的
deamon #守护进程相关的
kern #内核相关的
lpr #打印相关的
mail #邮件相关的
mark #标记相关的
news #新闻相关的
security #安全相关的,与auth类似
syslog #与syslog自己的
user #用户相关的
uucp #unix to unit cp 相关
local0 到local7 # 用户自定义使用
* #*表示所有的facility
priority(log level)日志的级别,一般有以下几种级别(从低到高)
debug #程序或系统的调试信息
info #一般信息
notice #不影响正常
warning/warn #可能影响系统功能,需要注意的消息
err/error #错误信息
crit #比较严重的
alert #必须马上处理的
emerg/oanic #会导致系统不可用的
* #表示所有的日志级别
none #跟*相反,表示啥也没有
action(动作)日志记录的位置
系统上的绝对路径 #普通文件 如:/var/log/xxx
| #管道 通过管道送给其他的命令处理
终端 #终端 如: /dev/console
@HOST #远程主机 ,如: @10.0.0.1
用户 #系统用户 如:root
* #登录到系统上的所有用户,一般emerg级别的日志是这样的定义的
定义格式例子:
mail.info /var/log/mail.log #表示将mail相关的,级别为info及
#info以上级别的信息记录到/var/log/mail.log文件中
auth.=info @10.0.0.1 #表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去
#前提是10.0.0.1要能接收其他主机发来的日志信息
user.!=error #表示记录user相关的,不包括error级别的信息
user.!error #与user.error相反
*.info #表示记录所有的日志信息的info基本
mail.* #表示记录mail相关的所有级别的信息
*.* #记录所有信息
cron.info;mail.info #多个日志来源可以用“;”隔开
mail.*;mail.!=info #表示记录mail相关的所有级别的信息,但是不包括info级别的。
二、SSH服务
telnet:远程登录协议,tcp 应用层协议 默认端口是23端口
C/S 架构: S:telnet服务器 C:telnet客户端
ssh: Secure SHell ,也是一种协议,tcp应用层协议,默认端口是22端口
通信过程及认证过程都是加密的,可以进行主机认证
用户认证过程加密
数据传输过程加密
ssh v1,v2 两个版本。ssh v1 现在已经不安全,使用sshv2版本
1、认证过程
基于口令认证
基于密钥认证
协议:规范
实现:服务器端、客户端
2、Linux:openSSH
C/S
服务器端:sshd,配置文件/etc/ssh/sshd_config
客户端:ssh,配置文件 /etc/ssh/ssh_config
ssh-keygen: 密钥生成器
ssh-copy-id :将公钥传输至远程服务器
scp:跨主机安全复制工具
ssh 指定用户登录:
ssh USERNAME@HOST
ssh -l USERNAME HOST
ssh USERNAME@HOST 'COMMAND'
scp: 远程复制
scp SRC DEST
-r 递归复制
-a
scp USERNAME@HOST:/path/to/somefile /path/to/local
scp /path/to/local USERNAME@HOST:/path/to/somewhere
ssh-keygen
-t rsa
~/.ssh/id_rsa
~./ssh/id_rsa.pub
-f /path/to/KEY_FILE
-p '': 指定加密私钥的密码
公钥复制到远程主机某用户的家目录下的.ssh/authorized_keys文件或.ssh/authorized_keys2文件中
ssh-corp-id
-i ~/.ssh/id_rsa.pub
ssh-corp-id -i ~/.ssh/id_rsa.pub USERNAME@HOST
3、dropbear:嵌入式系统专用的ssh服务器端和客户端工具
服务器端:dropberar
dropbearkey
客户端:dbclient
dropbear 默认使用neewith 实现名称解析
/etc/nsswitch.conf
/lib/libnss_files*
/usr/lib/libnss3.so
/usr/lib/libnss_files*
dropbear会在用户登录检查其默认shell是否当前系统的安全shell
/etc/shells
主机密钥默认位置:
/etc/dropbear_rsa_host_key
长度可变,只要是8的整数倍,默认为1024
DSS:dropbear_dss_host_key
长度固定,默认是1024
dropbearkey
-t rsaldsa
-f /path/to/KEY_FILE
-s SIZE