vi /etc/ssh/sshd_config
8 Z$ X& a; R# K0 o2 k0 X# O' g* F
0 b% v: W2 s9 M0 l9 x1.靽格寥閮 port (舐典銵憭 port)
, B3 \/ T4 y' o) y( ]+ YPort <port>8 F# R. {# B) n/ X X2 F( m
' H9 \. K8 _6 r5 e+ i
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)
* A( F; M5 I0 VListenAddress 192.168.1.10
- Q) N+ ~2 o' Y) Q/ ~9 t2 n4 h, Q0 g6 f
3.蝳甇 root 餃1 ~, U7 Z( ^ e( p1 V. T
PermitRootLogin no
7 p/ q0 Z5 M& Z$ r+ Z2 G蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩
0 U- u$ W9 r9 ^% u5 T4 j5 v1 x/ |4 ^% v- }
4.蝳甇V蝙函征撖蝣潛餃: y' u' B$ A, I
PermitEmptyPasswords no
8 s: L# u/ J8 d# X/ o( l
1 N. v+ U% A9 l; v5.閮望蝯孵撣唾蝢斤餃
0 i) F1 u" r/ T# Z- @AllowUsers <user1> <user2> <user3>
" J" t+ M+ ]. a: R7 r8 T) Z% UAllowGroups <group>
$ r8 H8 p5 b6 [: [$ ]) h ]DenyUsers *
; X+ z4 q/ \! g* rDenyGroups no-ssh
8 e* a t( r4 b+ l' l* [寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny 1 [% d1 n. {# J; F) j
- H* [1 G5 G4 }) N- f0 F+ o% ?
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
$ h* \2 _' ?. S! m" ?3 }RSAAuthentication yes
7 `! B# K( P% y* Q# z! f1 C3 F; {% n* TPubkeyAuthentication yes& g' S2 B0 k, F8 Y' A4 n
AuthorizedKeysFile %h/.ssh/authorized_keys
9 Q k$ a& `( MPasswordAuthentication no6 @- K5 }% T% Y( l3 {9 k! u4 a5 v
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen$ n8 X" D& N9 J2 Y& u
. M* G' V1 ]/ e" m0 ~
7.閮 SSHv2: X3 e- W+ H" J0 s
Protocol 2
9 `1 p; r) s8 C& l4 H! K7 q/ i! r i0 o6 I7 n2 W1 r
8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔' H+ w3 Z, @; V6 f
Match User somebody,handsomebody
2 ^. j5 L8 ]9 ~; ~; Z% T$ n$ ePasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP/ p; s; q8 I: V p" z( e
# vim /etc/hosts.deny
' c, P, G* R$ f: R4 s. \" w+ wsshd: ALL
- v* @4 b1 S3 v( e$ D# vim /etc/hosts.allow
+ _- j# }) H; [2 ]$ J2 csshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺
5 k$ m, ?0 g( N- X! ~; h# M; r) K) S" v- P
9.雿輻 iptables 嗡皞 IP! y- L) E" g; m& q& [9 c* [
# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT) u3 o3 i9 o G$ z B
# iptables -A INPUT -p tcp --dport 22 -j DROP% y, X; M7 ?7 b- q' u
閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖' h, b& i! v) G- u3 k$ a
6 `! {1 `% A2 s6 g10.摰
R! E9 u( K$ l& { J3 Y雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day ' |4 C3 G6 r& l! [$ x: i
蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
7 \" m, W o! C' C # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT! ^* m7 t& c8 Q8 A [
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP4 N9 {$ Z# q7 I
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁8 E% N1 S! M0 g# 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
! m3 ~$ @) |& j3 c! m7 S # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
; F1 A' [9 Z2 t: a2 G; W& ~0 c) u9 ?4 E& M3 u. ]
11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
2 N5 J2 i) b' p ^+ mStrictModes yes" @5 n1 M; j G, r
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董7 o0 j4 v {+ G3 a% G
1 M: W- a, b/ o" g. y
12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)2 @: y/ [3 I* y# u5 B- P, O( o/ l
Banner /etc/ssh/banner # 隞餅摮瑼/ ^$ D' y# ?/ z. \- C
- t# S; U0 w+ F( L' N5 [5 D( d- O8 B13. su/sudo
3 ?1 L2 g8 ]+ \( b5 x, S( Z1 g# vi /etc/pam.d/su* l B6 G- l) }" \$ ~; A
auth required /lib/security/$ISA/pam_wheel.so use_uid! K8 o J7 z4 n
# visudo
$ d8 U! u; P2 C6 {. | %wheel ALL = (ALL) ALL9 L" ?( ~# D" l {# T
# gpasswd -a user1 wheel
( A+ {! C, j- | }- n ~. a2 k! J4 I( A" r. O7 S
14. ssh 雿輻刻
& {4 M$ l' E. |1 t: q2 c' [& i# vi /etc/pam.d/sshd
8 T; D0 T- S" W" t1 y. N. x) m1 | auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail( J! j" O! u0 V/ }. p# c
# echo <username> >> /etc/ssh_users
! F0 n8 S; e {3 R z9 x; K15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺1 D: \/ H" {" L. H1 @
靽格/etc/ssh/sshd_config
4 w) y9 T* k* g9 }! `#TCPKeepAlive yes
* D O8 G* P; ?' b: t, M7 e#ClientAliveInterval 0
- U9 U9 q+ g, S& |7 q; ]( [" M#ClientAliveCountMax 3
0 Q/ p$ Q+ w% [( J6 L" Q 撠#踵==>摮瑼5 Y8 E" R- H6 z/ G
#service ssd restart ==>sshd0 q/ \) d9 u* y. {
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:
2 j' M& c/ t [/ q) G v 豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺. g$ p/ H1 [$ y+ D
& X! l7 C7 V. g- w I) u
|
|