vi /etc/ssh/sshd_config
- l6 U. Q3 j6 E' R; D$ O" t! f+ D/ C5 m
1.靽格寥閮 port (舐典銵憭 port)$ q' \; G& {# @% s' B
Port <port>1 ~. p& r- o2 T( T3 i
0 H6 a% M* s& e# V1 X; k% v
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)& U& W: q+ @ e0 Q# _* W( _
ListenAddress 192.168.1.10
0 q+ @" l k$ C/ N/ A* h
0 z$ S- d3 q, y: F3 J3.蝳甇 root 餃
* L- q, x/ b- }7 @7 o+ QPermitRootLogin no
3 v) d( ^* o& a* M; n3 L蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩; Y$ ]! U. U+ s: w
! W: L `# F+ \% F" C* F" h4.蝳甇V蝙函征撖蝣潛餃
* t" E9 n* X! JPermitEmptyPasswords no. G4 X! z1 Q% \
% S2 o9 C5 N w; {& m* b
5.閮望蝯孵撣唾蝢斤餃. I G0 ~# s; R8 L9 J/ q3 y
AllowUsers <user1> <user2> <user3>
* h0 a' l; _; Q* R* G7 PAllowGroups <group>2 u# g9 u1 J0 O( t
DenyUsers *0 \ ^+ M) ]9 y% I$ n8 K
DenyGroups no-ssh$ p+ Y0 H) y& m& i' t# p
寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny
3 @- o% K% N4 {/ ^ G( y+ m6 ]. |: o* d+ \
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
9 S+ z& Y: F8 ]5 S, p+ tRSAAuthentication yes
* H$ A: A0 q) jPubkeyAuthentication yes
7 R$ `: ~5 U" ?1 i# tAuthorizedKeysFile %h/.ssh/authorized_keys
( L/ e! L4 O3 \- p `4 nPasswordAuthentication no/ u, J* p3 P/ j, O
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen
# n2 j2 z- P2 ]" i; A) z4 n
. F- I' w/ t4 s7.閮 SSHv2
8 w! b; ?) L1 v. x, f2 ^Protocol 2% m, o4 t O2 Y. Q3 x
) m2 p( n2 B9 c
8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
& x. G% e* g. w. A# g8 YMatch User somebody,handsomebody
7 v* S( B2 O+ p* T/ ^% gPasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP6 @/ |' A# I4 j; i: e9 d3 N
# vim /etc/hosts.deny
3 q6 R9 T: w8 C0 Z4 t& `sshd: ALL; c3 N" A% w# S! K% v
# vim /etc/hosts.allow
, D2 r }0 V+ E) h! ^: bsshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺
6 ]! g- p2 q0 N0 h; x1 _+ y8 r5 a
" p2 D3 H: T7 {7 D/ G7 j9.雿輻 iptables 嗡皞 IP
z, Y1 v+ b. Q; J- a- C# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT5 \ D' T/ x0 k4 R$ w5 a
# iptables -A INPUT -p tcp --dport 22 -j DROP1 f+ o5 q4 K5 a' f" v6 h7 _
閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
/ O) T0 \ v1 Y* s" q( P) N4 h9 [# e
10.摰9 m) b+ ?+ j$ [) J3 C# H
雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day " c" J2 p7 P+ u, ^% q; \! A9 u q& A
蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁7 X2 p" P. @ ~, f
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
2 j) N6 U, s% E8 P! K* H2 S # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
& b( l4 v! Y! q; [: L) D2 n蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁
: x- Z3 k& }! n # 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 ACCEPT4 J; {$ x* c7 ?8 D' ~6 J9 V
# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
* _9 R3 l# w1 _/ W9 a
7 X9 r d9 t: d6 C4 {11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
/ ^( z+ `1 o. [& o4 WStrictModes yes
: _+ T" W# Y7 E) L鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
" P3 t) D+ l, ]1 K
8 h) s8 {: g, a12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)
' V; t) H/ k8 G% w$ t7 iBanner /etc/ssh/banner # 隞餅摮瑼7 {8 @; U; i6 t E `4 p: H! b
* z: z2 M' r- p, w13. su/sudo ) p r8 W/ F+ b, {
# vi /etc/pam.d/su
) T$ e$ g: n7 V4 F auth required /lib/security/$ISA/pam_wheel.so use_uid
' z3 o6 K. C; U \* F7 K( U$ b# visudo* y8 `9 \. F/ ^# U1 a
%wheel ALL = (ALL) ALL
. n% e/ v* H/ {# gpasswd -a user1 wheel
3 A z' @3 P* w! y# g
& ~8 t7 t9 L1 n. }4 H; v' `14. ssh 雿輻刻) s9 s4 Z3 ~' w; h# P
# vi /etc/pam.d/sshd
! s* ]; O2 E7 Y# i auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail2 s7 Y; ~8 P" M3 S* v
# echo <username> >> /etc/ssh_users/ V+ O; P$ v3 y" t# B
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺4 q8 d! L( N5 o. P% Q( u2 ?4 L
靽格/etc/ssh/sshd_config# d' Y" Y4 r/ `9 x- g. m1 o# I
#TCPKeepAlive yes
2 J+ i S7 {6 G) ^% [# b8 H& c" N#ClientAliveInterval 0 b2 h2 \( i" D+ p9 x8 _
#ClientAliveCountMax 3
- J3 f, f5 c2 Y7 x6 } 撠#踵==>摮瑼5 E' m9 Q) @8 k" D1 F, L
#service ssd restart ==>sshd" J% I8 X& R/ o% ~: U# C
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:8 g- U4 R* o5 ^! j9 x5 b
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺( j) q+ a: @! ~0 S. C: l
& Z" c5 Y, K5 d: k |
|