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

標題: 修改 sshd 的設定 ,設定檔 /etc/ssh/sshd_config [打印本頁]

作者: IT_man    時間: 2015-12-28 10:28
標題: 修改 sshd 的設定 ,設定檔 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
! b4 y. G  I% S) Q3 S7 ?% O, m1 M8 o: n& W" f: O
1.修改預設 port (可用多行開啟多個 port)
8 ~1 R7 i; F3 j9 b5 G! CPort <port>' d# z/ q9 g* r# n
9 R9 m  r! ~  D7 ?, ~, ^2 n
2.僅監聽特定 ip (適用於多網卡/多 IP 的情形)
$ y( ^3 F% ^' h, r, KListenAddress 192.168.1.10
" A$ O5 d& l6 g2 ?1 Y! d3 c7 [+ s
7 Y+ c, ~1 }& P1 M  Y3.禁止 root 登入+ b! k5 [' x  T0 G+ `: Q
PermitRootLogin no# d- }1 K9 }6 F1 F
管理者必須先以個人帳號登入,再 su 成 root,或利用 sudo 工作。  D9 g: v' ?0 d
; n, J/ y+ ?/ s3 _
4.禁止使用空密碼登入
# @8 j: ~- G/ [  j: w- K, n! q: JPermitEmptyPasswords no, S5 ~- k$ d8 s$ S( M# ~, Z. \

1 b0 U  m% m9 x% H5.僅允許或拒絕特定帳號或群組登入
2 U2 `: l; X$ G+ k8 oAllowUsers <user1> <user2> <user3>
" \: s' Q6 e! {2 |3 R3 FAllowGroups <group>
4 [; \! r0 r, w& k. L) |DenyUsers *, ~% t4 k2 R5 J& W& ^
DenyGroups no-ssh
$ j+ _0 k1 A1 U  S7 l) g9 X, t根據實驗,對於同一帳號而言,如果同時 Allow 跟 Deny 的話,結果會是 Deny 的。3 W' I6 W7 b; u. ?
1 O7 B; u9 v& {4 }. D2 [0 G
6.廢除密碼登錄,強迫使用 RSA/DSA 驗證
8 E2 f, ], a& G& JRSAAuthentication yes
6 K" {: t0 R( ?3 D0 }PubkeyAuthentication yes7 o8 `' @  J  x5 c3 ?6 ]- \! H
AuthorizedKeysFile %h/.ssh/authorized_keys: x8 w& Z: @9 W: A
PasswordAuthentication no$ U$ G/ L& o* Y& @
並確保 user 的 ~/.ssh 權限為 700,同時將該 user 的 public key 加入其 ~/.ssh/authorized_keys 中。Public key 的產生方式可搜尋 ssh-keygen。
/ O: ^9 t! D, R6 m
' y) {% W; ?6 w! U5 T6 y8 X7.僅允許 SSHv2
+ Y: ]/ [2 g- z+ T, q8 @' f  SProtocol 2: x. L1 \7 b% I! ~

, P8 t  l+ N3 M8.限制特定使用者、群組、主機或位址的登入行為,這裡以限制 somebody 與 handsomebody 不可使用密碼登入為例
3 u1 W3 p. V3 I% HMatch User somebody,handsomebody: J6 Q2 Q+ Y* u' V
PasswordAuthentication no使用 TCP wrappers 限制來源 IP9 n! l+ ~3 ~* ^1 n% e
# vim /etc/hosts.deny$ B' h4 I/ s% a) T" M# H
sshd: ALL
$ C. ]* f: X) ~! F# vim /etc/hosts.allow
9 j6 Q, k8 w* L3 ^sshd: 192.168.1 1.2.3.4 # 僅允許 192.168.1.* 與 1.2.3.4 連線! l6 L* p5 [; {

