vi /etc/ssh/sshd_config
# V8 w, Y/ O$ e- J" J; q+ [, w1 \# M
1.靽格寥閮 port (舐典銵憭 port)
' C* c, [' C9 {, {; s6 S A: _1 aPort <port>- t, k1 c4 r$ Y0 ?8 I
5 x; G" d2 s$ P2 y2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)
. ^7 J/ f, m. J, @% o& v* UListenAddress 192.168.1.109 G9 Y4 p) k! l; R' Z* o
% S3 Q; K' i& e( k
3.蝳甇 root 餃9 J a$ E& f) |) ]6 d. V
PermitRootLogin no% @0 J( N! d( F1 w g4 T, S
蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩7 c* P3 Z; j0 {" m2 |( c" [( P
% g5 c3 T8 f) G9 X
4.蝳甇V蝙函征撖蝣潛餃9 e$ |# J; X* R) p
PermitEmptyPasswords no# F/ i3 X5 @( y- @' n0 L
+ A! k9 e. O/ J/ J8 `6 n0 {' u5.閮望蝯孵撣唾蝢斤餃2 n2 k4 I+ s6 u4 @
AllowUsers <user1> <user2> <user3>5 [$ m* I6 `, P( A: B* C) O6 Q
AllowGroups <group>4 H. V1 {2 r% @9 Q1 k
DenyUsers *
3 S7 u/ l2 L Y; v1 f4 f& SDenyGroups no-ssh
8 q7 J4 _0 @' J- X3 m. |: |3 A寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny - Q& R: _# I# v( k
9 a& ]1 @5 P0 k. W- _6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅0 s4 H( w) x+ Y/ i
RSAAuthentication yes
# ^# p0 A; K6 APubkeyAuthentication yes
0 y6 r3 b$ P |0 O" {9 |AuthorizedKeysFile %h/.ssh/authorized_keys s$ k8 ]+ U( z x" u
PasswordAuthentication no: d U3 B0 ^# o( \3 L
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen
4 S3 M; d+ A# o/ \9 R
" B3 N4 b1 ?. t% U: E7.閮 SSHv26 d, e q2 v, G5 |' u* F0 q
Protocol 2# S& Z5 [- l3 ~8 V3 L' V
' Q8 z _+ E" ~8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
" B `$ W/ A: F6 V7 C6 r: R8 YMatch User somebody,handsomebody
# R9 a8 j; W! }0 \, |1 s# T% @! }PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
- X% a F5 b) h3 R, ~* b8 F1 V# vim /etc/hosts.deny& x* {7 ]- |7 {7 f* i0 {
sshd: ALL
8 @) H! _7 [% g: o# vim /etc/hosts.allow
' k: U/ [7 }; w/ D+ B" U& ]& qsshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺; p; d; }9 e9 Z# V* X5 O# t J1 X
2 o; p W. T" F9 B! w6 F9.雿輻 iptables 嗡皞 IP
8 i4 ^6 l% x- c* x) C# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
3 B3 B$ W5 D6 S# iptables -A INPUT -p tcp --dport 22 -j DROP
/ u+ P, t5 m: q# j- }閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
- k1 U) A/ Y. X, d/ C2 {/ A. v3 @1 M7 K' }- S8 i
10.摰! F) F# U$ G8 f
雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day
' Q: V" |, {- K. i' H+ F2 o蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
; D$ y: P7 ~- `* j1 R # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
J p2 A6 H7 u # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP9 I9 `2 y+ u4 {9 I* m0 b+ ?( }5 a
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁
& r- }& Q9 B+ _9 c- g # 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 ACCEPT4 ]( G' i7 y/ l# p
# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
& V0 ?1 ~( ?+ P
, Q% \+ F- B4 G+ `6 f11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃" Z4 l0 |/ p% [ }
StrictModes yes
# ]5 S# _! y0 p6 `鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董8 C$ w2 a: a5 k0 M+ _
9 K: {+ p/ D- N12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)
4 ]2 V; d; |% E9 ]/ V& P/ d) QBanner /etc/ssh/banner # 隞餅摮瑼" ?3 C1 Z$ O( z, B: Y, }
& O7 x, b. D. b& E, B
13. su/sudo
7 P$ E+ I( T* ~5 H# D: m7 ]% D9 J9 R# vi /etc/pam.d/su& r+ F, h+ E7 I1 Q5 [2 z
auth required /lib/security/$ISA/pam_wheel.so use_uid
0 L* o1 D# x. y. a9 H# visudo; ?" G4 ]9 i( G
%wheel ALL = (ALL) ALL! W" C4 J1 M' u: O% e
# gpasswd -a user1 wheel7 Z) s: `* Z9 U0 t/ T3 u% y: V" |
2 s+ I* X: c$ t' _1 z6 g14. ssh 雿輻刻. ]- f! W% }# z$ v" L4 b
# vi /etc/pam.d/sshd
. n) t" X3 n6 K4 {1 A auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail7 G# b% L; f [3 W) X8 W5 e
# echo <username> >> /etc/ssh_users- V& a- f; ]) x! L( v
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
* C! A6 X3 n N {! a+ c 靽格/etc/ssh/sshd_config
, c. d6 G$ [+ s; p5 T1 a#TCPKeepAlive yes
" X2 t( Q' L6 }- e1 X1 R6 G#ClientAliveInterval 0
& ?; J2 R! [; g+ a i: r#ClientAliveCountMax 3
3 ^$ K1 E5 Z# f# O 撠#踵==>摮瑼
T A: @9 Y$ j4 M7 R& f#service ssd restart ==>sshd
; i) z5 L, G. `! k 乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:1 q4 H9 a/ D; S- J) ^ c; A
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺
4 ?8 L$ D& u- j2 r' I7 _6 C* x' E6 x# X% ~& o# \# ]% c# S, L) L
|
|