52AV手機A片王|52AV.ONE

標題: 修改 sshd 的設定 ,設定檔 /etc/ssh/sshd_config [打印本頁]

作者: IT_man    時間: 2015-12-28 10:28
標題: 修改 sshd 的設定 ,設定檔 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config 4 D& e1 d# h" l" t' W

3 i# ^9 V3 H; v: R  O" U, z1.修改預設 port (可用多行開啟多個 port)
6 w$ H4 C$ R5 U' B, dPort <port>
3 [' L5 N' g" s1 r* ?: Z. @7 }9 C- q, a. I  n# `
2.僅監聽特定 ip (適用於多網卡/多 IP 的情形)* o/ A$ }$ s9 Z" y3 j# Q- A9 ~
ListenAddress 192.168.1.10
% P3 s" B9 {) {" R9 Z+ Z
& e  H  S% F$ U0 u5 n! l7 ~  p5 ^3.禁止 root 登入. M# x# G! ~1 g; x
PermitRootLogin no9 }! q" w  {- G) H" g$ F- k9 @
管理者必須先以個人帳號登入,再 su 成 root,或利用 sudo 工作。
' F% u& A7 I- |) F
9 [3 a' |- k- e- k4.禁止使用空密碼登入3 j$ f. c# A; n4 L) |
PermitEmptyPasswords no# i2 \; W% b/ k, O6 E- o
0 T* {% ~! U3 n, P: L- ]/ w
5.僅允許或拒絕特定帳號或群組登入
# i0 O+ k: o" z( J5 Q( v6 d' }AllowUsers <user1> <user2> <user3>
2 z6 ^, w/ d+ R7 f- W+ |AllowGroups <group>: m; u3 D/ `+ c5 c
DenyUsers *
( q  ]# U3 ~1 S" M+ E% G9 iDenyGroups no-ssh
- z/ ]% F( A- O& ^; A2 E  w根據實驗,對於同一帳號而言,如果同時 Allow 跟 Deny 的話,結果會是 Deny 的。1 s: a- X1 F, F/ C) C+ V' i
' F' o$ [6 y5 x8 ]$ S0 O
6.廢除密碼登錄,強迫使用 RSA/DSA 驗證6 K7 n: V& j/ d" i  `
RSAAuthentication yes0 O7 T# Q2 U1 o; u
PubkeyAuthentication yes
: a; S1 L' F& c, X6 {! Z6 _1 YAuthorizedKeysFile %h/.ssh/authorized_keys6 l/ L/ @: S$ y# {* W5 Q, J# j
PasswordAuthentication no
) l1 e! X0 \4 b4 y# w並確保 user 的 ~/.ssh 權限為 700,同時將該 user 的 public key 加入其 ~/.ssh/authorized_keys 中。Public key 的產生方式可搜尋 ssh-keygen。- z3 I0 B- ~: g  p4 F0 b

: T8 U5 u* Q+ x: z7.僅允許 SSHv26 {; P# z' d. |
Protocol 2
* H! Y8 d- f$ q4 |- J( ~- @) t
5 P. A% U" i/ _# B6 r. C8.限制特定使用者、群組、主機或位址的登入行為,這裡以限制 somebody 與 handsomebody 不可使用密碼登入為例
8 L$ t& H3 ]. zMatch User somebody,handsomebody! n$ U7 v! }3 |% @' c' O) f, t
PasswordAuthentication no使用 TCP wrappers 限制來源 IP' [$ ^2 a. m4 I  V# C% X2 }
# vim /etc/hosts.deny3 z/ w* d/ i3 J( y6 F
sshd: ALL
! [' A' a! g4 @/ ?8 l. I3 o% ^3 K# vim /etc/hosts.allow
# u; p0 Z6 \6 i; j9 h: v' dsshd: 192.168.1 1.2.3.4 # 僅允許 192.168.1.* 與 1.2.3.4 連線: L* V8 I4 O. @0 v

: H7 W+ a0 i  Q! D+ N$ |+ A$ _+ C9.使用 iptables 限制來源 IP
8 ~# v* d& Z, @, i. I$ A( |# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT6 p4 Z0 ~! d( ~
# iptables -A INPUT -p tcp --dport 22 -j DROP
) h6 S  n5 t2 H設定會立即生效,若希望重開機後還能保存,需要手動儲存 iptables 的設定。$ |8 @$ c; s* E7 E6 I

