Paypal đang chuyển hướng xây dựng các sản phẩm đóng gói trong nội bộ theo hướng PaaS như thế nào ?


“PayPal now builds products on its internal PaaS” là có thật và các Doanh nghiệp chúng ta cần biết về điều này như là một sự thay đổi đầy thử thách và xu thế tất yếu.

PaaS – Platform as a Service đã nhận được rất nhiều sự chú ý từ các nhà lập trình, phát triển hạ tầng và kiến trúc giải pháp cũng như An ninh hệ thống. Họ coi việc tìm kiếm các các thức dễ dàng hơn để xây dựng và chạy được các ứng dụng kết nối tới mạng thanh toán của PayPal, Amazon Web Service trên các nền tảng mới như “Điện toán đám mây công cộng” mạng thanh toán Xã hội công cộng… Và rủi ro của các mạng công cộng khi tương thích, tích hợp.

PayPal đang nhìn thấy được rất nhiều giá trị từ việc áp dụng mô hình PaaS để vượt qua được các rào cản kỹ thuật, rủi ro.

Việc đưa mạng thanh toán kết nối với các mạng xã hội, điện toán đám mây công cộng như: Google Cloud, Office 365 cloud, vCloudCOM, PABXCloud, FaxCloud, BizTalk 360, Auto Desk 360, TelecomCloud, Game Cloud… như hiện nay không khác gì đem máy rút tiền ATM Digital đặt ở giữa ngã ba đường và không cần đèn chiếu vậy thay vì đặt chúng ở ngay trong hoặc cạnh hội sở Ngân hàng và có người bảo vệ, bật đèn chiếu, bật cả hệ thống điều khiển ACL cho người dùng vậy.

PayPal thay đổi concept ? Thay vì chạy các ứng dụng kết nối thanh toán trên các cơ sở hạ tầng dùng chung, chúng được chọn làm các modules, ứng dụng Plug-in, resource cho các nhà phát triển đễ dàng hơn “cài/ cấy” trên các PaaS theo lời giải thích của Ryan Granard –Phó chủ tích Kỹ thuật của Paypal tại Hội nghị Cơ cấu GigaOM hôm thứ năm.

Các doanh nghiệp lớn nhỏ đều đã ít nhiều xác định các khái niệm, phân tích và có nhu cầu nhảy lên những đám mây điện toán (đặc biệt sai lầm là lại bỏ qua khái niệm tiền đề về PaaS – bản chất sâu sắc nhất của vấn đề này là gì ? )

Điện toán đám mây công cộng “Public Cloud” là con đường sai lầm cho những ai ảo tưởng về mạng thanh toán an toàn ?

– Tại sao điện toán đám mây công cộng lại gặp phải mức độ bảo mật cảnh báo cao ?

– Nỗi sợ hãi ám ảnh việc mất an ninh  trên mạng điện toán đám mây công cộng là thêu rệt hay hiện hữu ? các số liệu kinh tế, tài chính của Công ty, Doanh nghiệp, tổ chức nhà nước chắc chắn không bao giờ lên Mây công cộng. Đây là câu trả lời chắc chắn của nhiều CEO/CIO/CTO/CCO/CFO trên thế giới.

– Các rào cản kỹ thuật khi phát triển, xây dựng các ứng dụng thanh toán trên mạng điện toán đám mây công cộng nhằm tuân thủ các quy định và các tiêu chuẩn gọi là “Vendor lock-in” hoặc các hộp đen mã / giải mã để kiểm soát mã nguồn lập trình code ví dụ: SharePoint Online có sandbox. Chính những rào cản kỹ thuật trên lại làm hạn chế đi khả năng phát triển mạnh mẽ của các ứng dụng chạy trên Public Cloud.

Tóm lại: Mặc dù vẫn những nỗi sợ hãi đó, mọi người vẫn đem nó tới các hội nghị và là một phần của các cuộc đối thoại về việc làm thế nào để đưa các ứng dụng đó chạy trên một cơ sở hạ tầng công cộng “Public cloud”.

 

PayPal thay đổi định hướng như thế nào ?

– PaaS tồn tại được bởi vấn đề Điện toán đám mây cá nhân “Private Cloud” là mô hình ngược lại của điện toán đám mây công cộng “Public Cloud”, hay còn gọi cách hiểu khác là điện toán đám mây Doanh nghiệp – người dùng cá nhân, mà đây mới là giá trị đích thực mà PayPal, Amazon đang và sẽ tiếp tục đầu tư sinh lãi, tránh rủi ro.

 

Mô hình hệ thống cũ:

image

 

làm thế nào mà PayPal có thể hướng tới mục tiêu này ?

Nó được chạy bởi Red Hat OpenShift trong hệ thống nội bộ “On-Premise” PaaS để nhằm xây dựng ra các sản phẩm cho PayPal như hiện nay và tương lai sau này.

 

Mô hình mới của PayPal:

image

Với phương pháp này, “Một nhà phát triển lập trình có thể lựa chọn một sản phẩm để có thể làm việc triển khai, đấu nối trong vài phút , PayPal lúc đó giống cái tổng đài PABX”

Lúc đó, Doanh nghiệp đã có bạn “PayPal PaaS”  và chạy trong một cái hộp/thùng chứa đầy đủ các chuẩn kết nối, bảo mật , mã hóa, ACL… với nguồn lực Cơ sở hạ tầng bàn giao và vận hành ngay lập tức.

 

Lợi ích từ việc xây dựng PaaS trên nền tảng VMware cho Danh nghiệp:

Phát triển không cần phải lo lắng về việc liệu những nguồn lực đang được quản lý trong một công cụ VMware hay với OpenStack, cả hai đều được sử dụng trong nội bộ PayPal, Granard nói.

Dưới đây là mô hình mà PayPal PaaS gợi ý cho các Doanh nghiệp có mạng lưới thanh toán chuẩn hạ tầng VMware:

image

 

Câu chuyện thực tế bây giờ là PayPal đang ngồi ngay trong mạng thanh toán nội bộ của những Doanh nghiệp nào biết ảo hóa VMware ?

Doanh nghiệp nào biết ảo hóa ứng dụng và hạ tầng nội bộ bằng VMware chính là lợi thế số 1.

Robusta sẽ giúp các bạn việc trang bị kiến thức ảo hóa toàn bộ hạ tầng và ứng dụng để xây dựng PaaS hay IaaS đặc biệt là vApp và Desktop.

Phần 3. Cài đặt và cấu hình phần mềm Openfiler dùng cho VMware ESXi để chia sẻ lưu trữ theo kiểu NFS hoặc iSCSI


Khi bạn tạo ra môi trường ảo hoá máy chủ hoặc máy trạm trên nền VMware. Bạn muốn làm việc với các công cụ bảo vệ dữ liệu và vận hành ổn định hiệu quả như: di chuyển máy ảo tự động vMotion và độ sẵn sàng cao, bạn sẽ cần sử dụng hệ thống chỉa sẻ tài nguyên “Share Storage” nó phải được kết nối và vận hành trong môi trường ảo hoá của bạn.

Openfiler cũng là một lựa chọn tốt để bạn cài đặt và cấu hình miễn phí hệ thống lưu trữ đóng gói nhằm cung cấp dịch vụ chia sẻ lưu trữ dữ liệu với 2 chuẩn NFS hoặc iSCSI.

Bài này tôi giới thiệu cách cài Openfiler 2.99. Bạn có thể download nhiều dạng triển khai khác nhau như: copy vmdk, copy file zar hoặc file ISO hoặc ovf để triển khai theo template sẵn sàng chuẩn VMware files…

Tôi download bộ cài ISO file tại địa chỉ: www.openfiler.com. phiên bản 2.99 (openfileresa-2.99.1-x86_64-disc1.iso)

Để bắt đầu bạn cần tạo 1 máy ảo  virtual machine có thể chạy trên nền ảo hoá máy chủ ESXi Hypervisor miễn phí hoặc ảo hoá máy trạm Workstation, đưa file ISO vào ổ đĩa CD/DVD ảo và chọn chế độ power on. Hệ điều hành OS dạng: Other Linux 64 bit.

