Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 23-05-2009, 10:20 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Những Cách Bảo Vệ Hosting Và Server
Những Cách Bảo Vệ Hosting Và Server I. .htaaccess:

1. Các trang báo lỗi:
Trong quá trình làm việc với client, nếu có lỗi xảy ra (vi dụ như không tìm thấy file) thì Apache sẽ báo lỗi bằng một trang có sẵn hiển thị mã số của lỗi đó, rất không đẹp và khó hiểu. Với .haccess thì bạn có thể tự tạo các trang báo lỗi hay hơn. Để làm được điều này thì trong file .htaccess bạn thêm dòng sau:
ErrorDocument errornumber /file.html
Trong đó errornumber là mã số của lỗi phát sinh, sau đây là những lỗi hay gặp:
401 - Authorization Required (cần password để truy nhập)
400 - Bad request (request bị sai)
403 - Forbidden (không được vào)
500 - Internal Server Error (lỗi server)
404 - Wrong page (lỗi trang, không tìm thấy...)
còn file.html là trang web mà ban muốn hiện thị khi lỗi phát sinh. Ví dụ: ErrorDocument 404 /notfound.html hoặc: ErrorDocument 500 /errorpages/500.html

2. Không cho hiện danh sách file trong thư mục:

Trong trường hợp bạn không muốn cho người khác thấy được danh sách file trong thu mục không có file index, thêm lệnh sau vào .htaccess: Options -Indexes

3. Chỉ định các IP được/không được truy cập vào trang web:

Thêm lệnh sau: deny from 203.239.110.2 để cấm ip 203.239.110.2 hoặc allow from 203.239.110.20 để cho phép ip 203.239.110.20. Nếu bạn chỉ viêt ip dưới dạng 203.239.110 thì sẽ cấm/cho phép tất cả ip trong giải từ 203.239.110.1 đến 203.239.110.254. Còn: deny from all : sẽ cấm tất cả mọi truy cập đến các trang web trong thư mục, tuy nhiên các file trong đó vẫn có thể được sử dụng từ bên ngoài thông qua các dang require hay include.

4. Thay thế trang index: Dùng dòng lệnh sau: DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm . Với dòng lệnh này thì tất cả các file được liệt kê sẽ được tìm theo thứ tự khi có yêu cầu tới thư mục hiện hành, trang nào được tìm thấy đầu tiên sẽ thành trang index của thư mục.

5. Redirection :Có thể redirect truy cập từ xa một cách đơn giản bằng lệnh sau: Redirect /location/from/root/file.ext http://www.othersite.com/new/file/location.xyz hoặc Redirect /olddirectory http://www.newsite.com/newdirectory

6. Bảo vệ thư mục bằng password :

Trong file .htaccess có thể viết thêm:

AuthUserFile /mnt/web/guide/somewhere/somepath/.htpasswd
AuthGroupFile /dev/null
AuthName Somewhere.com's Secret Section
AuthType Basic

require valid-user

Trong đó quan trọng nhất là file .htpassword, có dạng như sau:
username:v3l0KWx6v8mQM
bob4DtaLTqsElC2
với phần trước là tên user, phần sau là password đã được mã hoá bằng DES (có thể dùng john để giải mã ). Bạn có thể tạo ra file .htpasswd này bằng một công cụ có sẵn trong *nix là trình htpasswd, vi dụ:

root@vnofear$htpasswd -c .htpasswd username
Adding password for username.
New password:
password
Re-type new password:
password

Khi truy cập vào thư mục được bảo vệ bởi .htpasswd, browser sẽ hiện ra một cửa sổ yêu cầu bạn nhập username và password.

Lưu ý trước khi sử dụng .htaccess bạn nhớ kiểm tra xem host server có hỗ trợ .htaccess hay không.
Chú ý: các bạn có thể soạn file .htaccess bằng notepad

II. Bảo vệ ứng dụng Web ASP:

Điều này tưởng chừng như đơn giản nhưng chẳng đơn giản chút nào cả! Nếu như bạn nghĩ: ối giời! Web lỗi thì ăn nhằm gì đến pass host chứ! Thì bạn đã…trật rồi đấy! Nếu như tôi biết ứng dụng web của bạn bị lỗi gì và chèn vào đó một số mã nguy hiểm hay backdoor chẳng hạn thì mọi chuyện sẽ thay đổi!

