歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> BSD >> Freebsd 及其周邊程序,技巧匯總

Freebsd 及其周邊程序,技巧匯總

日期:2017/2/28 11:22:13   编辑:BSD


#TLS

#第一、Openssl 生成公私密鑰

#進入openssl安裝目錄,"/usr/src/crypto/openssl/apps"
#執行"CA.pl -newca"

1、openssl req -new -nodes -keyout keyname.pem -out reqname.pem -days 365
#-new 代表新生成,-nodes 表示不要密封,-keyout 私鑰名字,-out CSR 文件名, -days 365 有效期一年。
2、回答提示問題
Country Name (2 letter code) [AU]:CN
#2個字節的代碼

State or Province Name (full name) [Some-State]:QingDao #州、省全名
Locality Name (eg, city) []:QingDao
#城市全名

Organization Name (eg, company) [Internet Widgits Pty Ltd]:ZHAO.L
#公司、組織名

Organizational Unit Name (eg, section) []:ZHAO.L
#部門名稱

Common Name (eg, YOUR name) []:ZHAO.L
#你的名字

A challenge password []: your password #輸入驗證密碼

n optional company name []:ZHAO.L
#可選

#第二、核發證書
openssl ca -out mail_signed_cert.pem -infiles mailreq.pem
#mailreq.pem為上一步所產生的CSR文件,-out 後的 mail_signed_cert.pem變為 CA所核發的證書



#-----SSH--------

#--putty 采用key登陸--

1、下載"puttygen.exe",並運行
2、選擇"SSH-2 RSA"參數,然後點擊"gengerate",默認生成1024位的key,文件名設為"id_rsa","id_rsa.pub"進行保存。
3、將生成的public key權限改為600,上傳到遠程服務器。
4、執行"ssh-keygen -i >> .ssh/authorized_keys" ,輸入public key所在完整路徑、文件名,確定。
5、修改sshd_config文件,去掉“PasswordAuthentication no”的批注
6、“UsePAM yes” 該為 “UsePAM no“
7、/etc/rc.d/sshd restart 後生效


#修改sshd服務監聽端口,修改sshd_config
Port 6022
#重啟sshd生效
/etc/rc.d/sshd restart
#客戶端聯機



#Linux平台,SSH自動抵御程序
Fail2Ban
#Fail2Ban 安裝、配置
#安裝
1、解壓,進入解壓後的目錄
2、python setup.py install
#配置
fail2ban start -b
2、修改ssh監控日志,改為"logfile = /var/log/auth.log"
#配置參數

#最大失敗次數
maxfailures = 3

#阻止時間
#永久阻止,設定否定值。
bantime = -1
#默認時間單位為‘妙’
bantime = 600

#指定管理者ip
ignoreip = 192.168.0.1

#設置fail2ban日志文件位置
logtargets = /var/log/fail2ban.log


#socket在關閉時的幾個主要狀態

#*TIME_WAIT* (FAQ 1578 )

當一個socket進程結束後,相應的socket仍會保持TIME_WAIT狀態4分鐘。這樣的目的是為了保證那些因某些原因在網絡上傳送很慢的包在這個scoket完全關閉之前到達。
這樣後來使用同樣的socket的進程不會收到本應發給前一個使用該socket的進程的數據包。

相關參數:
tcp_keepalive_interval
tcp_ip_abort_interval
tcp_close_wait_interval *

#*FIN_WAIT_2* (FAQ 3285 )

當server收到一個關閉TCP連接的請求時,它會發一個設置了FIN位的packet給client。client會回應一個設置了ACK位的 packet。然後,client會發送一個設置了FIN位的packet給server,server回應一個ACK,這個連接應關閉了。server 接收到client的ACK,然後開始等待client的FIN包的狀態就是FIN_WAIT_2。
在FIN_WAIT_2狀態,server不會往client發送數據和控制信息,它只是等待client的FIN包。

相關參數:
tcp_fin_wait_2_flush_interval 系統將會flush out處於FIN_WAIT_2狀態的TCP連接的間隔,理論上最小值為6750ms。

#*CLOSE_WAIT* (INFO 19137 )

TCP連接總處於CLOSE_WAIT狀態是由於當TCP沒有開始協議中的CLOSE階段。
TCP連接中CLOSE_WAIT狀態的發生是當server沒有收到應用程序的CLOSE,但應用程序已經終止了。這可能是一個有問題的應用程序在關閉窗口並結束之後發出了FIN包。有時候是當Solaris系統缺少kernal,tcp,ip,libnsl 或 rpcbind等patch造成。

CLOSE_WAIT狀態意味著連接的另一端已經關閉了,而本地端仍在等待應用程序關閉。一個不確定的TCP連接指示著存在應用一級的bug。
在收到一個從遠端發來的FIN之後,收到應用程序發出的CLOSE之前,TCP連接將從ESTABLISHED狀態變為CLOSE_WAIT狀態, after
從CLOSE_WAIT-> LAST_ACK的轉換是在應用程序發出CLOSE時發生的。在轉換過程中,TCP會安排(schedule)發送一個FIN,這個FIN將在保留的數據之後發出,如果接收端已經關閉了窗口可能會被延遲。
------2006年12月5日----------
#設置ftp-proxy超時時間
2、在命令ftp-proxy 後,加入“-t 120”參數,120默認單位為'秒',意思是120秒後超時終斷。例如:
ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy -t 120
-------2006年11月30日-----------
#ftp命令
get file <==取得遠程主機的檔案
mget file <==取得所有的檔案,例如 mget .bash* !
put file <==將本地端檔案 file 丟到遠程主機上
mput file <==與 mget 差不多意思啦!
delete file <==殺掉遠程主機的 file 檔案
help <==顯示求救指令!
mkdir dir <==在遠程主機上面建立目錄
flcd <==變換本地端路徑!
Copyright © Linux教程網 All Rights Reserved