Note Kích thước ổ nhỏ nhất là: 10GB mới đảm bảo đủ kích thước tối thiểu trước khi cài  Openfiler.

Yêu cầu của hệ thống:

Openfiler tương thích 64-bit đạt chuẩn tương thích với các máy chủ phần cứng. Nó có thể được cài vào môi trường máy chủ ảo, máy trạm ảo theo nền tảng VMware vSphere.

Theo như dòng sản phẩm phát triển chạy trên nền hỗ trợ ảo hoá hoặc theo cấu hình cơ bản, khuyến cáo nên dùng CPU chip 64-bit Intel Xeon hoặc AMD Opteron đạt hiệu quả tốt nhất.

Cấu hình cài cơ bản

Khuyến cáo
  • 64-bit 1.6GHz or higher performance processor
  • 2GB or higher of RAM
  • 2GB disk space for memory swap area
  • 8GB disk space for Openfiler OS installation
  • 1Gb Ethernet network interface
  • Separate storage volumes/disks for data export
  • Hardware RAID controller

Cấu hình cài ảo hoá

VMware specifications
  • 64-bit VMware hypervisor
  • VMware Player, VMware Server, VMware ESX compatible
  • Symbios or Buslogic virtual SCSI disk driver
  • IDE virtual disk driver
  • 2GB minimum virtual RAM
  • Virtual network interface

Tip

Bước 1. đầu tiên là cài Hệ điều hành trên 1 ổ cứng và sau khi cài xong có thể bổ sung thêm các ổ cứng khác sẽ liên quan tới phân hoạch ổ cứng kiểu NFS và iSCSI. không cần tắt nguồn của máy ảo khi định thêm ổ cứng cho NAS. Bạn có thể thêm ổ cứng cho NAS, NFS… khi đang bật nguồn cho ESXi và Openfiler sẽ tự động xác định ra ổ cứng mới thêm.

Khi bạn khởi động máy ảo VM bằng bộ cài ISO (xem hình dưới). Hãy nhấn phím Enter để bắt đầu cài.

Openfiler boot cd

Các bước cài tiếp theo chủ yếu tôi chụp hình ảnh và  sẽ đưa các ý kiến chú thích các vấn đề quan trọng cần bạn lưu ý khi thực hiện.

Trong lúc cài đặt sẽ phải thiết lập ổ cứng rỗng và bạn sẽ có thể tự động phân vùng, định dạng ổ cứng theo HĐH. Bạn có 2 ổ cứng và mỗi ổ bạn muốn chạy theo 2 công nghệ khách nhau : một ổ chạy theo NFS  và một ổ chạy theo iSCSI.

Openfiler disk selection

Mạng ngầm định sẽ được cấu hình tự động theo DHCP. Nếu bạn muốn cấu hình tĩnh IP thì bạn có thể cấu hình sau khi truy cập vào Web based có giao diện quản lý hoặc bạn làm theo từng bước ở phần đang cài đặt sau:

Openfiler IP configuration

Trong quá trình cài đặt hệ thống yêu cầu mật khẩu root. Đây chỉ là tài khoản root dùng làm quản trị hệ thống Openfiler, Lưu ý rằng mật khẩu này sẽ không phải là mật khẩu mà bạn sẽ sử dụng để quản lý thiết bị từ giao diện người dùng dựa trên web.

Openfiler root password

Khi các bước cài xong, hệ thống kết thúc và yêu cầu khởi động lại máy chủ . Bạn sẽ nhìn thấy địa chỉ web URL để điều khiển quản lý Openfiler.

Openfiler appliance after first boot

Bước 2. Lần đầu truy cập web base bạn sẽ thấy có 1 màn thông báo chữ ký số là chưa được tin tưởng, do máy chủ ảo tự tạo ra chữ ký số SSL cho giao thức HTTPS, đây là thông báo bình thường và bạn có thể tiếp tục thực hiện.

Đăng nhập vào web Openfiler bạn sẽ cần xác thực bằng tài khoản:

Tài khoản ngầm định: openfiler

Mật khẩu ngầm định: password

