52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1363|回復: 0

[ssh] 修改 sshd 的設定 ,設定檔 /etc/ssh/sshd_config

[複製鏈接]
發表於 2015-12-28 10:28:36 | 顯示全部樓層 |閱讀模式
tid=25799&vi /etc/ssh/sshd_config ) i$ o! U# Q3 t$ R2 ~$ f

9 [9 o0 Z9 T" Z& z/ M7 O1.修改預設 port (可用多行開啟多個 port)- J) t2 o  A- t2 y0 D: D
Port <port>. E( j/ p! A# O% Y, u

9 U0 u! S( @9 K2 W4 `$ ~0 G2.僅監聽特定 ip (適用於多網卡/多 IP 的情形)
' s5 y8 J. l* w. O1 {ListenAddress 192.168.1.10
5 j2 M' O8 S- o& I8 {$ G+ i" e
$ u5 z/ Y, w5 j% @9 B. B2 v" y3.禁止 root 登入4 ]) `2 u0 c6 ~: y* [6 G
PermitRootLogin no8 s* i/ t( k/ n7 b$ W
管理者必須先以個人帳號登入,再 su 成 root,或利用 sudo 工作。
' U' Y$ x5 @/ D& Z
7 \% Z; v, T- E0 e% q4.禁止使用空密碼登入4 d6 `+ o" O) |: ]: q# C# {
PermitEmptyPasswords no
  X+ l' R7 x! q
( t9 ^. W6 G) _/ ^; L5.僅允許或拒絕特定帳號或群組登入
  k3 t. t" Z. m* I( G; RAllowUsers <user1> <user2> <user3>
5 l/ {+ M5 t7 v5 ~AllowGroups <group>
3 m0 O" \/ `* a4 mDenyUsers *# d1 c0 K/ N4 z: u
DenyGroups no-ssh
& P& }; Y/ a/ O* Y/ u9 M: f根據實驗,對於同一帳號而言,如果同時 Allow 跟 Deny 的話,結果會是 Deny 的。
' S: u4 X2 {2 d7 E; j
" o; F5 Y4 s8 G6.廢除密碼登錄,強迫使用 RSA/DSA 驗證/ }+ X! q" a7 q; z$ s5 n
RSAAuthentication yes
" b8 ]+ A. c' V, f# _# Z; jPubkeyAuthentication yes
' k& w+ N# O- |& [AuthorizedKeysFile %h/.ssh/authorized_keys
3 c) f: ?5 U: S3 W: E5 W" [PasswordAuthentication no$ Q/ C; A; Q0 A1 w, E% F
並確保 user 的 ~/.ssh 權限為 700,同時將該 user 的 public key 加入其 ~/.ssh/authorized_keys 中。Public key 的產生方式可搜尋 ssh-keygen。5 E* |! Q$ m( M3 C0 b

$ i/ v7 R. F: H+ |( A/ @, N7.僅允許 SSHv23 }; D* z* R, C8 p6 a5 K
Protocol 22 U5 H5 ?( p; M: U# n7 |! f6 E
. w" ]" M. q* a+ j+ I" Z, V
8.限制特定使用者、群組、主機或位址的登入行為,這裡以限制 somebody 與 handsomebody 不可使用密碼登入為例& ^% i1 @) @3 w4 }
Match User somebody,handsomebody8 A( E7 C) [* _  E3 o& T) B: h1 k
PasswordAuthentication no使用 TCP wrappers 限制來源 IP
" W9 p( y8 _# U) u7 j) l# vim /etc/hosts.deny
0 n2 J: l# D! esshd: ALL/ i1 A. @8 l$ m0 J5 P
# vim /etc/hosts.allow
" n. u4 g0 V9 }3 w: L# E! qsshd: 192.168.1 1.2.3.4 # 僅允許 192.168.1.* 與 1.2.3.4 連線
! U& [! y2 o. ^
7 T- w, y& b) x2 j# E9 R9.使用 iptables 限制來源 IP, _- z& i2 h, i+ U% ~
# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
( O# a% B5 W8 x# iptables -A INPUT -p tcp --dport 22 -j DROP
8 @+ s. a: {1 Q0 n9 ~$ |4 U設定會立即生效,若希望重開機後還能保存,需要手動儲存 iptables 的設定。0 a& a# z' a" A1 i( ?

$ y! {* K3 a; g  z10.時間鎖定
' i" F8 X6 p4 j- S' V6 h你可以使用不同的iptables參數來限制到SSH服務的連接,讓其在一個特定的時間範圍內可以連接,其他時間不能連接。你可以在下面的任何例子中使用 /second、/minute、/hour 或 /day 開關。
' H8 f: i2 J3 g第一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鐘內不允許在訪問SSH服務,這樣每個用戶在一分鐘內只能嘗試一次登陸
5 o" R$ y8 [: \) u  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
2 [7 {6 l7 F8 [5 `5 H  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP0 I7 h3 v: {8 x! ?4 m+ L' }0 Y: D
第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸後,iptables允許該主機每分鐘嘗試一次登陸
1 v4 F% Q' R1 V6 j  O4 y( }  # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT9 i. N" V0 W9 j, x
  # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP; K! m4 I6 l* q+ I( l- G; c
  F' V9 c( c+ X! Y9 o" @
11.檢查相關檔案權限,不安全則不允許登入
( R; r0 S! z' Z( `StrictModes yes
& O' f6 b% A+ r) Y/ u某些相關檔案權限設定若有錯誤時,可能造成安全性風險。如使用者的 ~/.ssh/authorized_keys 權限若為 666,可能造成其他人可以盜用帳號。
/ ]3 k, w3 O/ N7 J4 ?& {7 v
- n. Q+ p" }  |1 o* h8 g' S12.自訂使用者登入時顯示的 banner (話說這跟安全性有什麼關係...? 大概可以用社交方式嚇跑壞人吧...= =a)
( X) x1 k% E$ j* |Banner /etc/ssh/banner # 任意文字檔2 U. d& ]' j1 E

. Y, ^" J" O( {+ a- R- I13.限制 su/sudo 名單6 c3 u( \; o% _$ ?* H0 ?" Q* Q2 t
# vi /etc/pam.d/su
+ T+ z* X6 N/ O# T7 a    auth       required     /lib/security/$ISA/pam_wheel.so use_uid* T/ R7 A2 t1 Y; D& s" W( Z
# visudo2 W% ~. V1 B. t5 N& L9 F& F
    %wheel  ALL = (ALL) ALL
+ ]4 j& Z& J& v' g% s5 M* V: [# gpasswd -a user1 wheel
" D. f, u6 E$ T& V' e+ u, ?, M- h0 ?+ l1 T' r- K- L4 [
14.限制 ssh 使用者名單
* q+ i  O7 t; p6 x, c# vi /etc/pam.d/sshd! {3 ~  ]8 E4 g; Y, ^3 F
    auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
% f4 Z0 E9 y9 x% K, i# s# echo <username> >> /etc/ssh_users3 ?7 Z* s7 e  d6 Y! W3 k2 F
15.防止SSH連線逾時(timeout),讓PuTTY 與 SSH 一直保持連線
8 g. d/ ^% e$ |' Z2 A% a* l    修改/etc/ssh/sshd_config4 ?: E- r3 L; Z" [5 I- R% a! ~9 \2 F
#TCPKeepAlive yes
+ b+ C# u, G  O2 ]: A3 g, w1 q#ClientAliveInterval 0
3 d9 o9 \/ H5 ^! x5 Q6 M7 g#ClientAliveCountMax 3
" ~4 r* `. r' Q7 E; u0 d, d
     將#拿掉==>存檔. U% f- N" S9 Z0 d
#service ssd restart ==>重啟sshd8 T( i- L- Y, i
    接下來修改 Pietty 的參數,進入”PuTTY 連線設定”:
" T# X9 y, b' E3 h$ b* h9 q, R' ?    選擇「Connection」項目,將「Seconds between keepalives [0 to turn off]」右邊的欄位輸入每隔幾秒,傳送一個null封包以保持連線。
4 Y9 V7 S, `0 n8 b$ |6 a  g) @( \

) z- M1 H* m5 B" B0 i* B. m  \6 W
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2026-2-4 12:30 , Processed in 0.069880 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表