vi /etc/ssh/sshd_config
. e) A( t( J) \: y8 c- }5 G* `# X* g! @7 k
1.靽格寥閮 port (舐典銵憭 port)
% y, P7 _2 D0 `Port <port>
; ~) e* U [5 U3 i! ~( [! o( g4 A
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)/ p, \% |3 a: N' m0 d; m; Y. Z( k& z9 K4 n
ListenAddress 192.168.1.10
5 @7 G: Z* v) p
5 ~6 u- F8 _. F1 w8 w3.蝳甇 root 餃
$ R, c* C( l, ]# y+ F5 @5 t6 f! ePermitRootLogin no
/ F4 @0 C* f- u' c, z8 [$ p2 s蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩0 i7 ?! Z8 K! O' a+ x$ I* D
* W. c! k6 k: F8 S3 T, W, s8 L
4.蝳甇V蝙函征撖蝣潛餃
$ |% S' w$ N4 R, m( RPermitEmptyPasswords no
/ m/ C& _8 h/ { _) H$ P! D7 E7 g( a
5.閮望蝯孵撣唾蝢斤餃
- K) I. D; k2 ~/ IAllowUsers <user1> <user2> <user3>
; o! w! l( s' l" B, uAllowGroups <group>9 }/ N/ c5 ?/ M- S( c3 l
DenyUsers *
5 {, }" ]7 v$ _9 J8 X/ i, dDenyGroups no-ssh. v+ t% u! [+ n3 T
寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny
( S1 A- j7 @$ e& Z, v( [( u# s$ r" ]! X2 U/ Y
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅 e4 J' K0 J ~7 ]* N
RSAAuthentication yes
# g5 Y+ f; e( X+ M$ r7 d& pPubkeyAuthentication yes
8 r/ R( s; K% I3 n. SAuthorizedKeysFile %h/.ssh/authorized_keys
, v; }3 x) }1 C) V1 l0 R6 DPasswordAuthentication no2 U7 J3 \* `$ Q- i0 G& |; g+ o4 T
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen
1 j# V) E: @& g- j6 b
2 z" O/ S* n7 ?, C, M* f6 i5 P7.閮 SSHv2
" E* j! i$ s2 l9 i2 C) g7 X0 @, z* pProtocol 2
: z: i. D% q" v8 ~4 X* C( z
( U6 s( i8 S* b0 M& y8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
, x$ @& V" Y! kMatch User somebody,handsomebody k' h! s" \7 j9 t
PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP+ [- t3 Z7 T n! U, S% ~; ^; _
# vim /etc/hosts.deny$ v3 \8 }7 [* u& o# ]# c9 ^* D% D
sshd: ALL; c, U. e" n6 N4 R3 v+ s6 u& r
# vim /etc/hosts.allow
4 }0 Q1 S8 S# ~, hsshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺6 Q+ f) n! b' q7 S/ w# }
7 S8 R- d6 G- j6 j
9.雿輻 iptables 嗡皞 IP
: F% `5 t/ X( q# V {+ N# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
b6 o* ]/ C6 }- E. H# iptables -A INPUT -p tcp --dport 22 -j DROP
' L2 X& O( W0 z3 F5 I) w/ c閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
- ~4 D/ h/ r8 w) a
: R1 ]: c- i0 d2 Y10.摰' {% R/ e! b4 h! F3 M9 q: p& X
雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day
* C1 O& m+ m0 h5 S: K0 |5 j9 e- @蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁9 f1 l9 I% e7 s9 p8 {6 W; E. d
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT+ Y" E" O6 [% Q [9 M2 P8 y' |
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP5 Y) p; p8 @: J0 x c& x f8 B
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁: A$ c; v- i% Y# w
# 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: d1 i# L; V0 j$ X! |) H3 e. ]
# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP/ }0 E O- V4 o) V Y# `( x
& y4 h- W5 s! O9 `6 c* j! s% H2 \11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
4 d$ |. [# Z3 _3 T5 vStrictModes yes
, U! l/ i# q- `3 y) X# X1 B4 }( I鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董4 m% i! q3 H& M& w
0 m- b# u& I5 O% d) c
12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)! a5 q( b& W7 Q( Y* r" N
Banner /etc/ssh/banner # 隞餅摮瑼
5 J5 r- t. S- ]! K: H* b. ~+ i$ a; c
# W2 `& Z) s: r1 w$ u5 `8 P13. su/sudo
( _+ _9 n4 [! `, ~) V0 P# vi /etc/pam.d/su: p( r N! q0 y4 m7 S0 Z" E8 i) f
auth required /lib/security/$ISA/pam_wheel.so use_uid% X, r" y* ?9 |9 c; S5 K, Z
# visudo- D' T5 K0 ?5 ?4 o6 O
%wheel ALL = (ALL) ALL' q- B4 R n( p: Y* U( l
# gpasswd -a user1 wheel
& P( P: ?: ^* b* S* j2 `* m
9 j" z% B' a+ Z- r$ a14. ssh 雿輻刻
0 e* u$ [$ H3 }0 B3 Z# d1 v# vi /etc/pam.d/sshd. l e4 B0 r6 K A- }7 D
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
$ {) {; s6 J x6 ?: I# echo <username> >> /etc/ssh_users
1 c6 v7 b8 u6 i9 w& o3 R8 ^15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
3 [4 s1 u+ W# b. c( W* r! g8 s+ I 靽格/etc/ssh/sshd_config
* p4 P4 i2 O6 S- E6 q- z5 J#TCPKeepAlive yes
" y# `7 h8 v2 y2 U+ {: g#ClientAliveInterval 0' J! {2 k+ Y" n- s
#ClientAliveCountMax 3/ r: V( P4 L6 Z6 Y4 Q2 K) h5 b
撠#踵==>摮瑼0 f0 w% p+ f% z4 N
#service ssd restart ==>sshd
8 P, X& I) ^6 Q6 Y9 |. y. n 乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:
$ }5 H+ ~- s. D5 w1 t% u 豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺
/ I- @8 b" f+ `1 f8 z1 z! q4 _+ u( |/ {$ o6 g. T
|
|