Sau khi bận đăng nhập lần đầu để thay đổi mật khẩu cho Administrator của máy ảo. Hệ thống yêu cầu bạn đăng nhập lại màn quản trị bằng mật khẩu mới. (Trong Labs thay thành:  VMware1!

Openfiler change administrator password

Bước tiếp theo cần bật các dịch vụ cần thiết cho NFS, iSCSI khởi động.

Enable and start Openfiler services

Bước 3. để cấu hình từ máy chủ hoặc mạng đang cài Openfiler. bạn có thể cung cấp các địa chỉ IP tĩnh cho máy chủ Openfiler. ví dụ: tất cả các máy chủ này đều nằm ở dải mạng: 192.168.1.0/24 sẽ có thể truy cập hệ thống chia sẻ lưu trữ này .

Openfiler network access configuration

Sau bước 3, bạn nên thêm ổ cứng ảo tới máy chủ ảo mà bạn muốn  dùng làm lưu trữ dạng NFS và iSCSI data. Bạn có thể làm điều này trong lúc các máy chủ ảo đang bật và Openfiler sẽ tự động xác định ra chúng.

Bước 4. truy xuất vào Tab Volumes và chọn Block Devices  từ menu bên phải để quản lý định dạng ổ cứng của bạn. Chúng ta bắt đầu từ ổ thứ 1 (/dev/sdb). Bấm vào hyperlink để xác lập device và để thêm 1 định dạng ổ partition.

Openfiler block devices add partition

Phần tiếp theo cần tạo 1 ổ volume mới trong ổ cứng ảo. Thực hiện hành động này cho tất cả các ổ cứng nào bạn muốn dùng. (Trường hợp này tôi chỉ dùng đĩa /dev/sdc.)

Openfiler add partiiton to device

Bước 5. tạo 1 Volume group. Tại thời điểm này tôi bắt đầu tạo ra toàn bộ cấu hình NFS và khi điều đó được thực hiện xong, tôi sẽ tạo ra tiếp các đĩa iSCSI và cấu hình chúng .

Bước 6. Cấu hình NFS Volume

Trong tab Volumes  chọn  Volume Groups từ menu bên phải.

Openfiler add new volume group for NFS

Tiếp theo bấm Add Volume là đường liên kết bên menu bên phải. Xác định tên cho voulme, nhập miêu tả và chọn amount cho vùng ổ trống từ kiểu phân vùng định dạng partition để sử dụng. File ngầm định được sử dụng ở đây là XFS, bạn cũng có thể chọn ext4 hoặc các kiểu định dạng khác nhưng quan trọng nhất là chúng ta cần hệ thống truy xuất và chia sẻ dữ liệu qua NFS do vậy những định dạng này thực sự không phải là quan trọng.

Add volume to Openfiler volume group

Bước 7. bây giờ chúng ta đã có cấu hình NFS-volume và cần phải tạo 1 cấu hình thông tin chia sẻ để giúp chúng ta đưa nó vào hệ thống máy chủ  ESXi Hypervisor. Bấm vào tab Shares và bấm link NFS-volume bạn chỉ cần nhập tên thư mục cần tạo trong volume đó.

Openfiler NFS volume add folder

Tên thư mục này về sau sẽ chính là tên Share name. Bấm foler và bấm nút  Make Share có trên cửa sổ con vừa khai báo.

Openfiler add share to NFS folder

Bước 8. nên phân quyền và giới hạn quyền truy cập các thư mục có trong Volume ổ cứng vừa cấu hình để đảm bảo an toàn dữ liệu chia sẻ trong ESXi.

Bạn cần cấu hình 1 nhóm chính Primary Group và chọn quyền ReadWrite khi truy cập NFS trên máy chủ.

Openfiler Share controled access

Cấu hình NFS-configuration trên máy chủ Openfiler giờ đã xong. Chúng ta chỉ việc quay sang máy chủ ESXi-host để thiết lập hệ thống kết nối chia sẻ.

Lưu ý: Nếu muốn dùng cho cả user Anonymous User để ESXi Host kết nốI NFS bạn cần cấu hình chọn

image

Bước 9. Bạn mở  vSphere Client (Configuration > Storage > Add Storage)  ở màn vSphere Web Client (bạn chọn máy chủ, Related Objects > Datastores và bấm biểu tượng create a new datastore).

Bạn có thể nhập địa chỉ IP hoặc tên máy chủ Openfiler nếu bạn đã cấu hình DNS.

Tip Tên datastore name nên đặt giống cùng với tất cả các máy chủ ESXi-servers trong cùng khối cluster sẽ giúp cho các máy ảo đó có thể chạy trong tất cả các máy chủ ESXi hosts khác ví dụ nếu VM dùng NFS với vMotion và High Availability.

Add datastore on ESXi from vSphere Web Client

 

Bước 10. Cấu hình iSCSI

Để cấu hình iSCSI chúng ta cần volume khác trong  volume group. Mở  web Openfiler và chọn Volumes-tab và tiếp tục chọn menu bên phải bấm vào Volume Groups. Bây giờ bạn có thể tạo ra  volume group mới trong đó có ổ cứng rỗng (ví dụ: /dev/sdc).

Openfiler add iSCSI volume group

Bước 11. Bấm Add Volume. Nếu các Volume group mới bạn vừa tạo ra không được chọn thì ngay sáu đó bạn sẽ phải chọn từ danh sách thả xuống và cần chọn lấy để bấm nút Change.

Openfiler select volume group

Bước 12. Bây giờ ta lại cần thêm volume mới để đưa vào chính volume group này. Bước quan trọng nhất đó là chọn  block-type để có thể sử dụng nó trong iSCSI-target disk.

Openfiler create iSCSI volume

Bây giờ ổ đĩa ảo đã sẵn sàng bây giờ cấu hình iSCSI-target. Từ Volumes-tab chọn iSCSI targets từ menu bên phải. Bạn lựa chọn duy nhất là tạo ra một cái mới

Openfiler add iscsi target

Bấm nút “Add” để tạo 1 iqn cho iSCSI Target

image

image

Bấm nút “Update” để lưu thông số của iSCSI.

Bước 13. tiếp theo bạn bấm sang Tab “LUN Mapping” để ánh xạ  1 LUN tới Volumes.

Openfiler LUN mapping for ISCSI target

Bấm nút “Map” ở dòng và cột cuối “Map LUN” và bước cuối cùng là cho phép truy cập đến iSCSI target này bằng tab “Network ACL”.

Openfiler network access for iSCSI

Bước 14. bây giờ bạn cần cấu hình truy cập  tới iSCSI-target từ máy chủ ESXi-host.

Hãy mở vShere Client (Configuration > Storage Adapters – bấm Add)  hoặc bạn cũng có thể tạo từ vSphere Web Client.

Openfiler add iSCSI software adapter to ESXi in vSphere Web Client

Một khi bạn đã thêm vào các bộ chuyển đổi nó sẽ hiển thị trong danh sách các bộ điều khiển lưu trữ Storage Adapter như VMHBA33 hoặc cao hơn. Trong ví dụ này bạn có thể thấy rằng nó là bộ chuyển đổi VMHBA37. Trong iSCSI Target nhấp vào tab Add để thêm iSCSI target của bạn. Bạn sẽ cần phải cung cấp địa chỉ IP hoặc tên máy chủ cho máy chủ Openfiler của bạn. Cổng port mặc định của 3260.

Openfiler add iSCSI target to ESXi

Sau khi thêm target bạn sẽ nhận được cảnh báo rằng bạn cần phải bấm nút Rescan the adapter để có thể nhìn thấy thiết bị vừa thêm vào có giá trị.

Openfiler ESXi rescan iSCSI HBA

Bây giờ bạn sẽ tìm thấy ở mục  Devices của  iSCSI software adapter , bạn sẽ nhìn thấy tên của iSCSI target tương ứng với tên đã có trong máy chủ Openfiler server.

Openfiler ESXi devices available

Tại thời điểm này bạn đã có 1 VMFS file system. Thao tác cuối cùng mở vSphere Client (Configuration > Storage – bấm Add Storage) hoặc mở từ vSphere Web Client (bạn chọn máy chủ, Related Objects-tab – Datastores và bấm biểu tượng create a new datastore).

Tip Bạn chỉ cần tạo ra kho dữ liệu này một lần. Nếu bạn kích hoạt iSCSI Target trên máy chủ ESXi host khác thì các máy chủ ESXi host đó sẽ tự động xác định ra các VMFS datastorage mới khi bậm bấm nút rescan.

 

Sử dụng xác thực bằng CHAP authentication

Trong trường hợp bạn cần bảo mật khi cấu hình chia sẻ lưu trữ cho các máy khác bằng  phần mềm iSCSI software. Bạn sẽ cần phải thêm kiểu chứng thực bằng giao thức Challenge Handshake Authentication Protocol để cài iSCSI.

Trong cấu hình Openfiler truy xuất vào Volumes và chọn CHAP Authentication. Nó sẽ yêu cầu username và password. Username sẽ dùng để truy xuất vào iSCSI initiator name hoặc bí danh có trong ESXi-host.

Openfiler add CHAP

Tiếp theo bạn cần thêm CHAP-authentication tới iSCSI-adapter có trong ESXi.

Openfiler add CHAP to ESXi

Chọn Use unidirectional CHAP theo danh sách kéo xuống. Tiếp theo bạn cần quyết định dùng thiết bị nào làm ổ chứng iSCSI-target.

Openfiler configure CHAP secret on ESXi

Virtual Labs Office 365

KHÓA ĐÀO TẠO: XÂY DỰNG HỆ THỐNG THỰC HÀNH LABS OFFICE365


Design Labs for Office 365

I.            Giới thiệu về khóa học

1.   Mục đích:

–          Hiện nay trên thị trường hầu hết các doanh nghiệp, Trường đại học, cao đẳng hoặc phổ thông, các Tổ chức khai thác sử dùng hệ thống quản lý CNTT hầu hết là không tập trung, không có kiến trúc nền tảng về hệ thống PaaS hoặc VDI hoặc không có giải pháp sâu tới người dùng thực tế.

–          Chi phí dịch vụ, đào tạo thường xuyên cao và phải tái đầu tư liên tục.

–          Để chủ động hơn trong việc kiểm soát, cũng như phát triển hệ thống quản lý hạ tầng công nghệ, tạo điều kiện tốt cho sự phát triển của tổ chức. Chúng tôi đưa ra các khoá đào tạo tư vấn giải pháp xây dựng hệ thống thực hành LABs cho nhiều mô hình tổ chức khác nhau.

–          Một trong những nội dung đào tạo của chúng tôi đó là: “Xây dựng hệ thống thực hành LAB OFFICE365”.

2.   Nội dung:

Đến với khóa học các bạn được học và thực hành cách cấu hình, cài đặt, xây dựng, vận hành một hệ thống LAB OFFICE365 trên môi trường ảo hóa của VMware.

Khóa học hướng đến đào tạo cho các học viên những kiến thức tổng quát và xuyên xuốt các vấn đề:

  1. Cách thức, quy trình xây dựng giải pháp.
  2. Hệ thống mạng ảo (vNIC).
  3. Hệ thống máy chủ ảo (VMs).
  4. Thiết kế thành phần vApp.
  5. Quản trị viên CNTT tại  trường Đại Học, Cao đẳng, Phổ thông, Doanh nghiệp những người có nhu cầu muốn thiết lập hệ thống office365 có các chức năng:

II.         Đối tượng tham gia

–          Xây dựng hệ thống quản lý người dùng, phần quyền user.

–          Đồng bộ tài khoản người dùng ADDC cùng với office365 cloud.

–          Thiết lập hệ thống đăng nhập một lần.

  1. Các nhân viên trong phòng CNTT của các tổ chức, công ty: cũng có nhu cầu học cách thiết lập hệ thống office365 cho tổ chức của mình.
  2. Có kiến thức cơ bản về Hệ điều hành Windows / Linux, hệ thống mạng Network.
  3. Kiến thức cơ bản về hệ thống ảo hóa vSphere của VMware, Virtual Box, Microsoft Hyper-V.
  4. Ưu tiên các bạn có kiến thức về hệ thống ADDC.

III.       Yêu cầu với học viên

 

  1. Có kiến thức cơ bản về Hệ điều hành Windows / Linux, hệ thống mạng Network.
  2. Kiến thức cơ bản về hệ thống ảo hóa vSphere của VMware, Virtual Box, Microsoft Hyper-V.
  3. Ưu tiên các bạn có kiến thức về hệ thống ADDC.

IV.      Lợi ích của việc tham gia khóa học:

  1. Học viên có thể chủ động xây dựng hệ thống thực hành LABs Office365: tạo dựng môi trường thực hành phát triển và đào tạo, thực nghiệm các hệ thống quản lý người dùng, đồng bộ hóa tài khoản người dùng với Office365 Cloud, thiết lập đăng ký tài khoản domain.
  2. Phòng/ban CNTT: được đào tạo vững chắc kiến thức nền tảng hệ thống Labs, chủ động trong việc cấu hình, xây dựng hệ thống, đăng ký và triển khai office365 cho doanh nghiệp, tổ chức của mình.

Thông tin về lịch khai giảng tại Viện đào tạo và quản lý CNTT ROBUSTA Hà nội


Nếu quý khách có yêu cầu chương trình học ngoài lịch khai giảng trên xin vui lòng liên hệ với Robusta

STT

Tên khóa học

Ngày KG

Giờ học

Ngày học

Thời lượng

Học phí

Giảng viên

Các khóa đào tạo công nghệ VMware

1

 Triển khai, quản trị hạ tầng ảo hóa với VMware vSphere 5.5

05-05-2014 18h-21h Thứ 2-6 40 giờ Liên hệ Việt Nam
2
10-05-2014 09h-17h Thứ 7,CN 40 giờ Liên hệ Việt Nam
3
12-05-2014 09h-17h Trong tuần 40 giờ Liên hệ Việt Nam
4

VMware vSphere: Optimize & Scale [v5.1]

26-05-2014 09h-17h Trong tuần

40 giờ

Liên hệ Việt Nam

 

5

Ảo hóa máy trạm và ứng dụng VMware [v5.5]

 

19-05-2014

18h-21h

Trong tuần

40 giờ

Liên hệ

Việt Nam

6

09-06-2014

18h-21h

Thứ 2,4,6

40 giờ

Liên hệ

Việt Nam

 

7

VMware vCenter Configuration Manager for Virtual Infrastructure Management [V5.x]

04-06-2014

09h-17h

Trong tuần

40 giờ

Liên hệ

Nước ngoài

8

VMware vCenter Operations Manager: Analyze and Predict [V5.x]

02-06-2014

09h-17h

Trong tuần

16 giờ

Liên hệ

Nước ngoài

9

VMware vCenter Configuration Manager for Virtual Infrastructure Management [V5.x]

04-06-2014 09h-17h Trong tuần 24 giờ Liên hệ Nước ngoài

Các khóa đào tạo Microsoft

1

Office365 Tổng hợp

 

05-05-2014 09h-17h Trong tuần 24 giờ 06 triệu Việt Nam
2 05-05-2014 18h-21h Thứ 2,4,6 24 giờ 06 triệu Việt Nam
3

 

Manage Projects with Microsoft Project 2010

 

12-05-2014
18h-21h

Thứ 2,4,6

24 giờ 05 triệu Việt Nam
4

Phát triển Biztalk Server dành cho người lập trình

12-05-2014 09-17h

Trong tuần

40 giờ Liên hệ Việt Nam
5

Quản trị Biztalk Server

26-05-2014 09-17h

Trong tuần

40 giờ Liên hệ Việt Nam
6 Phát triển Biztalk trong tích hợp ứng dụng doanh nghiệp 02-06-2014 09-17h Trong tuần 40 giờ Liên hệ Việt Nam
7 02-06-2014 18h-21h Thứ 3,5,7 40 giờ Liên hệ Việt Nam
8 Thiết kế và phát triển Ứng dụng Microsoft Sharepoint 19-05-2014 18h-21h Thứ 2,4,6 40 giờ Liên hệ Việt Nam
9 Thiết kế kiến trúc hạ tầng Microsoft Sharepoint 26-05-2014 09h-17h Trong tuần 40 giờ Liên hệ Việt Nam
10

KHOÁ ĐÀO TẠO NÂNG CAO

ĐIỀU CHỈNH SHAREPOINT 2010 CHO HIỆU SUẤT CAO

23-06-2014 09h-17h Trong tuần 40 giờ Liên hệ Việt Nam
11 Thiết kế các giải pháp BI với  Microsoft SQL Server 09-06-2014 09h-17h Trong tuần 40 giờ Liên hệ Việt Nam
Các khóa đào tạo khác
1 Quản lý CNTT và An toàn thông tin 19-05-2014 09h-17h Trong tuần 40 giờ Liên hệ Việt Nam
2 19-05-2014 18h-21h Thứ 2,4,6 40 giờ Liên hệ Việt Nam
3 IT Management Skills – Các kỹ năng quản lý công nghệ thông tin 16-06-2014 09h- 17h Trong tuần 40 giờ Liên hệ Việt Nam
4 ITIL – Information Technology Infrastructure Library Foundation V3 16-06-2014 18h-21h Thứ 2,4,6
24 giờ Liên hệ Việt Nam
5
Thiết kế Website PHP và HTML5 bằng phương pháp sản xuất công nghiệp
27-4-2014
08h-12h
Chủ nhật
4 giờ
01 triệu
Việt Nam

 

Thông tin ưu đãi:

– Giảm giá đặc biệt cho các học viên đăng ký và thanh toán trước ngày khai giảng tối thiểu 02 tuần hoặc đăng ký nhóm 02 người trở lên.

 

Thông tin chi tiết vui lòng liên hệ:

Lê Trường Sơn (Mr.) – Mobile : (+84) 0904 411 933 – Email: son.le@robusta.vn

Lê Toàn Thắng (Mr.) – Mobile : (+84) 943 851 178 – Email: thang.le@robusta.vn

Xin cám ơn và mong được hợp tác và hỗ trợ Quý Anh/Chị cùng đơn vị trong thời gian tới!

KHÓA ĐÀO TẠO OFFICE365 TỔNG HỢP


Office-365-Fast-Track
1. Giới thiệu khóa học:

Khóa học tổng hợp bao gồm cả 3 phần: Quản trị Office 365, Triển khai Office 365 và Đem sức mạnh Office 365 đến người dùng.

Thời lượng khóa học: 4 ngày (24 giờ)

Thời lượng khóa học thường được xác định chính xác sau khi thống nhất cụ thể nội dung khóa học.

2.Phương thức đào tạo
  • Đào tạo trực tiếp tại lớp học, có thể học liên tục từ sáng đến chiều hoặc chia làm nhiều ca học cho đến khi hết nội dung khóa học.
  • Học viên đem theo laptop thực hành.
3. Học phí: liên hệ trước 02 tuần

Thông tin ưu đãi: Giảm ngay 10% học phí cho học viên đăng ký và thanh toán trước ngày khai giảng tối thiểu 02 tuần hoặc đăng ký nhóm 02 người trở lên.

  Thông tin liên hệ:

–         (Mr.) Lê Trường Sơn | Mobile: 0904 411 933  | Email: son.le@robusta.vn

–         (Mr.) Lê Toàn Thắng | Mobile: 0943 851 178  | Email: thang.le@robusta.vn

VMware Virtual SAN – công nghệ lưu trữ sáng giá trong VMware, hyper-convergence


Bài viết từ  Trang. Nguyễn.

Để có thể hiểu rõ hơn về nhận định trên, có một vài khái niệm chúng ta cần hiểu rõ trước.

1. Virtual SAN

Năm 2013, VMware thông báo công bố một sản phẩm mới trong thế giới ảo hóa, đó là phiên bản VMware Virtual SAN (vSAN) – khuấy động mối qua tâm của nhiều người.

vsan-intro

Mặc dù với cách viết tắt là “vSAN”, nhưng VMware vSAN có gì khác so với các mạng lưới lưu trữ ảo hóa truyền thống (Virtual storage area networks-VSANs). Mạng lưới lưu trữ ảo hóa là một thành phần logic trong mạng lưới lưu trữ (storage area network-SAN). VSANs truyền thống có thể lưu thông tách biệt trong các phần đặc biệt của một SAN. Một VSAN có thể được xây dựng để độc lập với các VSAN khác, thêm vào đó có thể thiết lập chế độ an toàn và ổn định riêng.

Không chỉ có thể giữ các nguồn tài nguyên một cách độc lập, vSAN của VMware còn có thể kết hợp chúng lại với nhau hoặc tách chúng ra riêng biệt khi cần. vSAN là một sản phẩm của VMware góp phần thúc đẩy việc thiết lập trung tâm dữ liệu phần mềm. vSAN được kết hợp với hypervisor – bắt đầu có với phiên bản vSphere 5.5 và được quản lý từ vSphere Web client, cho ra khối lượng lớn các thiết bị phần cứng và bộ lưu trữ flash được lấy từ cụm các máy chủ ESXi làm nơi lưu trữ dữ liệu cho các máy ảo.

Theo như VMware, thì mục tiêu của vSAN là giúp cho việc quản lý lưu trữ được dễ dàng, mở rộng và đưa ra nguồn dự phòng cho VMware.

vsan-intro2

Một lợi ích khác đối với các doanh nghiệp là giá trị; vSAN có thể được sử dụng đồng thời với các thiết bị lưu trữ hiện tại của công ty, miễn là nó có thành phần phần cứng tương thích với VMware, mà không cần phải mua bổ sung phần cứng. vSAN dùng các ổ đĩa solid-state để đọc và ghi cho bộ nhớ đệm và ổ đĩa cứng cho các lưu trữ chính.

Sự ra mắt của vSAN đã sớm nhận được những phản ứng tích cực nhưng một vài người sử dụng vẫn lo ngại và quen dùng với mạng lưới lưu trữ truyền thống. Bởi lẽ, sản phẩm vSAN đã làm lu mờ đi ranh giới giữa người quản trị ảo hóa và quản trị lưu trữ, điều này đặt ra một loạt các câu hỏi về trách nhiệm đối với nhiệm vụ cung cấp.

Điểm cần chú ý nữa là, nhiều hypervisors như KVM và Hyper-V sẽ không thể truy vào cụm lưu trữ được tạo ra từ vSAN.

2. Hyper-convergence

Hyper-convergence được sinh ra từ khái niệm sơ sở hạ tầng hội tụ bao gồm bộ lưu trữ, máy tính và hệ thống mạng. Hệ thống thuộc loại siêu hội tụ, được xây dựng trên hypervisor và cũng được sử dụng đặc biệt trong môi trường ảo hóa. Hệ thống lưu trữ là máy tính thường được quản lý riêng biệt trong môi trường ảo hóa, nhưng với hyper-convergence đưa ra một cách quản lý đơn giản là cho phép tất cả mọi thứ được quản lý thông qua một plug-in.

vsan-intro1-1024x747

Với công nghệ Virtual SAN, VMware không còn có những lo ngại về những vai trò trong việc lưu trữ. Phần mềm hyper-converged làm VMware giống như một công ty lưu trữ – vừa như một nhà cung cấp nhưng vẫn hỗ trợ lưu trữ. Tuy nhiên, nó thiếu tính năng lưu trữ và quản lý dữ liệu, nó cần một hệ thống tổ chức đúng đắn.

Giám đốc điều hành Pat Gelsinger đã có một khẳng định rõ ràng rằng lưu trữ là một thành phần quan trọng trong chiến lược của công ty. VMware vSAN được thiết kế ra rõ ràng là để cạnh tranh với các hệ thống lưu trữ trên thị trường.

Các thành phần ổ đĩa cứng và lưu trữ flash của VSAN được láy từ cụm các máy chủ ESXi hỗ trợ việc chia sẻ lưu trữ cho các máy ảo. Kho lưu trữ được cung cấp và quản lý từ hypervisor.

Không giống như nhiều sản phẩm lưu trữ của VMware, vSAN có thêm nhiều tính năng lưu trữ giám sát hoặc cho phép các công ty nhỏ được chia sẻ lưu trữ. vSAN được xây dựng cho các doanh nghiệp có quy mô. Có cổng ra ngoài hỗ trợ đến 32 nodes ( tăng từ con số 8 nodes trong phiên bản beta và 16 nodes là công bố mới của VMware), 4.5 petabytes và 2 triệu IOPS. Tuy nhiên, nó thiếu các tính năng lưu trữ và quản lý dữ liệu vì thế nó cầ hệ thống quản lý đúng đắn. Tính năng sủ dụng đầu tiên cuản vSAN sẽ được dùng để lưu trữ cho một cơ sở hạ tầng máy tính để bà ảo (VDI) và các văn phòng điều khiển từ xa.

Ngoài ra, thì cũng giống như các sản phẩm lưu trữ khác của VMware, vSAN không được thiết kế cho các quản trị hệ thống lưu trữ truyền thống. Mục tiêu của nó là hướng đến các quản trị viê máy chủ và ứng dụng người muốn lưu trữ mà không cần thiết lập các nhóm LUNs và RAID.

Gelsinger nói rằng việc hoàn thiện hệ thống lưu trữ đã tạo ra thành phần thứ 4 trong chiến lược xây dựng trung tâm phần mềm của VMware, đã bao gồm máy tính, máy chủ và mạng.

Một câu hỏi mà Gelsinger đã đặt ra là “ Tại sao phải thực hiện lưu trữ, chúng ta là một công ty ảo hóa mà? . Câu trả lời rất đơn giản: Vì lưu trữ và quản lý dữ liệu là một trong những tính năng quan trọng của trung tâm dữ liệu – gọi là trung tâm dũ liệu thì nó phải có trách nhiệm về việc đó. Và đó cũng là điểm yếu và thách thức lớn cho những khách hàng của chúng tôi hiện nay. Vì các công ty về cơ bản được đánh giá dựa trên cách lưu trữ, tổ chức và phâ tích dữ liệu”.

VMware đã tuyên bố có 12 000 khách hàng đang kí sử dụng chương trình thử nghiệm này. Nhà đầu tư sẽ tạo vSAN GA như một phần mềm download hoặc dựa trên hệ thống phần cứng được tạo ra từ các đối tác như: Cisco, Dell, Fusion-io, HGST, Hewlett-Packard, IBM, Intel, LSI, Samsung Electronics, SanDisk và Seagate. Các khách hàng cũng có thể được dụng VMware vSAN của riêng họ với bất kỳ cấu trúc phần cứng nào mà được hỗ trợ của VMware hypervisors.

Một cụm vSAN yêu cầu vCenter Server; với ít nhất 3 máy chủ vSphere có các bộ phân xử đường dẫn máy chủ SAS hoặc máy chủ SATA; ít nhất một ổ đĩa cứng SAS hoặc SATA; và một thiết bị SAS, SATA hoặc PCI Express flash. Mỗi máy chủ cũng cần một Ethernet đường dẫn Gigabit hoặc cạp mạng 10GbE.

Gelsinger cũng nói về giá trị của vSAN là: Nó làm cho việc lưu trữ “dễ dàng thực hiện, hiệu suất cao, và có hiệu quả trong chi phí”. Chúng tôi không thể có đánh giá về các đặc tính này sớm, vì VMware sẽ không đưa ra giá cho tới khi vSAN đi GA trong tuần tới. Hiệu suất sẽ được đánh giá bởi mỗi người dùng. Chúng tôi biết vSAN còn thiếu một số tính năng lưu trữ có giá trị như: không cho sao chép/nén; kết nối;phân chia rộng khắp hoặc tẩy xóa mã hóa; công nghệ bảo vệ dữ liệu như là: bảo vệ dữ liệu liên tục và dựa trên chính sách chuyển dữ liệu lên đám may. Nói một cách khác, nó là lưu trữ có phần mềm xác định mà không có nhiều tính năng cần chúng tôi tích hợp.

VMware có thể thêm các tính năng quản lý lưu trữ trong tương lai. Các khách hàng cũng có thể nhận được chúng thông qua các sản phẩm phần mềm của bên thứ 3, nhưng nó sẽ làm giám giá trị về chi phí, và đơn giản của vSAN.

Nó xuất hiện dễ dàng để thiết lập và quản lý, ít nhất là khi so sánh với cách lưu trữ truyền thống dựa trên LUN. Nó không phải đơn giản là “hai click” vì nó cần nhiều tác vụ hơn để thiết lập các chính sách lưu trữ, nhưng chỉ cần quá trình xử lý đơn giả là đủ. Giám đốc công nghệ của VMware Ben Fathi đã chứng minh một vSAN đã được tiến hành thực nghiệm trong cả ngày thứ 5, nhanh chóng thiết lập các chính sách lưu trữ cho khả năng phục hồi ( số rủi ro phải chấp nhận chịu ) và hiệu suất ( số vạch đĩa cho mỗi đối tượng và lượng ổ flash cần dùng cho đọc bộ nhớ cache), và việc triển khai một ứng dụng bằng cách nhấn kéo thả các trình đơn.

“Tôi đã không lo lắng về LÚN, cấu hình RAID, hay bất kì cái gì, hay bất kì trình quản lý đặc biệt nào” Fathi nói sau khi demo. “ Tôi nghĩ bạn sẽ dùng cách lưu trữ mới này trong tương lai.”

Fathi cũng nói thêm rằng: 32 node vSAN có thể lưu trữ tới 3 200 máy ảo. “ Điều đó đáp ứng cho các yêu cầu của bất kì doah nghiệp nào”.

3. vSAN ảnh hưởng như thế nào đến cảnh quan lưu trữ?

vSAN của VMware ra mắt được sự chứng nhận từ nhiều nhà đầu tư máy chủ như Cisco, Dell và IBM và plus EMC và Intel. Các nhà đầu tư máy chủ và Intel nên vui mừng về sự ra mắt của vSAN bởi vì nó làm tăng giá trị các máy chủ của họ bằng cách chuyển chúng vào bộ nhớ chia sẻ.

Một số nhà đầu tư nhỏ xem ra không chào đón sự xuất hiện của vSAN, điều này thực sự là mối đe dọa cho hệ thống hyper-converged được bán bởi Nutanix, SimpliVity và Maxta, cũng như lưu trữ VM-aware từ Tintri. vSAN cũng có thể gây ảnh hưởng đến các nhà đầu tù mảng flash – những đối tượng đã dành được những thành công bân đầu nhờ việc bán lưu trữ tù VDI.

Giám đốc điều hành Dheerj Pandey của Nutanix, người giúp công ty có được thành công lớn nhất kể từ khi hyper-convergence bắt đầu ra mắt cho đế nay, lại có nhận định khác về vSAN. Ông nói VMware có thể giúp đỡ Nutanix bằng cách chuyển việc mua lại và trích lập dự phòng lưu trữ từ những người quản trị máy chủ và ứng dụng. Họ cũng là người mà Nutanix bán cho.

“Mọi người cứ cố gắng vẽ ra những điều sai lầm giữa chúng tôi” ông nói “ Chúng tôi đang chạy môi trường làm việc, cơ sở dữ liệu, máy chủ mail và các ứng dụng ERP trên máy chủ của Nutanix. Mặc dù, nó khá lôn xộn trong VDI, nhưng tôi tin rằng việc trao quyền cho những người có VDI và những người có máy chủ sẽ kéo luồng gió này ra khỏi các công ty SAN. Đây sẽ là một khó khăn hơn cho EMCs, NetApps và các nhà đầu tư lưu trữ. Đó là những điều chính xác một công ty như Nutanix cần biết từ một công ty lớn như VMware”.

 

Trân trọng cảm ơn em Trang. SV ĐHBK HN !

Làm thế nào để đồng bộ Active Directory Sync trong khi Username và Password bị mã hoá theo OS 32/64bit ?


Part 1. Password Filter for OS

 

Contents

I.      Password Filters. 1

1.    Password Filter Functions. 2

2.    Password Filter Programming Considerations. 2

3.    Installing and Registering a Password Filter DLL. 3

To install and register a Windows password filter DLL. 3

II.     Enforce Custom Password Policies in Windows. 4

III.        Configuring Security Policy. 5

IV.       The RegEx Password Filter Sample. 6

V.    Installing the Password Filter 8

VI.       Source Code Compiler by VC++. 9

      Download boots link: 9

      Error when Building: 9

      Installation. 9

 

 

I. Password Filters

Password filters provide a way for you to implement password policy and change notification.

When a password change request is made, the Local Security Authority (LSA) calls the password filters registered on the system. Each password filter is called twice: first to validate the new password and then, after all filters have validated the new password, to notify the filters that the change has been made. The following illustration shows this process.

clip_image001

Password change notification is used to synchronize password changes to foreign account databases.

Password filters are used to enforce password policy. Filters validate new passwords and indicate whether the new password conforms to the implemented password policy.

For an overview of using password filters, see Using Password Filters.

For a list of password filter functions, see Password Filter Functions.

The following topics provide more information about password filters:

 

1.  Password Filter Functions

The following password filter functions are implemented by custom password filter DLLs to provide password filtering and password change notification.

Function

Description

InitializeChangeNotify

Indicates that a password filter DLL is initialized.

PasswordChangeNotify

Indicates that a password has been changed.

PasswordFilter

Validates a new password based on password policy.

 

2.  Password Filter Programming Considerations

When implementing password filter export functions, keep the following considerations in mind:

  • Take great care when working with plaintext passwords. Sending plaintext passwords over networks could compromise security. Network “sniffers” can easily watch for plaintext password traffic.
  • Erase all memory used to store passwords by calling the SecureZeroMemory function before freeing memory.
  • All buffers passed into password notification and filter routines should be treated as read-only. Writing data to these buffers may cause unstable behavior.
  • All password notification and filter routines should be thread-safe. Use critical sections or other synchronous programming techniques to protect data where appropriate.
  • Password notification and filtering take place only on the computer that houses the account.
  • All domain controllers are writeable, therefore password filter packages must be present on all domain controllers.

Windows NT 4.0 domains: Notification on domain accounts takes place only on the primary domain controller. In addition to the primary domain controller, the password filter packages should be installed on all backup domain controllers to allow notifications to continue in the event of server role changes.

  • All password filter DLLs run in the security context of the local system account.

For information about

See

How to install and register your own password filter DLL.

Installing and Registering a Password Filter DLL

The password filter DLL provided by Microsoft.

Strong Password Enforcement and Passfilt.dll

Export functions implemented by a password filter DLL.

Password Filter Functions

 

3.  Installing and Registering a Password Filter DLL

You can use the Windows password filter to filter domain or local account passwords. To use the password filter for domain accounts, install and register the DLL on each domain controller in the domain.

Perform the following steps to install your password filter. You can perform these steps manually, or you can write an installer to perform these steps. You need to be an Administrator or belong to the Administrator Group to perform these steps.

clip_image002To install and register a Windows password filter DLL

1.       Copy the DLL to the Windows installation directory on the domain controller or local computer. On standard installations, the default folder is \Windows\System32. Make sure that you create a 32-bit password filter DLL for 32-bit computers and a 64-bit password filter DLL for 64-bit computers, and then copy them to the appropriate location.

2.       To register the password filter, update the following system registry key:

3.  HKEY_LOCAL_MACHINE
4.     SYSTEM
5.        CurrentControlSet
6.           Control
            Lsa

If the Notification Packages subkey exists, add the name of your DLL to the existing value data. Do not overwrite the existing values, and do not include the .dll extension.

If the Notification Packages subkey does not exist, add it, and then specify the name of the DLL for the value data. Do not include the .dll extension.

The Notification Packages subkey can add multiple packages.

7.       Find the password complexity setting.

In Control Panel, click Performance and Maintenance, click Administrative Tools, double-click Local Security Policy, double-click Account Policies, and then double-click Password Policy.

8.       To enforce both the default Windows password filter and the custom password filter, ensure that the Passwords must meet complexity requirements policy setting is enabled. Otherwise, disable the Passwords must meet complexity requirements policy setting.

 

 

II.                Enforce Custom Password Policies in Windows

 

Most people take the easy way out and use the default filter in order to validate passwords. But did you know you can employ authentication modules to customize your password policies to reflect your organization’s unique security requirements? Find out how in this article.

by Yevgeny Menaker

Microsoft Windows allows you to define various password policy rules. Specifically, it allows you to enable the “Password must meet complexity requirements” setting using the Policy Editor. This validates user passwords against password filter(s) (system DLL(s)). Usually, people use the default filter. However, many admins say they’d prefer a Linux-style validation, which would allow them to install various pluggable authentication modules (Linux-PAM modules) to filter user passwords (authentication tokens). You can easily adapt these modules to reflect your organization’s security policy with help of Linux configuration text files. The ability to add-on such modules creates more flexibility in composing password policies. With help of such custom modules (of course, these modules should be developed by a Linux programmers), Linux administrators may even author a regular expression for matching user passwords. Go to www.kernel.org/pub/linux/libs/pam/ for more detailed information about Linux-PAM and the available modules.

 

The Linux model described above may be employed on Windows machines as well.

What You Need: Windows NT/2000/XP


In this article, learn how to create a
Custom Password Filter (DLL in C++) that validates passwords against a configurable regular expression. The RegEx functionality is implemented based on the Boost open source library because it has wide support for regular expressions.

Let’s start with an overview of the Windows Security system.

Windows Security
Windows Security is a policy-based system with a set of rules that compose security settings for a local machine or domain. The work of policy-based systems usually has three major stages:

  1. Creating rules to compose a policy.
  2. Searching for evidences.
  3. Enforcing policy based on the evidences.

There is a parallel between the above stages and real-life legal systems. Most countries have an authority (usually parliament or senate) that makes laws. This corresponds to the first stage—composing the policy). Police departments are the guards of the legal system, responsible for collecting evidence (e.g. measuring car speed on highways) and enforcing the existing laws based on evidences (e.g. canceling driving license in case of exceeding the speed limit). So, a police force corresponds to the second and third stages.