1. An toàn trước khả năng bị tấn công CSS (Cross-Site Scripting)
Kiểu tấn công CSS điển hình nhất xảy ra khi tin tặc cố tình chèn một đoạn văn bản có chứa script độc hại vào các form nhập dữ liệu. Nội dung nhập vào có thể chứa các thẻ.

III. Những điều cần biết khi chọn host:


Duy trì Web server có thể là một việc rất tốn kém về tiền bạc và thời gian. Thế nhưng với khoản phí hàng tháng, một nhà cung cấp host sẽ đảm bảo mọi vấn đề kỹ thuật, giúp cho công ty bạn có thể chú tâm vào việc phát triển nội dung. Trang Internet ngày nay kỳ này xin đăng 21 điều bạn cần biết khi chọn host.

1. Hãy nghĩ đến ngày mai cũng như ngày hôm nay

Khi site của bạn trở nên phức tạp hơn, nó có thể cần thực hiện script ở trên server, hỗ trợ cơ sở dữ liệu, thương mại điện tử hay cung cấp đủ băng thông để truyền âm thanh và hình ảnh. Bạn sẽ không tìm thấy những hỗ trợ đó trên các site host miễn phí. Ðiều quan trọng là bạn phải đánh giá một cách thực tế những nhu cầu của site của bạn không chỉ ở hiện tại mà cả trong tương lai.

2. Hãy để tâm đến các vấn đề bảo mật

Một host cung cấp hàng rào bảo vệ giúp phòng tránh mọi sự tấn công và các hành vi tin tặc khác diễn ra hàng ngày làm ngừng hoạt động nhắm vào server của bạn. Thực sự bạn có muốn ngày nào cũng mất thời gian để xem lại những lần truy cập server, cập nhật phần mềm vŕ phục hồi những thiệt hại do các tuyến phòng thủ của bạn thường xuyên bị chọc thủng?

3. Quyết định loại host nào là tốt nhất cho bạn

Mức thứ nhất của host sẽ đặt site của bạn cùng nhiều site khác lên một máy chủ trong một domain ảo có thể định vị site bạn tręn máy đó . Đây chính là kiểu nuôi chung (shared hosting). Khi nội dung nhiều lên hay khi chuyển trang Web từ dạng tĩnh sang trang tương tác, bạn nên chuyển site của mình sang máy có nhiều nguồn tài nguyên hơn và có ít site dùng chung nguồn tài nguyên đó hơn . Bước tiếp theo là một máy dành riêng cho site của bạn. Nhà cung cấp host sẽ sở hữu, duy trì và sao lưu máy chủ đồng thời cung cấp tất cả các hạng mục về bảo mật vật lý cho site, lưu điện và các vấn đề khác về điều hành trung tâm dữ liệu.

Mức cao nhất của host là sắp đặt các máy chủ ở cùng một chỗ. Trong trường hợp này bạn sở hữu toàn bộ phần cứng của mình nhưng về mặt vật lý nó được đặt lại chỗ của bên host để tận dụng được ưu thế của nhà cung cấp: Bạn có thể chọn dải băng tần mà bạn cần và nhà cung cấp sẽ cho bạn một đường kết nối riêng vào Internet. Ðây là một tuỳ chọn hết sức hấp dẫn nhưng với phần lớn các nhà cung cấp, điều này có nghĩa là bạn phải tự thực hiện các khoản mục về bảo an và tường lửa của riêng bạn; bạn sẽ không được sự bảo vệ từ tường lửa của bên cung cấp hosting. Trừ khi bạn là chuyên gia về các vấn đề bảo an, còn không thì bạn sẽ muốn ký kết hợp đồng với bên cung cấp host hay một nhà tư vấn về bảo an để có được sự bảo vệ thích hợp cho site và máy chủ của bạn.

4. Nhu cầu dịch vụ nhanh chóng và hiệu năng

