vi /etc/ssh/sshd_config " O- f, {: r' Z# a$ Q
+ j N3 t5 Y" L0 U+ [3 r6 D5 }1 p1.靽格寥閮 port (舐典銵憭 port)
" M. O: H$ O2 L1 D7 ^2 GPort <port>
' h6 `. g# V; _4 I8 W }2 E! I& q! [
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)
: ^$ ?; K6 C$ j8 A( P, cListenAddress 192.168.1.10
0 l5 k+ a6 O r2 _5 q& A* f
8 i& O- [7 l( l# o, ~3.蝳甇 root 餃2 ?* c+ D" v8 E3 j/ _, V7 S
PermitRootLogin no
" y: C- B! K1 I% l' F- W# D蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩9 r2 ]7 J4 Q1 P: Y1 j
0 f' Y+ q7 C; V4.蝳甇V蝙函征撖蝣潛餃
0 a/ F) S6 v. F* c; `" f4 xPermitEmptyPasswords no
: D2 z; V4 i9 N% u: H" {3 J/ u- U$ _9 k- j2 A2 {2 X
5.閮望蝯孵撣唾蝢斤餃
$ r ~. j; E! dAllowUsers <user1> <user2> <user3>
$ ?+ ]' P4 ~3 [8 j$ VAllowGroups <group>
7 e+ d# t8 a# m1 \8 s' VDenyUsers *& C# r& f! H2 d( f) D5 E
DenyGroups no-ssh& S( O8 ]0 I- T$ I; I( {; ~* x
寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny
" r/ c. X. v6 A" i1 q* G0 T Y6 Q, c0 U
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅& T$ F5 x* k. I9 G: E- ~
RSAAuthentication yes) S& ~9 S- c, e8 j, G% T
PubkeyAuthentication yes
9 R9 R8 e9 e$ k( Z, ^- q* xAuthorizedKeysFile %h/.ssh/authorized_keys6 `0 L& _, z) Q- ~! S
PasswordAuthentication no- _8 l, Z3 ^- x2 o- u o6 P) Z
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen! e$ Q, {4 R3 y0 i6 j( D9 b/ a1 K
4 c0 a7 Q% g/ `6 Y5 Y1 v7.閮 SSHv2
9 N* C. ?% c% J* BProtocol 2
6 k& d4 s4 y4 A4 j; {: ?/ x' K& b
. w7 M2 {+ I2 N1 @8 x8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
6 q. G. Z" R5 l/ \* qMatch User somebody,handsomebody
6 }* m. ~% W$ M$ m% m& J; O& R7 |PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
! K1 _9 a4 X R0 C- \# vim /etc/hosts.deny) j. {0 n* L+ y3 t! P, r
sshd: ALL
/ g6 e T, @1 g/ ]: U# vim /etc/hosts.allow; d2 F8 Q5 b* W% d
sshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺' v0 w& J- L# I
! x5 d" i, \+ r, K9.雿輻 iptables 嗡皞 IP
( _( ~! p9 T4 @( c: r# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT; Y6 c X( `# R, k/ Q" i( ^7 _
# iptables -A INPUT -p tcp --dport 22 -j DROP: @" j: ?2 n$ l m; T4 u7 T
閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖, L6 l: V1 X3 z: |/ O
! s$ Y1 l$ c6 O3 d, R9 O10.摰
, d3 Z+ g. K( H6 x雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day
+ B j- S6 F6 i; ^& X2 T* D6 s蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
% Y# y, _3 K/ h7 V! V; K: g6 L1 W X( v # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT d4 e4 K3 R' _. r5 T. I
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
/ O) }* S% N2 n; B8 F蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁
# Y* m# T$ o6 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 ACCEPT
4 f2 m$ H9 v$ Q Y0 u2 L # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
: @( H' ]8 M3 U1 d
1 O( N7 ? A. w) }8 h11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃2 o8 k( g0 }1 U
StrictModes yes; S: p/ Q" \* w
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董$ V% q8 }2 R4 T+ B2 y! J
- m& v* H/ R+ ]& q: W
12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)/ v; l$ N" i. w' k0 {
Banner /etc/ssh/banner # 隞餅摮瑼0 m/ a2 E a3 ~- p9 }2 V
. I0 ?2 e- b$ R8 l) A4 G1 R13. su/sudo - d) ~! O8 n4 c$ U
# vi /etc/pam.d/su+ O6 o% o2 C3 O4 m- C7 X8 o) u+ c
auth required /lib/security/$ISA/pam_wheel.so use_uid
( \" i% q9 |, Q% h5 M5 `# visudo! |$ z: w; h) F5 x" {
%wheel ALL = (ALL) ALL" Y. ~/ K) s6 e- Z- }" `' q
# gpasswd -a user1 wheel$ P$ n1 t) x9 [" h: L
) ]6 E1 W# \$ z( O% a( u14. ssh 雿輻刻1 D* f% N* i4 X3 {; q2 j
# vi /etc/pam.d/sshd
! a; K- F9 C$ G1 `9 `# C/ M7 g \ auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
# Y; F6 t5 f6 n1 R' z( @# echo <username> >> /etc/ssh_users: L4 t! A X3 j$ X+ w
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
1 M; V$ E( B; ` 靽格/etc/ssh/sshd_config; w2 T6 U, ^* r
#TCPKeepAlive yes5 {$ ^ z* w6 {5 f+ {- x4 H. G
#ClientAliveInterval 0
, F( U* X, W: o+ R! g#ClientAliveCountMax 3
8 a& {! a! e" [: }/ R" K 撠#踵==>摮瑼
; m: o) f, q/ P+ u, ^& _#service ssd restart ==>sshd; d% j0 W4 ~5 |8 M% @) R
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:7 M$ Y4 w8 {- f% _9 D: f9 E0 A3 z
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺
7 k) m; M! `& v
' e0 L u2 [, n |
|