In Windows security, system administrators play the role of parliament. They dictate the policy for an organization domain. In some cases, regular users also design security policy (e.g. when choosing their own passwords). The police uniform is given to the local security authority (LSA) Windows sub-system. LSA collects evidences for decision-making and enforces the policies (laws). The LSA sub-system is represented by the lsass.exe Windows process and several system DLLs.

 

III.             Configuring Security Policy

System Administrators are usually responsible for configuring Security Policy. Since this article is about password filters, I’ll use configuring Password Policy as the example.

 

clip_image004

 

Figure 1. The “Local Security Policy” Management Console: This shows the list of security settings that compose your password policy on the local machine.

 

As mentioned previously, regular users are involved in composing security settings when they choose their own log-on passwords. However, because a weak password can create vulnerable system and compromise organization security, system administrators need more control over this issue and disallow the use of too simple, short and vulnerable to dictionary attacks passwords. In other words, you need to compose a password policy that meets your organization’s security requirements.

To edit security policies, you can use either the secedit.exe command line utility or the “Domain Security Policy” graphical console available from Control Panel -> Administrative Tools on the domain controller machine. With this tool, you will govern the security policy for all the computers in the Windows domain. Note that in case of workstation machine, only the “Local Security Policy” console is installed (shown in Figure 1). Local policy affects settings on the local machines and it doesn’t override domain policy. Thus, the security settings will be effective for local machine users, but not for domain users. This article uses the graphical tool to alter security settings on the local machine.

