vi /etc/ssh/sshd_config 9 U: A' |' c7 [! E: A6 B
8 c) k: N5 ~! Y" D
1.靽格寥閮 port (舐典銵憭 port)
5 L6 B& v7 I0 dPort <port>. f0 t. e' r/ u" E
. M8 h4 X. ^5 m
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)% U3 Q' k+ i3 N
ListenAddress 192.168.1.109 f0 l. p2 w& g0 k. u
% m! z; s% h/ ]& v3.蝳甇 root 餃
. v3 e& D2 U+ |1 fPermitRootLogin no* v$ z* M- e7 m J. u! C$ L8 n- C
蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩$ O$ ?) J/ Q% w6 f" i4 V. U% {4 y
* X8 D" {1 x5 _( n4.蝳甇V蝙函征撖蝣潛餃5 s( m" s; g( s
PermitEmptyPasswords no) Z" _+ _! y& j3 _ [& f# R: @# E
) J! ? ?* H$ u V: I- y. L5.閮望蝯孵撣唾蝢斤餃, ?8 K3 X$ L, G5 V! @, ^
AllowUsers <user1> <user2> <user3>
& }% Y; j2 R r! Y3 X% JAllowGroups <group>+ s0 N/ h6 u, p6 ^# V! ?" T
DenyUsers *
: d( k6 | e) R- B% m" j) ADenyGroups no-ssh, Z" d+ L! X9 g+ N
寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny . C; R! y. @7 a# a
3 X$ K& b- x5 }: H
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅8 }+ c0 n; u& P" i
RSAAuthentication yes8 x& b9 {; z3 J
PubkeyAuthentication yes
2 `7 {* [! N$ r4 wAuthorizedKeysFile %h/.ssh/authorized_keys
+ `' _! G8 v% G+ X$ r- C; [PasswordAuthentication no
) M3 D) [! T( m/ Y6 N2 T1 ~- x5 |銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen* o4 P X8 N+ ^0 X
# `: M- J. j B, Z7.閮 SSHv2# V7 A: G8 b! h S
Protocol 2
/ K' w* I# q; B
/ y. v: z$ P1 G+ S; }0 n1 B- N- v8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔
+ N2 f" y& z FMatch User somebody,handsomebody
3 \1 |/ B; q. D- W) O. APasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
( M& Y8 \# R7 B& X) c0 M, j9 ?# vim /etc/hosts.deny
8 A/ P, ]! n0 d" A6 N1 V+ nsshd: ALL
1 } h" C3 Z! d# vim /etc/hosts.allow
2 E0 T8 G4 H) x9 J3 E' j6 F8 ~sshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺
7 K9 j2 G- M$ q6 `/ P: u7 k0 [% a# n! n# b2 X2 E
9.雿輻 iptables 嗡皞 IP
! d3 E6 C2 w$ a2 A$ j- d# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
3 e' J1 S* }9 a# iptables -A INPUT -p tcp --dport 22 -j DROP5 b5 n. {3 d4 ~" b2 R( l
閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
# q0 [+ Y% Y# O1 a4 s1 q- g% C x4 g4 a' j, F0 S
10.摰
% P2 Y; N: S q雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day 9 M2 m" e1 E8 W, L4 M; b
蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
& [, Z* k# y* G# Q; h # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
7 J3 f' B" q- k8 A- T$ M2 e9 E" Q # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
6 d$ [4 m: K% F蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁: d k" j$ Z+ o
# 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
& e' P7 R# z: J4 `! x # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
" b2 H* d C0 q- M- e: W( \) ?7 u8 D/ [1 z
11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃
: u4 P* z6 X6 r2 {8 R) lStrictModes yes0 Q! i2 {( O" t9 n9 m7 a H
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
1 X: P6 `% ] m3 w X# o8 u+ K
4 A" n w* J% \( ?4 f' H) l12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)" n% ^: Z4 K* [/ }% L9 a
Banner /etc/ssh/banner # 隞餅摮瑼1 N: ^7 V1 c8 `& q; k7 j$ F* r- b
( Q/ a' k/ y2 L- O
13. su/sudo
" P$ R" l2 ^( P3 ^: V# vi /etc/pam.d/su
. j B }. b! u6 y3 P) f auth required /lib/security/$ISA/pam_wheel.so use_uid
4 o1 E5 K. w7 _; @9 M# visudo
5 _6 ]) Y1 Y' w %wheel ALL = (ALL) ALL% }; R4 ~0 t" T5 d
# gpasswd -a user1 wheel
1 K2 F* c- M* P) D" f0 V
; C& e0 O( c- P T8 m; n0 ~- o14. ssh 雿輻刻6 j2 y! d V- x4 C$ A1 V
# vi /etc/pam.d/sshd
' K% e9 b* b# G- X$ f3 p0 j% n4 G auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
, o& X8 d' p# X1 j1 w. M3 d# echo <username> >> /etc/ssh_users
8 n; ~. n+ w4 K+ N3 _0 K( V; m15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
- I: b; K& p& @+ y) A. G 靽格/etc/ssh/sshd_config
/ Z3 q! h, j% W1 J- a! m#TCPKeepAlive yes
$ O9 S" D# N' I* L, \$ k8 r#ClientAliveInterval 03 G3 L2 g$ {+ C1 B/ v
#ClientAliveCountMax 3
! r2 N" H! I4 L& Q8 U4 j2 c% j* }/ q 撠#踵==>摮瑼7 }+ N7 O) v" u* s
#service ssd restart ==>sshd( i* C9 }, w0 V T" t
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:& [* {$ q+ b- M2 C8 F
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺. z3 C! R& _/ c: @0 H
7 ?9 r6 C7 b$ b2 z: |! Q
|
|