: X' t3 ~' b3 r9.使用 iptables 限制來源 IP
, ?; h8 k0 L' {. [# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT& b  |5 I2 v# l) X- R+ u
# iptables -A INPUT -p tcp --dport 22 -j DROP* ]2 a0 F5 ]- A3 W! c: c
設定會立即生效,若希望重開機後還能保存,需要手動儲存 iptables 的設定。
2 G" }( Y6 J4 t# m: d+ E
. c8 e* W  `& _6 e1 x, q10.時間鎖定
- f/ X) G% j1 L* Q你可以使用不同的iptables參數來限制到SSH服務的連接,讓其在一個特定的時間範圍內可以連接,其他時間不能連接。你可以在下面的任何例子中使用 /second、/minute、/hour 或 /day 開關。! j' q# |; h; W3 S# z
第一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鐘內不允許在訪問SSH服務,這樣每個用戶在一分鐘內只能嘗試一次登陸
4 U  b: G0 R( |$ S  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT  s( n+ o$ \- \  }/ {
  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
* `. Z/ [6 ?- q6 t; y第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸後,iptables允許該主機每分鐘嘗試一次登陸
0 D* i; G- L* Z+ }* Z7 C  # 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 ACCEPT6 x2 o3 \8 k2 @- q& m
  # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
9 X# Z) \: J( a$ e& ~8 }1 i
$ w* s8 f. L7 n5 ]1 c3 f11.檢查相關檔案權限,不安全則不允許登入9 B. |" W0 V6 p
StrictModes yes
8 ]3 m' s' C) O# P. Y7 M+ K7 |某些相關檔案權限設定若有錯誤時,可能造成安全性風險。如使用者的 ~/.ssh/authorized_keys 權限若為 666,可能造成其他人可以盜用帳號。
7 j# b3 Y, c4 m& m
) v9 m- P) P' _# ^1 `12.自訂使用者登入時顯示的 banner (話說這跟安全性有什麼關係...? 大概可以用社交方式嚇跑壞人吧...= =a)2 k+ M0 q, f0 y0 M  H
Banner /etc/ssh/banner # 任意文字檔
7 N% e- m8 C. |4 {
% A8 s  }0 l" }; p, G13.限制 su/sudo 名單7 E' A+ h9 P$ ]0 h, V( j% P# m
# vi /etc/pam.d/su
; Q" e) d1 H. T8 S2 L5 m    auth       required     /lib/security/$ISA/pam_wheel.so use_uid' ?& I$ A+ M- [3 d* K* q
# visudo
4 V0 V+ L, }* h* P" Z- }0 z3 B& G    %wheel  ALL = (ALL) ALL
& E- y4 F0 q1 i& b# gpasswd -a user1 wheel
. W6 t# q" r& h, M1 M0 t, f* i. Y4 F) g8 o; k
14.限制 ssh 使用者名單6 h1 s+ [5 I" B" E+ B; `. m
# vi /etc/pam.d/sshd0 h7 e, B, ^7 \1 S+ H# i6 y. y% d
    auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
7 ]( Q. n4 h6 {+ S/ ~# echo <username> >> /etc/ssh_users! V; L3 h. o7 `% l9 M2 q
15.防止SSH連線逾時(timeout),讓PuTTY 與 SSH 一直保持連線3 O4 F! J% b5 ]. T
    修改/etc/ssh/sshd_config3 `6 n+ |; S( z0 M% m' F* _
#TCPKeepAlive yes5 j0 ]* W' }( N) `8 A
#ClientAliveInterval 0
! k$ g6 R+ J& Q6 _0 f) _6 o#ClientAliveCountMax 3
- A! A9 r" [- a- k0 b) R$ k  i
     將#拿掉==>存檔$ V8 p! e3 A$ ]' k& [% F
#service ssd restart ==>重啟sshd( y1 f* k( ]* D* w; W2 p1 h
    接下來修改 Pietty 的參數,進入”PuTTY 連線設定”:
- V; v: E  w4 K    選擇「Connection」項目,將「Seconds between keepalives [0 to turn off]」右邊的欄位輸入每隔幾秒,傳送一個null封包以保持連線。
0 ?! y& d) F! ]5 K) p
- @; I2 ]" z3 ]+ Z# D1 L! E





歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2