clip_image006

 

Figure 2. Editing Password Policy Rules: Double-click the “Minimum password length” item to display the dialog window.

 

The left pane of the management console contains an Explorer-like tree. Each node represents a different Security Policy. In this example, you’ll make modifications to the Password Policy to require users to choose long enough passwords (at least 10 characters). Here’s how to do it:

Expand the “Account Policies” node and select “Password Policy.” On the right pane of the management console, you should see a list of security settings (rules) that compose the password policy as shown in Figure 1. Double-click the “Minimum password length” item to display the dialog window (Figure 2). Edit the text field, setting the minimum password length to 10 characters, and click OK.

Congratulations! The new rule is ready. From now on, LSA will not allow your users to choose passwords shorter than 10 characters.

An interesting rule from the Password Policy set is “Password must meet complexity requirements.” This rule may be either Disabled or Enabled. In the Disabled state it has no effect. Enabling this rule instructs LSA to validate each password against Password Filters. If you don’t provide any filter, the default is used (which is considered relatively strong). However, the default allows simple passwords, such as Paris123. You definitely want more powerful filters and this is where Custom Password Filters can be helpful.

What Is a Password Filter?
A Password Filter plays a primary role in decision-making regarding user passwords. By definition, a Password Filter is a system DLL that exports three functions with the following prototypes (note the
__stdcall
calling convention):

