banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật [Thảo luận] Giới hạn Shell để bảo mật source code  XML
  [Question]   [Thảo luận] Giới hạn Shell để bảo mật source code 10/04/2008 03:46:17 (+0700) | #1 | 124278
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Chào mọi người,

Giả sử tôi có có sơ đồ mạng thế này:




Nói qua về các thành phần và cơ chế hoạt động:
+ Con máy Gateway sẽ cài VNP Server (OpenVPN)
+ Con máy Source Code sẽ cài: Apache, Subversion, Trac
+ Con máy Working: SVN Client

Client sẽ vpn qua Modem vào con Gateway, Source Code + Working cũng kết nối VPN vào con Gateway. Lúc này mỗi máy sẽ có một Virtual Private IP. Sau đó Client sẽ ssh vào máy Working, rồi lấy source code về và làm việc trên đó.

Mục đích: Source code phải được bảo mật, không cho lấy về các máy VPN Client.

Vấn đề cần làm:
+ Trên con Working: Giới hạn shell để chỉ cho phép thực hiện một số lệnh (cái này tôi mới nghĩ đến ssh chroot, thực hiện thử nhưng chưa thành công. Ngoài ra còn có PAM, hoặc dùng các "Restricted Shell" nhưng tôi chưa thử)
+ Trên con Source code: phải cấu hình để chỉ cho phép con máy Working được lấy source code về. Cái này tôi chưa thử nhưng chắc có thể config trong Apache hoặc dùng PAM được.

Mong mọi người thảo luận thêm về 2 điểm:
1. Để đạt mục đích bảo mật source code, giải pháp trên đã thoả đáng chưa?
2. Nếu rồi, thì bàn luận thêm về cách thức thực hiện các giải pháp đó

Ai đó làm rồi thì có thể chia sẻ kinh nghiệm giúp tôi, cảm ơn mọi người.




Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Giới hạn Shell để bảo mật source code 10/04/2008 05:40:36 (+0700) | #2 | 124310
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
Chào quanta,

Thú thật là tôi thấy yêu cầu này hơi lạ, bởi lẽ mặc dù không cho checkout về máy client, nhưng đây là code của họ, chúng ta chẳng có cách nào kiểm tra được họ có checkout về...não bộ và lưu ở đó hay không. Đối với những đoạn mã do họ viết ra, chắc chắn họ sẽ nhớ rõ. Còn đối với những đoạn mã không phải của họ, nếu muốn, họ có thể âm thầm mỗi ngày ngồi *học* chúng chẳng hạn. Vả lại, tôi thấy để junior developer đọc code của senior developer là một cách đào tạo khá hiệu quả.

Kinh nghiệm của tôi là nếu không thể tin tưởng, tốt nhất không cho developer thấy những gì không phải do họ viết ra. Để làm được việc đó, trước hết đòi hỏi software phải được thiết kế để các developer có thể độc lập làm việc với nhau. Ý tưởng chủ đạo là:

1. chia software ra thành từng phần nhỏ hơn (có thể là module hoặc là một chương trình độc lập)

2. xác định interface để các module này có thể tương tác làm việc với nhau

3. giao các module cho developer

4. cấu hình svn, chỉ cho phép họ truy cập đến module của họ mà thôi

Vài chia sẻ,

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Giới hạn Shell để bảo mật source code 16/04/2008 21:49:42 (+0700) | #3 | 125569
[Avatar]
nil
Elite Member

[Minus]    0    [Plus]
Joined: 12/12/2006 18:37:46
Messages: 271
Location: Thùng rác
Offline
[Profile] [PM] [WWW]
Theo mình, nếu đã để user có quyền đọc và ghi source code thì không thể nào tránh được việc người dùng sao chép lại được code cả. Với những anh chàng tỉ mẩn thì việc copy & paste từng trang code là điều dễ dàng smilie .

- Đối với việc ngăn cấm shell, thử dùng cách "nông dân" chmod xem.

- Để hạn chế người dùng trong việc đọc, ghi code thì mình thấy có hai cách:
+ Trên máy SVN, chỉ cho phép IP từ máy working checkout code về.
+ Phân loại ra từng nhóm user riêng biệt, với mỗi nhóm chỉ được quyền đọc/ghi trên từng SVN branch cụ thể.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|