Việc site của ban có đạt được thành công và danh tiếng hay không phụ thuộc vào cấp độ host. Một site phục vụ chậm do các server bị quá tải sẽ không thu hút được người xem. Một site khó duy trì sẽ không thể đáp ứng hết nhu cầu hoặc khiến bạn phải làm việc vất vả hơn để làm mọi thứ mà bạn cần làm. Chẳng hạn, có thể bạn muốn lập một hộp e-mail đặc biệt dành để quảng cáo hay tranh luận. Một vài mục nhập nhanh vào một trang HTML hay một bảng của các tài khoản thư hợp thức có thể là tất cả những gì bạn cần, nhưng nếu như bạn phải đợi cho bộ phận kỹ thuật của bên cung cấp host làm việc đó thì bạn có thể để tuột mất cơ hội của mình.

5. Các ứng dụng của bạn phải phù hợp với mức của nhà cung cấp host

Một số ứng dụng và một số kiểu site là rất khó thực hiện với host. Nếu một dịch vụ được xây dựng với một vùng đĩa lớn và một số máy chạy nhanh thì nó có thể đủ phục vụ rất nhiều trang tĩnh. Nhưng nếu một site đặt ra những đòi hỏi lớn đối với CPU thě nó sẽ chạy chậm hơn trong môi trường đó, vŕ tồi tệ hơn sẽ làm giảm tốc độ của các site khác. Các diễn đàn thảo luận đòi hỏi đặc biệt khắt khe đối với các máy chủ hosting, bởi vě chúng cần bộ nhớ dung tích lớn, khả năng truy cập nhanh vào cơ sở dữ liệu tranh luận. Nếu bạn dự định cho một diễn đàn lớn, sôi động thì hãy tìm nhà cung cấp biết cách thực hiện chúng.

Site mà bạn mong muốn có thể còn đặt ra những đòi hỏi đặc biệt đối với máy chủ hosting. Luồng dữ liệu âm thanh với hình ảnh yêu cầu kết nối nhanh tới mạng trục, hệ thống đĩa lưu trữ tốn kém và các server mạnh có phần mềm phù hợp. Kinh nghiệm cung cấp host đa phương tiện cũng cần thiết, vì vậy bạn nên tìm một bên cung cấp host có kinh nghiệm, họ sẽ tạo các công cụ thuận tiện cho bạn.

6. Chọn hệ điều hành.

Hãy để các ứng dụng dẫn dắt bạn; hãy chạy chúng trên hệ điều hành mà theo bạn là hiệu quả nhất. Một nhà cung cấp host cung cấp cả Microsoft Windows và Unix sẽ đưa ra những lời khuyên khách quan. Ðừng cho rằng cần có Windows NT để chạy site của bạn với những phần mở rộng Frontpage. Đã có ít nhất một nhà cung cấp host, Eas Street Online Services (www.easystreet.com), gặt hái được thành công lớn trong việc viết lại những phần mở rộng để chạy tốt hơn tręn Unix so với trên Windows NT.

7. Ðọc kỹ các giấy tờ

Chúng tôi đă dành rất nhiều thời gian để đảm bảo rằng mình hiểu những điều khoản và điều kiện của mỗi nhà cung cấp dịch vụ mà chúng tôi ký kết. Bạn cũng nên làm như vậy. Nên có một luật sư xem xét các điều khoản. Đừng bao giờ cho rằng một điều khoản trong bản hợp đồng sẽ không được thực thi hay như thế nào đó không áp dụng đối với bạn. Nó có áp dụng đấy. Phải đặc biệt quan tâm đến việc sở hữu bản quyền, trả lời các khiếu nại về site của bạn, thời hạn của hợp đồng cung cấp dịch vụ, thông báo về việc gia hạn hay chấm dứt họp đồng, những phụ phí và luật hiện hành.

8. Biết cách xử lý các khiếu nại