BOOLEAN __stdcall InitializeChangeNotify(void);     // (1)

BOOLEAN __stdcall PasswordFilter( // (2)

PUNICODE_STRING AccountName,

PUNICODE_STRING FullName,

PUNICODE_STRING Password,

BOOLEAN SetOperation

);

NTSTATUS __stdcall PasswordChangeNotify(    // (3)

PUNICODE_STRING UserName,

ULONG RelativeId,

PUNICODE_STRING NewPassword

);

How does LSA interact with Custom Password Filters by means of the above interface? First, assume that the “Password must meet complexity requirements” rule is Enabled. On the system startup, LSA loads all the available Password Filters and calls the InitializeChangeNotify() function. When LSA receives TRUE as a return value, this means that the Password Filter loaded successfully and functions properly. Upon this call, LSA also builds a chain of available Password Filters (those that returned TRUE).

When you’re giving a password to a new user or modifying an existing user’s password, LSA assures that every link in Password Filters Chain is satisfied with a new password. LSA invokes the PasswordFilter() function of each filter in the chain. If one filter in a chain returned FALSE, LSA does NOT continue calling the next filter. Instead, it asks the user to provide another password. If every call to PasswordFilter on every filter returns a TRUE value, a new password is approved and each filter is notified about it through the PasswordChangeNotify() function.

As you can see, the Password Filter is a handy tool for LSA (or, the Windows Police), acting as a speed trap for highway patrol, helping to collect evidence from the “field.” These evidences are useful in the third stage, where policies are enforced.

Before You Implement…
Consider the following issues before you start coding your own Password Filters:

*       Treat sensitive data carefully. The PasswordFilter and PasswordChangeNotify functions receive passwords in clear-text format. These passwords should be processed fast and shouldn’t leave any trails in your memory for malicious applications to capture. Introduced in Windows 2003, the SecureZeroMemory Win32 API cleans specified memory. Traditional ZeroMemory may be not enough, since “smart” compilers will optimize your code and remove calls to this API. To make sure there are no such “useful” optimizations, read a random byte from a password string after it was filled with zeros.

*       Make your filters fast and efficient. When LSA calls into the Password Filter function, most Windows processing stops, so make sure you don’t perform any lengthy operations.

*       Expect the unexpected. Because LSA loads password filters during start-up, if something goes wrong, your system may become inoperable or go into deadlock. To avoid this, develop and test your DLLs on machines that have at least two operating systems installed. I have Linux and XP on my box and I found it highly useful when preparing this article. When I encountered problems, I booted from Linux and deleted the Password Filter DLL.

*       Log your actions. Password Filters run in the context of the lsass.exe process. I don’t recommend debugging this process, because after you close the debugger and end the process, your system will shutdown. The best way to debug your already-running filter is to write the log files to disk and follow them to fix the bugs.

