Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 11
  1. #1
    Tham gia
    19-02-2004
    Bài viết
    61
    Like
    0
    Thanked 0 Times in 0 Posts

    Câu hỏi, cần giúp đỡ Hỏi cách bảo mật trong MS SQL 2008?

    Có bạn nào có cách vô hiệu hóa việc attach file .mdf của sql server không? ví dụ file database của mình đang chạy(không phải file backup) nhưng bị người khác copy được, làm sao mình vô hiệu hóa việc attach file database đó ở máy khác? bạn nào biết chỉ cho mình với? xin chân thành cảm ơn
    Quote Quote

  2. #2
    Tham gia
    06-02-2003
    Location
    vùng sâu vùng xa
    Bài viết
    549
    Like
    1
    Thanked 6 Times in 6 Posts
    Theo mình thì bạn có thể dùng "encryption file system" để ngăn chặn 0 cho mang cái data file đi attach ở máy khác, nhưng 0 thể ngăn chặn attach vào chính máy đó.

    Do đó, nếu admin có quyền kiểm soát Server thì anh ta cũng có cách vô hiệu "encryption file system" cho dât file rồi mang nó đi.

    Nói vậy thôi chứ chả ai dám dùng "encryption file system" cho dât file vì nó sẽ làm chậm đi data access nhiều

  3. #3
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Nếu bạn là Administrator của máy chủ, thì chỉ cần cài đặt security của thư mục (nơi cư ngụ của *.MDF), không cho bất cứ ai có quyền đọc/viết/mở cái thư mục đó ra, ngoại trừ logon account của SQL service.

    Thí dụ như, bạn đã cài đặt cho SQL Service chạy dưới account của ***, thì chỉ cho *** được đọc/viết thư mục chứa đựng tập tin *.MDF của CSDL.

    Còn tất cả những người khác, nếu không vào được thư mục, thì dĩ nhiên là không thể nào thấy cái tập tin *.mdf, chứ đừng nói là attach *.mdf...

  4. Thành viên Like bài viết này:


  5. #4
    Tham gia
    19-02-2004
    Bài viết
    61
    Like
    0
    Thanked 0 Times in 0 Posts
    cảm ơn bạn xbacala và bạn dq_ninh.

    cách giải quyết của bạn xbacala có thể chỉ cụ thể hơn nữa được không, mình chưa thử cái này.

    cách giải quyết của bạn dq_ninh là đặt security của thư mục chứa file dữ liệu, nhưng theo mình biết thì cách đó dễ bị bẻ khóa và thâm nhập vào được.

    mong muốn của mình là mình để ứng dụng chạy với database trên sql server, nhưng không muốn ai vào xem database hết,nếu xem được là lấy được, cũng có thể không cần xem nhưng họ vẫn stop server rồi lấy file dữ liệu attach sang máy khác là thành của họ. Ứng dụng này mình chưa được trả công nên không thể để mất như thế được, bạn nào có cách giải quyết triệt để hơn không?

  6. #5
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi dunglq8 View Post
    cách giải quyết của bạn dq_ninh là đặt security của thư mục chứa file dữ liệu, nhưng theo mình biết thì cách đó dễ bị bẻ khóa và thâm nhập vào được.

    mong muốn của mình là mình để ứng dụng chạy với database trên sql server, nhưng không muốn ai vào xem database hết,nếu xem được là lấy được, cũng có thể không cần xem nhưng họ vẫn stop server rồi lấy file dữ liệu attach sang máy khác là thành của họ. Ứng dụng này mình chưa được trả công nên không thể để mất như thế được, bạn nào có cách giải quyết triệt để hơn không?
    Nếu bạn là Admin của một máy chủ, mà mật mã của bạn bị "bẻ khóa", thì toàn bộ máy của bạn cũng tiêu đời, nói chi đến cái MDF file nho nhỏ...

    Thì ra bạn mong muốn bảo vệ CSDL của bạn trên máy của khách hàng. Có điều, nếu làm như bạn muốn, bạn lại xâm phạm chủ quyền của khách hàng một cách vô cùng trầm trọng. Luật tác quyền giới hạn trong phạm vi bảo vệ những gì bạn đã sáng tác. Nhưng luật tác quyền cũng bảo vệ chặt chẽ dữ liệu của khách hàng. Khi bạn tạo lên một CSDL tại máy của một khách hàng, và khách hàng đã đưa dữ liệu vào CSDL, thì bạn hoàn toàn không có quyền mã hóa những dữ liệu đó và không cho khách hàng nhìn thấy.

    Hơn thế nữa, khách hàng lại có toàn quyền backup CSDL. Làm như bạn muốn, làm sao họ có thể backup, export, import dữ liệu theo ý của họ. Và nếu họ làm không được, thì phần mềm của bạn, và chính bạn, đã vi phạm trầm trọng quyền sở hữu của khách hàng.

  7. Thành viên Like bài viết này:


  8. #6
    Tham gia
    06-02-2003
    Location
    vùng sâu vùng xa
    Bài viết
    549
    Like
    1
    Thanked 6 Times in 6 Posts
    nói rất hay Mr dq_ninh !

  9. #7
    Tham gia
    19-02-2004
    Bài viết
    61
    Like
    0
    Thanked 0 Times in 0 Posts
    dq_ninh nói đúng, khi bán phần mềm cho khách hàng thì phải cho phép họ toàn quyền quyết định database của họ, có điều ở trường hợp của mình thì không phải là bán. Đại khái bọn mình là nhân viên làm IT cho doanh nghiệp, viết ứng dụng quản lý để phục vụ cho công việc của mình. Nhưng trong cuộc sống đâu đoán trước được điều gì, tụi mình cả tin(đó là cái dở) cứ làm thôi, lúc trước tay giám đốc hứa sẽ trả công, nhưng tới bây giờ trở mặt, chưa được đồng nào thế mới ức. Nên tụi mình không muốn họ cướp không công của mình. Nếu mình không khóa được db thì khi tụi mình đi thì họ sẽ lấy dễ dàng(dữ liệu nhập vào mình vẫn đang quản lý). Nếu mình đi và ngắt luôn db thì họ không để mình đi dễ dàng, vì ứng dụng sẽ bị đứng. Vì thế mình muốn ứng dụng vẫn chạy bình thường thì mình đi sẽ dễ dàng, nhưng làm sao họ vẫn không lấy được db.

    Rơi vào tình huống này các bạn giải quyết thế nào?

  10. #8
    Tham gia
    20-07-2009
    Location
    Hà Nội
    Bài viết
    125
    Like
    0
    Thanked 8 Times in 8 Posts
    Nói như bạn, nếu tôi là ông giám đốc, không bao giờ tôi kí 1 hợp đồng mà khi cần, bên bạn có thể "khóa" db của tôi bất kì lúc nào.

    Đây là vấn đề kinh doanh, và hợp đồng. Có rất nhiều vấn đề không dùng kĩ thuật để giải quyết được.

    Ví dụ như cậu làm security cho cái DB đó, nắm toàn quyền và hiểu hết các ngõ ngách, ai đảm bảo là đến 1 lúc nào đó cậu ko ngứa tay cho đi tất cả ?

  11. Thành viên Like bài viết này:


  12. #9
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi dunglq8 View Post
    dq_ninh nói đúng, khi bán phần mềm cho khách hàng thì phải cho phép họ toàn quyền quyết định database của họ, có điều ở trường hợp của mình thì không phải là bán. Đại khái bọn mình là nhân viên làm IT cho doanh nghiệp, viết ứng dụng quản lý để phục vụ cho công việc của mình. Nhưng trong cuộc sống đâu đoán trước được điều gì, tụi mình cả tin(đó là cái dở) cứ làm thôi, lúc trước tay giám đốc hứa sẽ trả công, nhưng tới bây giờ trở mặt, chưa được đồng nào thế mới ức. Nên tụi mình không muốn họ cướp không công của mình. Nếu mình không khóa được db thì khi tụi mình đi thì họ sẽ lấy dễ dàng(dữ liệu nhập vào mình vẫn đang quản lý). Nếu mình đi và ngắt luôn db thì họ không để mình đi dễ dàng, vì ứng dụng sẽ bị đứng. Vì thế mình muốn ứng dụng vẫn chạy bình thường thì mình đi sẽ dễ dàng, nhưng làm sao họ vẫn không lấy được db.

    Rơi vào tình huống này các bạn giải quyết thế nào?
    Vấn đề này thật là khó giải quyết. Nhưng theo tôi nghĩ, vấn đề này có điểm chính yếu là bạn đã tình nguyện làm cho một lời hứa "sẽ trả công". Nếu là tôi, tôi sẽ làm như sau:

    1. Tạo một phần mềm thất tốt. Dĩ nhiên, khi phần mềm chạy tốt, thì cơ sở kinh doanh, sau một thời gian xử dụng, sẽ lệ thuộc một phần nào vào phần mềm. Hơn nữa, nếu phần mềm chạy tốt, thì họ sẽ phải trả công thôi.

    2. Mã hóa tất cả những stored procedures và functions. Dĩ nhiên, việc giải mã những stored procedures và functions cũng có thể xảy ra, nhưng cũng là một điều không dễ đối với những người bình thường.

    3. Tất cả stored procedures/functions đều gọi một function duy nhất để thẩm định và so sánh ngày hiện tại với một ngày tháng trong tương lai nào đó. Nếu qua ngày tháng đó, thì stored procedures sẽ không chạy nữa.

    4. Tương tự như trên, phần mềm VB/CSharp đều thẩm định ngày tháng và vô hiệu hóa phần mềm nếu ngày hiện tại đã qua ngày ấn định.

    5. Tất cả mã nguồn đều không để lại trên máy của công ty.

    Ngoài ra, nếu chỉ có bạn là người có mật mã của admin trong CSDL thì càng là một lợi điểm. Bạn có thể ra đi với mật mã của Admin. Phần mềm còn lại chỉ kết nối với những logins bình thường. Bạn cũng có thể cài đặt để những vô hiệu lực những logins này sau một thời gian ấn định

    Nếu phần mềm của bạn, sau khi bạn ra đi, được công ty vất vào sọt rác, thì cũng chẳng còn gì đáng nói.

    Cách tốt nhất là không bao giờ làm không công, hoặc làm để được trả công theo một lời hứa. Trong công việc, không có lời hứa, mà chỉ có văn bản/khế ước rõ ràng.

    Đặc biệt một điều, theo kinh nghiệm riêng của tôi, trong phạm vi IT và chuyện đi viết mướn, bạn càng đòi tiền cao, thì người ta càng nghĩ là bạn giỏi. Bạn đòi tiền công ít, thì người ta càng nghĩ là bạn thiếu tài năng. Nói tóm lại, nếu một tay giám đốc nào đó mướn bạn để trả công theo một lời hứa, thì câu trả lời bắt buộc phải là KHÔNG.

  13. Thành viên Like bài viết này:


  14. #10
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    Lúc đầu tôi viết bài giải thích cho bạn về luật hợp đồng. Nhưng sau phải viết lại vì nhận ra trường hợp của bạn không phải là hợp đồng gia công.

    Trường hợp của bạn là trường hợp làm công không được chủ trả lương sòng phẳng. Xin lỗi bạn, trong lúc bạn làm việc ở một Cty thì mọi sản phẩm trí tuệ của bạn thuộc về Cty (trù phi bạn có hợp đồng nói khác đi). Nếu tay QL lường gạt bạn phải làm thêm giờ rồi chối biến thì bạn chỉ có cách ráng chịu. Mọi hình thức cản trở dữ liệu Cty đều phạm pháp.

    Cách duy nhất của bạn là ngưng không lập hồ sơ (document) phần mềm và không phát triển nó thêm nữa. Phần mềm nào cũng có một đống bugs và lúc chạy phải điều chỉnh. Không có document mà tay nào vào thế vị trí, chạy tiếp được phần mềm của bạn thì tay ấy phải là siêu. Trừ phi phần mềm của bạn hết sức giản dị - trong trường hợp này thì bỏ chẳng có gì là tiếc.

    Đây nói về chuyện pháp lý. Chuyện cơm không lành canh không ngọt System Manager bỏ đi cũng không hiếm. Tôi đã từng phải hổ trợ một hệ thống như vậy rồi. Cty nọ cầu cứu Cty tôi sau khi SM bỏ đi, và tôi là kẻ vô phúc được cử đi làm công việc cứu vãn tình thế. SM cũ không cần phải làm gì cả. Nhưng đủ để Cty phải chạy sổ lương tay gần một tháng, trong thời gian tôi mò xem có code phá hoại gì không. Sau đó mất thêm vài tháng vừa chạy phần mềm này vừa chuyển đổi dữ liệu sang hệ thống khác - có những đêm tôi phải ngủ lại phòng máy để canh chừng. Mất một thời gian sau mới hoàn toàn đổi xong, tốn kém không ít. Trừ phi QL Cty bạn quá liều lĩnh thôi chứ gây gỗ với chuyên viên dữ liệu không phải là chuyện dễ.

  15. Thành viên Like bài viết này:


Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •