Wednesday, February 24, 2010

Installing an SSL Certificate in Windows Server 2008 (IIS 7.0)

This article will walk you through the process of ordering an SSL certificate from a commercial certificate authority and installing it on an IIS 7 Windows Server 2008 machine.

Create the Certificate Signing Request

The first step in ordering an SSL certificate is generating a Certificate Signing Request. This is very easy to do in IIS7 using the following instructions. Click here to hide or show the images

  1. Click on the Start menu, go to Administrative Tools, and click on Internet Information Services (IIS) Manager.

  2. Click on the name of the server in the Connections column on the left. Double-click on Server Certificates.

  3. In the Actions column on the right, click on Create Certificate Request...

  4. Enter all of the following information about your company and the domain you are securing and then click Next.

    Name Explanation Examples
    Common Name The fully qualified domain name (FQDN) of your server. This must match exactly what you type in your web browser or you will receive a name mismatch error.

    *.google.com
    mail.google.com

    Organization The legal name of your organization. This should not be abbreviated and should include suffixes such as Inc, Corp, or LLC. Google Inc.
    Organizational Unit The division of your organization handling the certificate. (Most CAs don't validate this field) IT
    Web
    City/Locality The city where your organization is located. Mountain View
    State/province The state/region where your organization is located. This shouldn't be abbreviated. California
    Country/Region The two-letter ISO code for the country where your organization is location. US
    GB
  5. Leave the default Cryptographic Service Provider. Increase the Bit length to 2048 bit or higher. Click Next.

  6. Click the button with the three dots and enter a location and filename where you want to save the CSR file. Click Finish.

Once you have generated a CSR you can use it to order the certificate from a certificate authority. If you don't already have a favorite, you can compare SSL features from each provider using our SSL Wizard or by comparing cheap SSL certificates, Wildcard Certificates, or EV certificates. Once you paste the contents of the CSR and complete the ordering process, your order is validated, and you will receive the SSL certificate file.

Install the Certificate

To install your newly acquired SSL certificate in IIS 7, first copy the file somewhere on the server and then follow these instructions:

  1. Click on the Start menu, go to Administrative Tools, and click on Internet Information Services (IIS) Manager.
  2. Click on the name of the server in the Connections column on the left. Double-click on Server Certificates.

  3. In the Actions column on the right, click on Complete Certificate Request...

  4. Click the button with the three dots and select the server certificate that you received from the certificate authority. If the certificate doesn't have a .cer file extension, select to view all types. Enter any friendly name you want so you can keep track of the certificate on this server. Click OK.

  5. If successful, you will see your newly installed certificate in the list. If you receive an error stating that the request or private key cannot be found, make sure you are using the correct certificate and that you are installing it to the same server that you generated the CSR on. If you are sure of those two things, you may just need to create a new Certificate Request and reissue/replace the certificate. Contact your certificate authority if you have problems with this.

Bind the Certificate to a website

  1. In the Connections column on the left, expand the sites folder and click on the website that you want to bind the certificate to. Click on Bindings... in the right column.

  2. Click on the Add... button.

  3. Change the Type to https and then select the SSL certificate that you just installed. Click OK.

  4. You will now see the binding for port 443 listed. Click Close.

Install any Intermediate Certificates

Most SSL providers issue server certificates off of an Intermediate certificate so you will need to install this Intermediate certificate to the server as well or your visitors will receive a Certificate Not Trusted Error. You can install each Intermediate certificate (sometimes there is more than one) using these instructions:

  1. Download the intermediate certificate to a folder on the server.
  2. Double click the certificate to open the certificate details.
  3. At the bottom of the General tab, click the Install Certificate button to start the certificate import wizard. Click Next.

  4. Select Place all certificates in the following store and click Browse.

  5. Check the Show physical stores checkbox, then expand the Intermediate Certification Authorities folder, select the Local Computer folder beneath it. Click OK. Click Next, then Finish to finish installing the intermediate certificate.

You may need to restart IIS so that it starts giving out the new certificate. You can verify that the certificate is installed correctly by visiting the site in your web browser using https instead of http or using our SSL Checker.

CCNA

Study guide:

  • Sybex CCNACiscoCertifiedNetwork.Associate.Study.Guide.Exam.640-802
  • Cisco Press. CCNA 640-802 (concise but more difficult to read than Sybex)

Test preparation:

  • Testking V23 CCNA_640-802
  • Test Inside CCNA 640-802 v26 (293q) (this one is more enough than the P4S)
  • P4S 640-802 v7.73 (install on VPC)

Lab simulation/emulation

  • Packet Tracer 5.1 (good for simulation)
  • SemSim 3.0 (good for learning commands)
  • Router Sim 2.2.1 (good for simple lab models, eat resources a lot)
  • GNS3-0.6.1 (good for emulation, a little complex in set up)

Lab resource:

  • 9tut.com (great for labs and general experience)

Một vài thông tin về buổi thi:

  • Nên học thuộc những command trong lab, các hỗ trợ trên command như tab, ? rất hạn chế
  • Nên ghi ra thông tin những subnet thông dụng vào nháp trước, sẽ rất đỡ mất thời gian và rối trí
  • Toàn bộ địa chỉ, subnet, password thay đổi so với tài liệu test preparation

Thursday, February 4, 2010

TCP Flag Options



Ở hình bên, ta xem thông tin các cờ được sử dụng trong quá trình bắt tay giữa bên gửi và bên nhận, cờ SYN có giá trị là 1, có nghĩa là cờ này đang được bật, chúng ta có thể thay đổi giá trị này thành “on”. Giá trị này cho biết đây là phiên đầu tiên của một kết nối TCP.

Mỗi một cờ có giá trị là 1 bit, có 6 cờ được thiết lập, ở bản bên, Flags có chiều dài là 6 bits.
Có 3 loại cờ phổ biến được sử dụng, là SYN, ACK, và FIN. Dùng để thiết lập kết nối, chấp nhận kết nối và kết thúc quá trình gởi nhận. Các giá trị còn lại ta sẽ đi sâu vào trong phần tiếp theo vì chúng được sử dụng chỉ trong những trường hợp đặc biệt, chứ không thường xuyên.
Chúng ta bắt đầu tìm hiểu về 6 loại cờ trên, từ giá trị thứ 1.
1.Urgent pointer:
Cờ urgent pointer được sử dụng để xác định mức độ khẩn cấp của phiên kết nối. Một khi cờ này được bật (giá trị là 'on' hoặc '1'), dữ liệu trong phiên này sẽ được ưu tiên gởi trước mà không cần đợi cho đến khi các phiên trước đó hoàn thành xong.

Trong quá trình gởi nhận dữ liệu từ nơi lưu trữ đến một máy tính từ xa, do lượng dữ liệu là lớn, nên một khi có vấn đề xảy ra trong quá trình này, dữ liệu gởi đi sẽ không còn đảm bảo tính nguyên vẹn, không xác định được. Nếu dữ liệu tiếp tục được gởi và nhận sẽ làm cho thời gian thực hiện công việc tăng lên mà không mang lại kết quả, cờ Urgent pointer trong trường hợp này được bật, lệnh chấm dứt kết nối được gởi đi mà không cần phải chờ cho đến khi tất cả dữ liệu được gởi trước đó đến được bên nhận.

2. ACK (Acknowledgement)
Cờ ACK dùng để ghi nhận sự thành công của một phiên kết nối.
Nếu ta dùng một chương trình sniffer trong quá trình gởi nhận dữ liệu bằng giao thức TCP, trong hầu hết các trường hợp,các gói tin bạn gửi đi hoặc nhân được, cờ ACK luôn mang giá trị là 1, nghĩa là cờ ACK được bật. Vì trong trường hợp bạn nhận được gói tin trả lời từ một máy chủ lưu trữ, công việc còn lại của bạn là gửi các gói tin trả lời với cờ ACK được bật để xác định rằng kết nối đã được thiết lập.
Trong một số trường hợp , máy chủ yêu cầu bạn tuần tự gởi một gói tin với cờ ACK được bật cho mỗi lần nhận được 3 gói tin (nhận 3 gởi 1), quá trình này được gọi là Windowing. Hiện nay phương thức này được sử dụng rộng rãi.
3.PUSH:
Giống như Urgent Pointer, cớ PUSH được bật nhằm xác định độ ưu tiên của một dữ liệu nào đó. Cờ này được sử dụng chủ yếu ở đầu và cuối của một phiên truyền nhận dữ liệu, ảnh hưởng tới việc xử lí dữ liệu ở đầu gửi và nhận sau khi kết thúc.
Khi phát triển các ứng dụng mới dựa trên mô hình OSI và phương thức TCP, các nhà phát triển phải đảm bảo đáp ứng đủ các yêu cầu được ấn định ở RFC để ứng dụng của mình hoạt động đúng cách. Cờ PUSH đảm bảo các phân đoạn dữ liệu được xử lí một cách chính xác, và thích hợp cho các mức ưu tiên tại cả hai nơi nhận và gửi của một phiên kết nối ảo.
Khi một máy chủ gởi các dữ liệu của nó, dữ liệu này không được gởi ngay mà được xếp trong hàng đợi TCP buffer trước khi nó được chấp nhận và gởi đến bên nhận. Thiết kế này đảm bảo dữ liệu việc chuyển giao đạt được hiệu quả cao nhất có thể, mà không phải lãng phí thời gian và bandwidth bằng cách tạo ra nhiều phiên kết nối , mà kết hợp dữ liệu thành một hoặc nhiều phiên kết nối lớn hơn gởi đi cùng một lúc.

Khi đến bên nhận, dữ liệu được lưu ở TCP incoming buffer chờ phân loại và sắp xếp trước khi đến được tầng application. Dữ liệu được lưu ở đây cho đến khi quá trình gởi nhận hoàn tất, chúng được sắp xếp một lần nữa trước khi chuyển giao cho ứng dụng thích hợp xử lí.
Trong khi phương thức này hoạt động tốt trong hầu hết các trường hợp, thì đôi lúc việc chờ phân loại và sắp xếp này làm cho dữ liệu đến bên nhận không xác định được do sự trễ của dữ liệu đối với chương trình tiếp nhận. Vấn đề này hơi khó hiểu một chút, một ví dụ là việc tiếp nhận và xử lí dữ liệu của Real Player, chương trình này yêu cầu dữ liệu phải được gửi và xử lí ngay lập tức mà không bị phân khúc hoặc gián đoạn.
Điềm cuối cùng cần nhắc đến là cờ PUSH thường được đặt trên phân đoạn cuối của việc gửi nhận một tập tin để ngăn ngữa buffer Deadlocks (http://searchoracle.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid41_gci1203664,00.html ). Nó cũng được sử dụng rộng rãi trong giao thức http hoặc việc gửi nhận thông tin qua proxy server, đảm bảo các yêu cầu được xử lí phù hợp và có hiệu quả.

4.RST(Reset)
Cờ reset được sử dụng trong trường hợp một phiên kết nối được tạo ra không thuộc về các kết nối đã được thiết lập và đang được xử lí. Một ví dụ cụ thể, nếu bạn gửi một yêu cầu kết nối đến cổng 80 (http) của một máy chủ nào đó, trong khi vì một lí do nào đó, webserver không hoạt động, máy chủ sẽ không chấp nhận yêu cầu này, và gửi cho bạn một gói tin trả lời với cờ RST được bật, điều đó có nghiã là server reset kết nối của bạn.
Bạn hãy liên tưởng đến các công cụ dùng để quét cổng, nmap chẳng hạn, công cụ này sẽ lần lượt gởi các yêu cầu đến các welknown-port, dựa vào các gói tin gửi về sẽ xác định được dịch vụ nào đang chạy, và đang lắng nghe và chờ kết nối ở cổng nào.
Các phương pháp quét cổng được hiểu một cách đơn giản, khi cố găng để quét một máy chủ từ xa, chương trình này tạo một loạt các gói tin tới các cổng cụ thể với cờ SYN được bật, và gởi đến máy chủ mục tiêu, nếu trên một cổng nào đó không có dịch vụ mở cổng lắng nghe, máy chủ sẽ trả lời bằng một gói tin với cờ ACK và RST được bật, cờ ACK báo cho ta biết máy chủ đã nhận được yêu cầu, cờ RST báo cho ta biết không có dịch vụ nào thích hợp với yêu cầu đó. Ngược lại, nếu có một dịch vụ lắng nghe trên cổng, thì máy chủ sẽ xây dựng một phiên đoạn với cờ SYN, ACK được bật.
Ví dụ trên miêu tả một phần tiêu chuẩn của quá trình bắt tay 3 bước <3ways>
Sau khi chương trình quét cổng nhận được trả lời như trên, chương trình sẽ hoàn thành quá trình bắt tay này, và kết thúc bằng cờ FIN (finish) , sẽ nói đến trong phần sau.
5.SYN (SYNchronisation)
Cờ SYN có lẽ là cờ được sử dụng rộng rãi và phổ biến nhất trong truyền thông TCP.


Hình trên diễn tả quá trình bắt tay 3 bước trong một phiên giao dịch giữa host A và host B. Quá trình này diễn ra với 2 lần cờ syn được chuyển giao, lần thứ nhất Host A gởi yêu cầu cho Host B với cờ SYN được bật báo cho HOST B biết A muốn tạo kết nối và tải dữ liệu từ B, tiếp theo B kiểm tra yêu cầu của A, nếu hợp lệ, B trả lời A bằng một gói tin với cờ SYN và ACK được bật chấp nhận yêu cầu của A, tiếp theo A lại gửi cho B một gói tin nữa để báo cho B biết chuẩn bị thiết lập kết nối, khi B nhân được gói tin này thì quá trình kết nối được thiết lập (established)
6. FIN (FINish)
Cuối cùng là cờ FIN, biểu tượng cho việc hoàn thành kết nối. Cờ này dùng để xác nhận kết nối được thiết lập bằng cờ SYN trước đó. Vì vậy, cờ FIN luôn luôn xuất hiện sau khi việc gởi nhận gói tin được hoàn thành.
Lưu ý rằng cờ FIN dùng để đánh dấu kết thúc một kết nối, nhưng không có nghĩa là kết nối hoàn toàn được triệt tiêu. Ta xem hình bên dưới, quá trình chấm dứt một kết nối giữa nơi gửi (Host B) và nơi nhận (Host A) diễn ra như sau


Đầu tiên là việc gởi nhận dữ liệu hoàn tất giữa A và B, sau đó Host A gửi cho Host B một gói tin với cờ FIN và ACK được bật báo cho B biết A đã nhận xong dữ liệu, Application giữ vai trò nhận dữ liệu ở A sẽ không tiếp nhận bất kì dữ liệu nào ở B nữa, B trả lời A bằng một gói tin với cờ ACK được bật báo cho A biết B chấp nhận yêu cầu, tiếp theo B xác nhận việc chấm dứt bằng gói tin với cờ FIN, và ACK được bật, cuối cùng A xác nhận bằng việc gởi đến cho B gói tin với cờ ACK, kết nối sau đó mới được triệt tiêu hoàn toàn.
Đọc đến đây có lẽ ai cũng thắc mắc vì sao lại có nhưng bước phức tạp như vậy, trong khi hoàn toàn có thể đóng ngay kết nối khi gửi và nhận xong DATA. TCP là một giao thức Full Duplex, có nghĩa là trong khi B gửi dữ liệu cho A thì đồng thời A cũng gửi dữ liệu cho B, ít nhất để B biết rằng A còn duy trì kết nối đến B để nhận dữ liệu. Việc chấm dứt kết nối phải đồng thời diễn ra từ 2 phía, bên gửi và bên nhận,

Kết: Bài viết này tôi thu thập được từ các bài viết tiếng Anh trên mạng, cố gắng diễn tả cụ thể nhất theo cách hiểu của riêng bản thân mình. Hi vọng bạn sẽ có một cái nhìn tổng quan hơn về TCP và hiểu phần nào đó về quá trình bắt tay 3 bước trong cách truyền nhận một gói tin dùng TCP.


**Mr.Bi
Anh mách cho một kế thế này. Khi em muốn nắm về tcp/ip, em nên nghiên cứu một bức đồ hoạ về ip header, tcp header, udp header.... và xem kỹ các fields và chức năng của chúng. Xong được cái này là em đã nắm ít nhất 50% về giao thức này rồi. Nếu không nắm được những chi tiết và giá trị bên trong một header thì đọc mãi đống chữ trong sách cũng chẳng thu nhập được bao nhiêu đâu em

Tuesday, February 2, 2010

Troubleshooting server startup

When something fails to start, or is not running, there are several things you can check:

[zimbra@myhost ~]$ zmcontrol status

Host myhost.example.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Stopped
snmp Running
spell Running

In the above example, the mta is not running.

All of the Zimbra services consist of one or more applications. When a service is not running, the first step is to determine which of the component applications is in error.

In our example, the mta is not running. To check the status of the component applications, we'll run the mta status script:


[zimbra@myhost ~]$ sh -x bin/zmmtactl status

BASE=/opt/zimbra
SCRIPTS='zmmtaconfigctl postfix zmsaslauthdctl'
case "$1" in
STATUS=0
for i in '$SCRIPTS'
/opt/zimbra/bin/zmmtaconfigctl status
R=0
'[' 0 -ne 0 ']'
for i in '$SCRIPTS'
/opt/zimbra/bin/postfix status
R=0
'[' 0 -ne 0 ']'
for i in '$SCRIPTS'
/opt/zimbra/bin/zmsaslauthdctl status
cat: /opt/zimbra/cyrus-sasl-2.1.21.ZIMBRA/state/saslauthd.pid: No such file or directory
R=1
'[' 1 -ne 0 ']'
STATUS=1
exit 1

Where we see 1 -ne 0 is a control script returning with a non-zero (failure) status. In this case, it's the saslauthd application.