*       Pre-debug your DLL. While lsass.exe debugging is not recommended, you may test your fresh Password Filter by writing a small unit-test program. In this program, load your DLL with a call to LoadLibrary Win32 API and invoke exported functions (after getting their addresses within GetProcAddress Win 32 API calls). This way, you may check that your filter doesn’t crash and functions properly.

 

IV.            The RegEx Password Filter Sample

Now that you’re aware of all the possible pitfalls, it’s high time for code action. This section will walk you through the sample provided with this article. I’ve created a VS7 solution with the PasswordFilterRegEx VC project.

As the Password Filter definition requires, you export three functions. Here’s the code for the DEF file included within the sample project:

LIBRARY PasswordFilterRegEx

EXPORTS

InitializeChangeNotify

PasswordChangeNotify

PasswordFilter

 

 
 

The PasswordFilterRegEx.cpp contains source code for the exported functions. The implementations of InitializeChangeNotify and PasswordChangeNotify are quite simple:

// Initialization of Password filter.

// This implementation just returns TRUE

// to let LSA know everything is fine

BOOLEAN __stdcall InitializeChangeNotify(void)

{

WriteToLog(“InitializeChangeNotify()”);

return TRUE;

}

// This function is called by LSA when password

// was successfully changed.

//

// This implementation just returns 0 (Success)

NTSTATUS __stdcall PasswordChangeNotify(

PUNICODE_STRING UserName,

ULONG RelativeId,

PUNICODE_STRING NewPassword

)

{

WriteToLog(“PasswordChangeNotify()”);

return 0;

}

The bulk of the work is done in the PasswordFilter function (shown in Listing 1). First, create a zero-terminating copy of a password string and assign it to an STL wstring object (STL is used in conjunction with the boost regex library):

wszPassword = new wchar_t[Password->Length + 1];

if (NULL == wszPassword)

{

throw E_OUTOFMEMORY;

}

wcsncpy(wszPassword, Password->Buffer, Password->Length);

wszPassword[Password->Length] = 0;

WriteToLog(“Going to check password”);

// Initialize STL string

wstrPassword = wszPassword;

Next, the regular expression is instantiated. The sample Password Filter reads the regular expression from the RegEx value of the following registry key:

HKEY_LOCAL_MACHINE\\Software\\DevX\\PasswordFilter

If the value is not found in registry, the dummy default regular expression (“^(A)$”) is used.

Finally, validate the password against the regular expression and return the results to the caller (LSA):

WriteToLog(“Going to run match”);

// Prepare iterators

wstring::const_iterator start = wstrPassword.begin();

wstring::const_iterator end = wstrPassword.end();

match_results<wstring::const_iterator> what;

unsigned int flags = match_default;

bMatch = regex_match(start, end, what, wrePassword);

if (bMatch)

{

WriteToLog(“Password matches specified RegEx”);

}

else

{

WriteToLog(“Password does NOT match specified RegEx”);

}

. . .

return bMatch;

Just before you return the results to LSA, perform memory clean-up:

// Erase all temporary password data

// for security reasons

wstrPassword.replace(0, wstrPassword.length(), wstrPassword.length(),

(wchar_t)’?’);

wstrPassword.erase();

if (NULL != wszPassword)

{

ZeroMemory(wszPassword, Password->Length);

// Assure that there is no compiler optimizations and read random byte

// from cleaned password string

srand(time(NULL));

wchar_t wch = wszPassword[rand() % Password->Length];

delete [] wszPassword;

wszPassword = NULL;

}

return bMatch;

 

V.              Installing the Password Filter

Note: In order to filter passwords for domain users, you should use the “Domain Security Policy” console on domain controller machine and install there your password filter. In this example, the entire configuration is done on the local machine. Hence, Password Filter will validate passwords for my local machine accounts. Follow this procedure to activate your fresh Password Filter (the same procedure is applicable for the domain controller):

*       Enable the “Password must meet complexity requirements” rule of the Password Policy.

*       Copy the Password Filter DLL to the %SystemRoot%\system32 folder on your machine.

*       Open the Registry Editor (regedit.exe) and locate the following registry key:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

*       Modify the “Notification Packages” multi-string value of the above key and add your Password Filter file name without the “.dll” extension. Add the PasswordFilterRegEx string as shown in Figure 3.

clip_image007

 

Figure 3. Editing “Notification Packages”: Add the PasswordFilterRegEx string.

 

*       Close Registry Editor and restart your machine.

Your Password Filter in Action
After you’ve installed Password Filter and restarted your machine, you’re ready for testing. The source code includes a simple regular expression for testing purposes. Find it in the
RegEx value of the HKLM\Software\DevX\PasswordFilter key (the PasswordFilter.reg
file is provided with the code for your convenience):

^([a-zA-Z]+)(\d+)([a-zA-Z]+)$

In other words, start with letters, have some digits in the middle and end up with letters again. This regular expression is not recommended as a strong Password Regular expression, but it is useful for assessing whether your Password Filter does its job.

clip_image009

 

Figure 4. Creating a New User: Select Expand Local Users and Groups, right-click on the Users node, and choose the New User menu item.

 

Remember that this filter stands after the default Windows filter in the chain. So, in order to have any effect, you’ll need tougher requirements than the default. The Paris2003 password will validate against the default filter, but the test regular expression won’t match it. To check this, create a new user. If you use Domain Controller, create a user with Active Directory. On the stand-alone Workstation machine, right-click on My Computer and choose the Manage item from the context menu. Select Expand Local Users and Groups, right-click on the Users node, and choose the New User menu item as shown in Figure 4.

Fill-in the new user’s details and assign a password. Try a simple one (e.g.: Paris2003) and you will get an error message from LSA (Figure 5). Try a different, more complex password (e.g.: Paris2003A) and it will be accepted.

The Secret Is Out
While there are several commercial products that implement Password Filters, it isn’t really all that difficult. Now, that you understand how they work, you can provide your own, customized solution.

clip_image011

 

Figure 5. Error!: This password doesn’t meet the complexity requirements.

 

 

 

 

 

 

VI.            Source Code Compiler by VC++

 

       Download boots link: http://nchc.dl.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.zip

 

       Error when Building:

I writed project which uses <boost/thread/locks.hpp>, i added include directory to Additional Include directories, and lib folder to linker. But when i try to build solution, error:

Error 1 error LNK1104: cannot open file ‘libboost_thread-vc100-mt-sgd-1_50.lib’

I searched this file in lib directory, but no file with this name in lib directory. I found file with similar name libboost_thread-vc100-mt-gd-1_50.

       Answer: i built them by guide boost.org/doc/libs/1_50_0/doc/html/bbv2/installation.html

       Installation

To install Boost.Build from an official release or a nightly build, as available on the official web site, follow these steps:

1.     Unpack the release. On the command line, go to the root of the unpacked tree.

2.     Run either .\bootstrap.bat (on Windows), or ./bootstrap.sh (on other operating systems).

3.     Run

./b2 install –prefix=PREFIX

where PREFIX is a directory where you want Boost.Build to be installed.

4.     Optionally, add PREFIX/bin to your PATH environment variable.

If you are not using a Boost.Build package, but rather the version bundled with the Boost C++ Libraries, the above commands should be run in the tools/build/v2 directory.

Now that Boost.Build is installed, you can try some of the examples. Copy PREFIX/share/boost-build/examples/hello to a different directory, then change to that directory and run:

PREFIX/bin/b2

A simple executable should be built.