vi /etc/ssh/sshd_config : Y5 U+ w2 Y, q: l* w1 A
. p2 n5 N6 f2 W
1.靽格寥閮 port (舐典銵憭 port)
6 j0 P9 s: I+ H& u8 aPort <port>
; E7 f. @& w6 `( `) N6 N. a' d3 E- ?; a# \. q2 O
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)! \+ q+ W1 B1 H, f- u
ListenAddress 192.168.1.10! h0 C7 i% }* e
; }) J* N6 ~7 B7 k
3.蝳甇 root 餃
: ?" L+ u7 E/ ] ^; ?. c" U/ ?6 g' NPermitRootLogin no ~, [9 D, X5 R4 I
蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩
0 Y0 n3 W: v4 n& v3 T1 ^* G4 w! H7 w5 n( H p9 O
4.蝳甇V蝙函征撖蝣潛餃
2 n2 ?' v/ `$ Q6 ?; y! F* rPermitEmptyPasswords no
2 O5 i* m ?+ F/ ]; I6 I" q5 d1 @9 L y1 J0 w' V! M6 `
5.閮望蝯孵撣唾蝢斤餃/ i2 j) q/ U) O9 G) |. m
AllowUsers <user1> <user2> <user3>% T0 c% Q x9 k( x
AllowGroups <group>* C q# F* W* o, v4 T A* v7 T
DenyUsers *7 g4 p1 ~( b. J- f
DenyGroups no-ssh
8 L/ b5 \& ?3 v7 T: Q寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny
- |" P, _& F/ U& [1 N: R6 N5 O- E2 c/ n/ L0 E3 A0 C( g* f5 f
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
( `3 L9 d9 A" H) b- aRSAAuthentication yes6 f. N) H$ j) [& Q' {* Z
PubkeyAuthentication yes% w& S- o, l" U, n8 u! Y
AuthorizedKeysFile %h/.ssh/authorized_keys
+ N9 w7 Q4 ?+ b# V% ]PasswordAuthentication no+ ]3 X+ @9 @& E# }1 D# c
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen
: Q4 _7 L. J# l A, a$ Y8 T0 F8 X2 h9 }- y
7.閮 SSHv25 Z' P+ |; G t; t2 j# V# Z! o+ b
Protocol 2$ {0 F7 |3 Z* I
7 o( t1 D0 g( M1 B9 |8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
+ z) A D1 e0 T# W/ nMatch User somebody,handsomebody/ u2 k- B) D7 T5 r. e- t: j# }
PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
' H V7 ~3 p+ ?8 \* [5 x# vim /etc/hosts.deny9 K2 X5 H! V/ {* q5 J7 R) v2 `
sshd: ALL
. v8 j7 m" l. q7 y+ y# vim /etc/hosts.allow
a& o& l+ T' [3 \# X1 |% wsshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺
3 ?# y9 J& I* r7 F' ^* A8 |/ I q) Q$ ~) y& _4 V
9.雿輻 iptables 嗡皞 IP# @% U1 `5 e1 W' h% O
# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
3 @1 ]& E3 Y3 X# iptables -A INPUT -p tcp --dport 22 -j DROP
( D" P. r* ~3 h閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
0 M8 b, y" }8 `+ v. g% m7 V6 v* J+ Z
10.摰/ n: ]% c' X" ?5 [
雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day 7 x! v" Z) P$ f3 h+ M
蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁& t s8 i9 _) T4 u# k( ?/ T
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
$ Z9 a& B4 M" ~7 t; [4 a # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
; K9 O/ {3 E& ]) ?% `: K5 A蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁- {6 S/ ?( \+ |
# 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 ACCEPT
( x n4 I0 O1 d a* L9 T& D7 _+ z. \7 Y # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
* N4 e8 v( }: G9 \5 t
; a7 P* Z) g: \" G11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
( l3 \/ z& S$ U" H0 z1 W/ ?StrictModes yes0 L' Q- C5 R" z1 {6 S
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
: l0 m, m9 @) o# ~4 ?2 I
% ]0 n, n& [3 \$ E' F4 q12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)" g0 @5 Z9 t0 s6 U) w% r) b
Banner /etc/ssh/banner # 隞餅摮瑼6 r& A; j8 r" s- ?4 @$ z) N& |; x
8 S* q, T6 o: `) r$ G
13. su/sudo / v; \/ v# f7 V
# vi /etc/pam.d/su# J& j( d. h0 ?% S
auth required /lib/security/$ISA/pam_wheel.so use_uid' U$ P* g( Y) o, _( X
# visudo
' @7 G, a* p* {* I. y: I %wheel ALL = (ALL) ALL
/ g7 q, y. C! y' @; o1 Q# gpasswd -a user1 wheel, e' Y% j% Y$ l* d! C
6 D4 W8 y: n/ K% ~" r" y3 G( r2 P
14. ssh 雿輻刻
& x" j# {/ q Y7 ?7 F& n; k# vi /etc/pam.d/sshd
6 L: g- u+ H& Q auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail$ T* T! T# T$ m0 ~" w& F
# echo <username> >> /etc/ssh_users; R/ ~2 S+ p' a2 g
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
' i& u7 H7 k9 B! y( ` 靽格/etc/ssh/sshd_config; }+ \$ }1 U) L$ X7 w! N1 E9 C9 K3 Q
#TCPKeepAlive yes
. }/ E j1 P- I#ClientAliveInterval 0
6 h2 ~3 v* G0 N9 y, {#ClientAliveCountMax 3
! d0 ?7 Z9 A, n5 g0 o8 U 撠#踵==>摮瑼
, O( \ y5 j& H#service ssd restart ==>sshd
! }- T# X/ Y' U1 X: u6 G) u 乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:
. _; ? ~$ i v0 Z) V' s" X. w 豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺/ ?* x* I2 D7 B+ a, x' B5 @ X1 D
, J% D7 G9 U4 _9 p( k
|
|