linux运维日志规范,Linux初级运维(十九)——Linux日志系统syslog和系统添加SSH服务...

一、日志系统

信息详细程序:日志级别

子系统: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

你可能感兴趣的:(linux运维日志规范)