vi /etc/ssh/sshd_config 9 w8 g h* B% T4 o) i/ h8 k
0 s& f5 w. \* e4 W1.靽格寥閮 port (舐典銵憭 port)
6 c* b; T+ n# \! G9 d; RPort <port>3 ^# E8 Z$ l* Y. M) S
& H, S, \, i3 l9 m, a* E+ v+ ?2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)
! [8 B1 R- Z3 zListenAddress 192.168.1.108 f6 s c' K0 m# q& P
z% _; H, i$ z( a3.蝳甇 root 餃
+ R1 q5 ]! W/ G. ? C: ?PermitRootLogin no
6 x# y0 D3 S* ]3 d/ u! b! Y蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩& S; Y& I6 n0 v Y! v# k
( x8 Q- t1 Q( d4.蝳甇V蝙函征撖蝣潛餃
) n+ e# ?5 ~4 `PermitEmptyPasswords no# B9 J' d3 ^9 i2 g2 u6 i$ S
: R8 W' w9 [+ C7 H% V5.閮望蝯孵撣唾蝢斤餃
4 @* o! W- @* K) D1 sAllowUsers <user1> <user2> <user3>1 T% I, H/ T# Z! y
AllowGroups <group>1 V! ]9 W0 a E3 u
DenyUsers *8 b! \) v9 G! E/ @8 F
DenyGroups no-ssh
8 m) e: E" F( e( ?4 D% m: ~寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny , @4 l3 A v& k3 H! F
% t# R' `6 J) C4 x/ d8 \6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
# I/ y8 ?8 H" |% @# sRSAAuthentication yes
' [0 H6 D3 e7 ^, I& S! s6 d& N( tPubkeyAuthentication yes
: }6 [! J8 t9 S9 ?0 ]1 oAuthorizedKeysFile %h/.ssh/authorized_keys
/ A: I- u! K& CPasswordAuthentication no
1 e ^$ X2 L6 M7 c/ ~+ I銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen0 W3 U7 i/ o" e7 c5 i# ~/ _( S
: p; g% M5 R3 W, j/ y5 f4 Z/ f
7.閮 SSHv2
, U4 I7 y$ b; h5 i+ E+ x7 m; sProtocol 2
! x0 w r- S9 w. m! J! |' v, ~; ~
[( ]8 K3 l3 P" [8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔. g2 U+ ^$ ?+ F' _7 v! l4 |: V
Match User somebody,handsomebody
2 d' \7 p3 E& w6 s2 W$ Q8 ZPasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
$ o( ~( h/ @, y' A# vim /etc/hosts.deny2 h# {6 W. U# w% E* p v6 }
sshd: ALL1 h. @0 X5 K4 n# K; X( o# p
# vim /etc/hosts.allow: a4 q) d9 w3 h' l. D
sshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺# B3 I D9 y9 Y4 @0 x
* J1 Y7 L/ l8 W7 [" d7 H7 F6 q( F" H
9.雿輻 iptables 嗡皞 IP
n" b$ ]" @; r. A \4 _# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT! W. F& Z( }' L1 l1 N
# iptables -A INPUT -p tcp --dport 22 -j DROP
2 n7 U8 [$ ]# |* l- j1 O2 h閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖3 G) i/ L" ]" [* i( l
. ?% K+ d1 x. i* P" z
10.摰
8 C1 ~' [9 p+ Y6 Q9 z5 s9 X# l' G雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day + d( d; u2 H) J( u. a: x# ]
蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
# m, x/ m( Q1 V/ Y # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT3 H6 G2 H' G1 O
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP3 q, @9 l; n! T1 |; E& P5 Q2 x
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁+ j7 H% Y7 l2 [. g7 W# j) q
# 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
! r# T- r: f3 ]% w& h. [6 R # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP0 |1 u& J. k, `7 R5 S2 |: O' L
3 l4 K9 v1 i" ^* g. h, X! s7 `3 {
11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
K; q5 ~5 q* k1 Q |( E9 U2 DStrictModes yes! W$ A; x1 r# P8 B3 x* N! u
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
" }" ~4 C6 C. _) k8 V9 z( t0 c0 ^' B* X8 i) b. z! r
12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)
, Q1 R1 B0 K9 ^2 f3 v6 s9 j+ ?Banner /etc/ssh/banner # 隞餅摮瑼( t# z& M3 S6 i# w$ f2 ~
+ J- g( ?# F( F) r% |6 @13. su/sudo
. G( |( p+ L# ?5 G8 o2 M% M# vi /etc/pam.d/su
( }$ w( V' m; Z, u5 { auth required /lib/security/$ISA/pam_wheel.so use_uid
1 g5 E- A* D6 V! d S; [3 |) K# visudo
0 b+ _0 ^9 Y6 r0 `7 _3 D %wheel ALL = (ALL) ALL+ c5 t' B$ U) w6 p8 ^
# gpasswd -a user1 wheel
7 Y: Z! O/ M5 E0 F) _! C a/ f: o1 N" |9 L/ o5 P8 B
14. ssh 雿輻刻
5 U" N( C4 K5 a. l: u# vi /etc/pam.d/sshd) ~6 A. z+ T: K
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail4 u. y. y ?' B! c, z
# echo <username> >> /etc/ssh_users) t' ~% j }! v d* @
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
& U, g0 L1 T/ w 靽格/etc/ssh/sshd_config$ {4 {: y% L! {& @- N# F7 q8 s
#TCPKeepAlive yes, Z+ z: z. H" e- B. e, `
#ClientAliveInterval 0
, c4 x- }! s% J1 r+ h7 c9 ~#ClientAliveCountMax 3
' ?5 S0 r) y* v6 ?9 C! w& g' k 撠#踵==>摮瑼
6 s$ x# f) S4 t. j+ F2 a0 K#service ssd restart ==>sshd
9 U( }8 d) k5 q6 b: [+ u, f 乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:0 o* I0 S5 w, _+ ^
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺( w3 R/ L( M" ?3 ]
% z5 }+ G- o3 f
|
|