Vấn đề khiếu nại rất quan trọng. Nếu ai đó phàn nàn rằng Site bạn gửi đi bom thư hay chứa tranh ảnh khiêu dâm (bất kể tính hiệu lực của lời khiếu nại), nhiều nhà cung cấp dịch vụ sẽ khước từ bạn. Hãy tìm xem chỗ dựa của bạn là gì? Nếu trong bản hợp đồng có những điều khoản không thể chấp nhận được và nhà cung cấp dịch vụ không muốn thay đổi chúng, hăy tìm nhà cung cấp khác. Nhớ rằng hợp đồng được lập ra là để bảo vệ cả hai bên và đảm bảo lợi ích của bạn được nêu ra đầy đủ.

9. Kiểm tra các tham chiếu

Trước khi bạn gửi gắm site quý giá của mình cho một nhà cung cấp host, hãy hỏi tên các nhà làm Web hiện đang điều hŕnh các site như site của bạn. Gọi điện hay gửi E-mail cho họ, nhưng bằng mọi cách phải nhận được sự phản hồi. Hăy lướt qua các site của họ. Ghi lại những khoảng thời gian đáp ứng vào giờ cao điểm hay giờ rỗi . Phải đảm bảo rằng là có thể chấp nhận được dịch vụ của họ.

10. Hãy tò mò một chút

Sử dụng những công cụ dựa trên Web để biết bạn đang giao dịch với ai? Tra cơ sở dữ liệu Whois ( www.whois.net , www.pavietnam.com/index.php?parm=whois ) để tìm xem ai sở hữu site đó. Ghi lại địa chỉ giao dịch. Chạy ứng dụng Traceroute (có sẵn trên phần lớn các site được tải xuống) để xem đường dẫn đến các máy đă liệt kê trong tìm kiếm Whois. Nếu Traceroute tìm thấy site đó thông qua server của LSP khác trong cùng một domain thì có thể bạn đang giao dịch với người bán lại chứ không phải là một nhà cung cấp host thực sự. Chẳng hạn CIHost, một nhà cung cấp host có năng lực tự quảng cáo, dường nư đang cung cấp dịch vụ truy cập mạng cho Propagation.net trong khi dùng dịch vụ của tập đoàn khổng lồ BBN Planet.

Khi sử dụng cơ sở dữ liệu Whois, hãy xem xét kỹ máy trên cái dưới cùng một bậc. Nhập những tên mà bạn tìm thấy vào công cụ tìm kiếm Deja.com. Chúng tôi thấy rằng mạng Propagation.net được kết nối với những site có bom thư và CIHost đã đưa ra những lời chỉ trích trên nhóm tin alt.www.webmaster . Hãy so sánh việc này với công cụ truy nguyên Verio.net.

11 . Bỏ qua những hiệp hội chuyên nghiệp

Và cũng nên bỏ qua phần lớn ý kiến của các site xếp hạng. Bởi vì thành viên của Hội cung cấp host (Web Hosting Guild) bao gồm các công ty có danh tiếng nhưng có một số trong đó nói chung không được giới Webmaster đánh giá cao. Các site xếp hạng thường tổng họp các lần trước đây được xếp hạng ưu bởi các webmaster là những người sau đó rời bỏ host thường vì những lý do tiêu cực.

12. Hãy đọc những gì mà webmaster nói

Hãy xem nhóm tin alt.www.webmaster , vww.hostinvestigater.com , www.scriptkeeper.com/cgi-bin/ultimate.cgihttp://www.hostcompare.com/ . Ðiều đó có thể mất một thời gian để "tiêu hoá" tất cả mọi ý kiến và đề xuất nhưng kết quả thu được cũng xứng đáng.

13. Biết rõ thính giả của bạn

Càng biết rõ thính giả tiềm năng của bạn, bạn càng có khả năng ước tính chuẩn xác các chi phí và lập ra một biểu giá thích hợp. Nếu bạn đă làm chủ một site hãy nghiên cứu các tệp truy cập và các công cụ phân tích lưu thông của bạn để biết cần bao nhiêu băng tần và bao nhiêu tài nguyên Server, từ đó lựa chọn một cách tương ứng khi bạn chuyển sang nhà cung cấp host. Nếu bạn lần đầu điều hành một Website hãy sử dụng khoảng thời gian thử nghiệm để làm như vậy rồi đưa ra những sửa đổi cần thiết trong bản kế hoạch của mình trước khi thời hạn lấy lại tiền kết thúc.

14. Chọn một kế hoạch phù hợp với bạn

Những tính toán chi phí không kỹ lưỡng có thể đặt ra những gánh nặng tài chính không thể lường trước lên site của bạn. Một số nhà cung cấp host hướng kế hoạch của mình về phía nhiều site nhỏ, trong khi số khác hướng tới ít site có dung tích lớn hơn. Phí hàng tháng tương ứng với số lượng byte giới hạn, và khoản phụ trội có thể sẽ rất ấn tượng. Một chút thành công đôi khi là kẻ thù nguy hiểm nhất đối với các site nhỏ, bởi vě thu nhập của các site chuyên quảng cáo thường tăng không tương ứng, trừ khi các nhà quảng cáo trên site bạn trả chí phí theo số lượng lần truy cập ngược lại, việc tăng nhiều số lần truy cập tới site thương mại điện tử có thể đồng nghĩa với nhiều đơn đặt hàng hơn hoặc thu hút được sự quan tâm lớn đến sản phẩm mới. Một trong hai trường họp tręn doanh thu cũng sẽ tăng tương ứng.

15. Thận trọng trước khi cam kết

Giá chào thường tính theo hàng tháng, còn hoá đơn thanh toán thực tế lại mang tới những khoản phụ trội lớn hơn. Nhưng để nhận ra được điều này thường phải có sự liên lạc giữa các chủ thể, không phải chỉ bằng việc vào xem site đó. Chúng tôi cho rằng sẽ hợp lý khi bắt đầu bằng một dịch vụ ngắn hạn có lẽ là 90 ngày để chắc chắn rằng mọi việc diễn ra như bạn đă định. Khi bạn thấy hŕi lòng, hãy gia hạn để có giảm giá.

16. Hãy xem hoá đơn

Chúng tôi đăng ký 30 ngày dùng thử 9NetAve và lập tức bị lập hoá đơn cho một năm dịch vụ. Khi chúng tôi khiếu nại, công ty đă đề nghị xin cắt giảm thời hạn tính phí xuống còn 6 tháng, sau đó là 3 tháng. Ðáp lại, chúng tôi đòi lấy lại tiền. Phải mất thêm một cú điện thoại nữa mới nhận được tiền và chúng tôi đă quyết định không tham khảo nhà cung cấp host đó nữa.

17. Lập chiến lược rút lui

Cho dù các dự định có hoàn hảo đi chăng nữa thě mối quan hệ đôi khi vẫn trục trặc. Hoặc bạn có ý định rời bỏ nhà cung cấp host của mình với vô số lý do. Có một số người rất đúng mức mà chúng tôi biết đã trở thành những khách hàng khủng khiếp đối với nhà cung cấp host của họ, và một số nhà cung cấp host đắt hàng cũng đã trở chứng thành những phòng khủng bố khách hàng của họ.

18. Lưu trữ tất cả mọi thứ

Dĩ nhiên các trang HTML của bạn đang được lưu trữ vě bạn tạo ra chúng trên máy của mình và tải chúng lên site của nhà cung cấp host. Hãy nghĩ đến tất cả các file khác hiện đặt tręn Server của bạn: những bản ghi truy cập người sử dụng, cơ sở dữ liệu sản phẩm, đơn đặt hŕng của khách, CSDL tranh luận, script của Servel; phần mềm thương mại như thương mại điện từ vŕ các gói diễn đŕn thảo luận, phần mềm phân tích lưu thông, và tất cả những thứ mà bạn tải lên site của nhà cung cấp host hay dịch vụ này tải xuống cho bạn.

19. Giảm nhẹ sự chuyển đổi site của bạn

Nếu bạn nhận thấy rằng site bạn phát triển nhanh hơn cả nhà cung cấp host, thì họ cũng nhận thấy điều đó và sẽ làm việc với nhà cung cấp host mới để chuyển site của bạn với sự phiền nhiễu và hỏng hóc tối thiểu. Ða số sự chia tay là tốt đẹp. Nhưng khi không phải vậy, thě hãy chuẩn bị sẵn bản sao của tất cả những thứ mà bạn có thể nghĩ đến.