& Q! _+ r% X. I2 t; {10.時間鎖定! \& w7 x% |+ S0 U6 E
你可以使用不同的iptables參數來限制到SSH服務的連接,讓其在一個特定的時間範圍內可以連接,其他時間不能連接。你可以在下面的任何例子中使用 /second、/minute、/hour 或 /day 開關。- d1 _! U) T' V0 m+ D" J) x& B
第一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鐘內不允許在訪問SSH服務,這樣每個用戶在一分鐘內只能嘗試一次登陸8 D( t/ f9 i( [! W
  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT; J% _3 `" O1 @3 U4 P4 _
  # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
& m: N  G  p4 n' H8 j" H5 I8 v第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸後,iptables允許該主機每分鐘嘗試一次登陸
( {' z5 G8 K) q. {8 D7 G$ o! d' d  # 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
7 F7 L) G9 F4 X% C5 E+ c$ l  # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP' r$ ]. v6 }+ _; l
0 K8 W) x; s+ z- F% ]
11.檢查相關檔案權限,不安全則不允許登入
1 k* w4 s3 B/ S8 j& u& EStrictModes yes
/ t: I' [3 u' B; s6 z( [某些相關檔案權限設定若有錯誤時,可能造成安全性風險。如使用者的 ~/.ssh/authorized_keys 權限若為 666,可能造成其他人可以盜用帳號。
+ V+ b$ Y& j( Z9 ~8 W3 a2 H7 B; I$ h6 _/ A( k5 c  b! M- s9 h
12.自訂使用者登入時顯示的 banner (話說這跟安全性有什麼關係...? 大概可以用社交方式嚇跑壞人吧...= =a)) d1 p, c3 F1 \! B; m# L0 Q
Banner /etc/ssh/banner # 任意文字檔! i! d4 @# U" `

4 @" X5 N3 A( G  N6 G( X; y/ {13.限制 su/sudo 名單
. c+ c5 m8 U+ _5 `- [' \# vi /etc/pam.d/su1 n# U  b+ I8 ~+ r' Q- B
    auth       required     /lib/security/$ISA/pam_wheel.so use_uid4 u9 ]' A$ C- A
# visudo
. d! a, @$ b9 e: a. e    %wheel  ALL = (ALL) ALL6 W) ~) w, ?- t) K$ {. j/ |
# gpasswd -a user1 wheel& K& G5 C# t' |

2 n3 h: k4 |# q6 {3 `14.限制 ssh 使用者名單
, F! G9 {0 X7 x* `# vi /etc/pam.d/sshd
2 ?4 A1 d- U1 I2 x) j! q    auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
7 Y, M+ z+ x& F4 |4 H" `5 C& b# echo <username> >> /etc/ssh_users
% O" |' g# p/ l- K, V15.防止SSH連線逾時(timeout),讓PuTTY 與 SSH 一直保持連線1 y& Z+ ?' f8 |$ k% H7 ~, J
    修改/etc/ssh/sshd_config) |7 v. Z$ n  \' G( ^
#TCPKeepAlive yes- Q- c( P+ }/ g) l" G# P
#ClientAliveInterval 0
3 V$ a" _( s, V. Q- X4 |9 [#ClientAliveCountMax 3

0 E6 N, y2 ~% k7 z- U; k
     將#拿掉==>存檔
8 y. _& A- o. @3 K. M#service ssd restart ==>重啟sshd
6 L! ]# m8 k/ Z$ S  o, _    接下來修改 Pietty 的參數,進入”PuTTY 連線設定”:5 U, n# _; w, S( a3 X% G4 t0 k
    選擇「Connection」項目,將「Seconds between keepalives [0 to turn off]」右邊的欄位輸入每隔幾秒,傳送一個null封包以保持連線。
4 _* g9 D  j5 c+ U$ o& ?- F
; Y" q1 }3 `# s





歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2