一、日誌系統
信息詳細程序:日誌級別
子系統: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