20. Sở hữu một tên miền của riêng bạn

Thậm chí ngay cả khi bạn không có ý định từ bỏ nhà cung cấp host của mình thì bạn cũng phải chắc chắn rằng mình có một tên miền riêng. Nếu nhà cung cấp host đã đăng ký tęn miền cho bạn, hãy tra Whois để biết chắc rằng bạn hay người trong công ty bạn là người đăng ký và liên lạc hành chính cho site của bạn. Nếu nhà cung cấp host được nięm yết là đầu mối kỹ thuật và quản lý thì nó sẽ sở hữu tên miền chứ không phải là bạn và bạn có thể sẽ phải bỏ tiền để mua tên đó. Hãy làm như vậy từ khi nhà cung cấp host không có điều gì giận bạn, nếu không tên miền của bạn có thể sẽ bị giữ để đòi tiền chuộc.

21 . Hãy giúp các vị khách tìm trang chủ mới của bạn

Có lẽ lý do lớn nhất để rời khỏi nhŕ cung cấp host theo các điều kiện rộng răi là sao cho site cũ của bạn chỉ tới site mới trong một khoảng thời gian nào đó. Người sử dụng hay khách hàng của bạn có thể sẽ đánh dấu địa chỉ theo tên chứ không phải địa chỉ IP của site hay các trang mà họ sử dụng. Nhưng có thể phải mất vài ngày, thậm chí một tuần để địa chỉ IP mới được truyền bá suốt các Server tên miền của Internet. Và nếu vì một lý do nào đó người sử dụng được hướng tới địa chỉ IP cũ thě nên có những chỉ dẫn tới site mới và huớng dẫn cách cập nhật các book- mark. Ðừng quên gửi e-mail cho khách hàng và đưa thông tin lên trang của bạn để báo cho họ về sự thay đổi có thể xảy ra.

Dịch vụ cung cấp host vẫn còn là một ngành kinh doanh mới mẻ, một ngành kinh doanh đang tiếp tục tái tạo ra chính nó. Bạn sẽ phải chuẩn bị cho sự thay đổi liên tục, sự cải thiện lớn hơn và biến đổi đột phá có tính cơ hội về dịch vụ, hiệu quả giá cả hay hiệu năng. Đừng có dao động mà hãy tiếp tục đánh giá dịch vụ bạn đang có vŕ những gì bạn đang phải bỏ tiền để mua.

22. Hãy lưu trữ các thông tin bí mật của bạn trong host free

Bạn đừng quá tin tưởng rằng server hay host mình mua luôn luôn bảo mật cao hơn các host free. Đó là một ý nghĩ sai lầm! Hầu hết các hosting ở VN bị các hacker “qua mặt” một các dễ dàng bằng nhiều các và cách thường dùng là hack local. Khi bạn giữ các thông tin bí mật của mình trong host riêng thì tình trạng bị hack cao hơn là khi bạn giữ các thông tin bí mật ở host free. Vì các host free luôn luôn bảo mật tốt và không có hacker nào đủ siêng năng để hack hết toàn bộ các user và hắn cũng chẳng biết được user nào của mình. Khi chọn host free thì hãy chọn các host ở nước ngoài vì khi ấy host ở nước ngoài bảo mật cao hơn nhiều so với host ở VN. Chẳng hạn host ở t35 hầu như chưa bị hack dù là một host free còn host của www.dangquang.com đã từng bị hack local ở khu vực host free!

23. Hãy cẩn thận với cả những người quen

Bạn đừng quá tin tưởng với những người quen mà giao pass host hay bất cứ thông tin gì về nó. Chẳng hạn HVA từng bị một moderator của VHF chơi “lén” bằng cách cài keylog vào máy của admin HVA khi anh chàng HVA mời người bạn VHF về nhà chơi.

24. Hãy lưu ý đến các chương trình upload

Đừng nên upload những thông tin quan trọng lên host chính của mình ở DV, vì ở DV bạn có thể “được” chương trình upload lưu lại mật khẩu v.v… hay ai đó dùng chương trình tìm lại mật khẩu thì sao? Nếu muốn upload ngoài DV thì nên sau khi up xong hãy Uninstall chương trình upload đó.

IV. Loại bỏ các ký tự đặc biệt:

Loại bỏ các kí tự đặc biệt như ../, |, &, ... là điều làm đau đầu những người mới bắt đầu vào nghề viết ứng dụng web nhằm ngăn chặn tấn công phê chuẩn đầu vào của hacker. Trong Perl, =~s chưa chắc đã lọc được hết các kí tự này bởi bạn có thể bị hacker chưa khâm. Một ví dụ khá điển hình là trường hợp của fileseek.cgi đã được thông báo trên bugtraq trước đây. Fileseek.cgi cố gắng lọc bỏ tất cả các kí tự '../' nhưng nó sẽ thất bại nếu hacker dùng '....//'. Fileseek.cgi làm việc như một cái máy, nó loại bỏ '../' trong '....//', kết quả trả về là '../' và hacker sẽ ung dung làm thêm vài cái '....//' để leo lên thư mục root '....//....//....//....//..../' sau đó cat file /etc/passwd.

Một cách đơn giản để loại bỏ các kí tự đặc biệt là bạn chỉ chấp nhận các kí tự thường, không cần quan tâm đến các kí tự đặc biệt.

#!/usr/local/bin/perl
$_ = $user_data = $ENV{'QUERY_STRING'}; # nhận dữ liệu từ phía người dùng
print "$user_data\n";
$OK_CHARS='-a-zA-Z0-9_.@'; # tập kí tự được cho phép

s/[^$OK_CHARS]/_/go; # gỡ bỏ các kí tự không nằm trong tập kí tự trên
$user_data = $_;
print "$user_data\n";
exit(0)
Rất đơn giản như vô cùng hiệu quả, chúng ta không cần phải quan tâm đến các kí tự ../, |, ...

* Bạn tham khảo thêm Perl CGI problems (phrack 55/9 - http://www.phrack.org/) để biết rõ về các lỗi liên quan đến các script viết bằng Perl/CGI.

V. Bảo vệ file và thư mục:

Việc bảo mật tuyệt đối một thư mục hoặc một tệp là một nhu cầu bức thiết của nhiều người dùng máy tính, đặc biệt với những người dùng chung một máy tính. Mặc dù trong hệ điều hành DOS, trong hệ điều hành Windows và đặc biệt là trong hệ điều hành mạng đã có những thủ tục cài đặt mật khẩu, cài đặt thuộc tính ẩn (H), thuộc tính chỉ đọc (R) vv... Nhưng đó chỉ là những bảo mật cục bộ và mức bảo mật không cao. Các thư mục hoặc các tệp bảo mật được ở chỗ này nhưng không bảo mật được ở chỗ khác. Có các thư mục và tệp được Windows bảo vệ chống xoá nhưng lại xoá được dễ dàng trong DOS...
Vậy có cách nào bảo mật được thư mục một cách tuyệt đối không ? Có. Bạn phải tự làm lấy vì chưa có một chương trình nào giúp bạn làm điều này. Phương án để bảo mật tuyệt đối một thư mục mà chúng tôi đã lựa chọn và dùng rất có hiệu quả là đánh lạc hướng địa chỉ lưu trú của thư mục trên đĩa, làm cô lập các cluster mà thư mục đã chiếm giữ, do đó không thể can thiệp được vào thư mục này bằng bất kì cách nào. Vậy làm thế nào để đánh lạc hướng địa chỉ lưu trú thật của thư mục ?.


Để làm được điều này bạn cần biết rằng FAT là một bảng định vị file (File Allocation Table). Bảng này gồm nhiều phần tử. Đĩa có bao nhiêu cluster thì FAT cũng có bấy nhiêu phần tử (Cluster là một liên cung gồm nhiều sector nhóm lại). Phần tử thứ n của FAT tương ứng với cluster thứ n trên đĩa. Một file chiếm bao nhiêu cluster trên đĩa thì đề mục FAT của nó cũng có bấy nhiêu phần tử. Phần tử FAT này chứa số thứ tự của một phần tử FAT khác. Phần tử chứa FF FF là mã kết thúc file . Như vậy một đề mục FAT của một File sẽ chứa số thứ tự của các cluster mà file chiếm giữ. Đề mục FAT của một thư mục chỉ có một phần tử chứa mã . Số thứ tự của phần tử này ứng với số thứ tự của cluster chứa đề mục của các thư mục con và của các tệp có trong thư mục đó. Mỗi phần tử FAT chiếm 2 bytes với FAT 16 bit và chiếm 4 bytes với FAT 32 bit.

Mỗi đề mục của thư mục hoặc của tệp trong bảng thư mục gốc (Root Directory) đều chiếm 32 bytes, phân thành 8 trường như sau: Trường 1 chứa 8 byte tên chính, trường 2 chứa 3 byte phần tên mở rộng, trường 3 là 1 byte thuộc tính, trường 4 chiếm 10 byte (DOS không dùng và dành riêng cho Windows), trường 5 chiếm 2 byte về ngày tháng tạo lập, trường 6 chiếm 2 byte về giờ phút giây tạo lập, trường 7 gọi là trường Cluster chiếm 2 byte chứa số thứ tự của phần tử FAT đầu tiên của mỗi đề mục FAT, trường 8 chiếm 4 byte về dung lượng.

Khi truy cập một thư mục hay một tệp, trước tiên máy đọc 8 trường nói trên trong bảng thư mục, sau đó nhờ đọc được thông tin ở trường cluster mà máy chuyển đến đọc cluster đầu tiên của tệp đồng thời chuyển đến đọc phần tử FAT đầu tiên của đề mục FAT rồi đọc tiếp các phần tử FAT khác trong đề mục để biết số thứ tự của các cluster tiếp theo và truy cập tiếp các cluster này cho đến khi gặp mã FF FF đó là mã kết thúc file trong đề mục FAT thì dừng.

Như vậy muốn bảo mật thư mục hoặc tệp nào đó ta phải thay đổi nội dung của trường thứ 7 trong đề mục ROOT để nó không trỏ vào địa chỉ thật của thư mục hoặc của tệp mà trỏ vào một phần tử rỗng nằm ở cuối của FAT (khi đĩa chưa đầy thì phần tử này bao giờ cũng rỗng, tương ứng với cluster rỗng trên đĩa). Đồng thời để trình SCANDISK không phát hiện ra sự thất lạc cluster ta cần phải ghi vào phần tử FAT cuối cùng này giá trị thật của cluster mà thư mục chiếm giữ.

Các thao tác cần thiết để bảo mật thư mục như sau :

1 - Tạo một thư mục BAOMAT ở thư mục gốc và chép tất cả các tệp cần bảo mật vào đó.

2 - Đọc số thứ tự của phần tử FAT cuối cùng (cũng là số thứ tự của cluster có nghĩa cuối cùng của đĩa):

Chạy chương trình Diskedit trong thư mục NC sau đó gõ ALT+C để làm hiện ra cửa sổ Select Cluster Range. Giả sử trong cửa sổ này bạn nhận được thông tin Valid Cluster numbers are 2 through 33,196. điều này có nghĩa là số thứ tự của Cluster có nghiã cuối cùng của đĩa là 33.196, đó cũng là số thứ tự của phần tử có nghĩa cuối cùng của FAT. Đọc xong thì gõ ESC .

3 - Tìm đề mục của thư mục cần bảo mật trong bảng Root Directory để ghi giá trị vừa đọc được ở bước 2 vào trường Cluster của đề mục ấy như sau:

Chạy Diskedit và gõ ALT+R, dịch con trỏ lên thư mục gốc và ấn Enter để mở bảng thư mục gốc. Rà bảng thư mục từ trên xuống và dừng lại ở đề mục cần bảo mật. Dịch chuyển con trỏ tới cột Cluster của đề mục này, ghi lại giá trị cũ vào giấy và nhập vào đó giá trị mới (với ví dụ trên là 33196). Nhập xong thì dịch con trỏ xuống dưới rồi gõ CTRL+W, chọn nút Write trong cửa sổ Write changes để ghi vào đĩa.
(sưu tầm )
  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 09:33 PM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.