Khởi động app theo đặc quyền

Chuyện là hôm nay đồng nghiệp mình tiến hành thực hiện một số thao tác cập nhật một số file xml trong ứng dụng nhưng không được. Hệ thống báo không có quyền mặc dù việc này bình thường vẫn có thể làm được. Ứng dụng bên mình code bằng Java chạy trên webserver là tomcat. Qua kiểm tra thì thấy gần đây App Tomcat được khởi động lại bằng quyền root. Bình thường thì việc reset App Tomcat chỉ được thực hiện với quyền bình thường (không phải quyền root).

Lý giải điều này là do việc phân quyền trên Linux. Việc cài đặt hay reset app trên Linux với quyền khác nhau là khác nhau trên Linux. Khi reset bằng quyền root thì với các user khác sẽ gặp một số vấn đề về quyền khi truy cập một số file trên đó. Phần này mình chưa rõ lắm nhưng cần note lại để sau tìm hiểu thêm.

Cách khắc phục thì phải stop app Tomcat bằng quyền root và sau đó start bằng quyền vẫn hay sử dụng.

Nhưng trên window thì theo mình thấy không vấn đề gì cả.

Quản lý tài khoản đặc quyền với CyberArk

Hôm nay đối tác CyberArk giới thiệu và đào tạo công ty mình chuẩn bị sử dụng CyberArk để quản lý tài khoản đặc quyền. Theo mình hiểu CyberArk cung cấp một giải pháp quản lý và bảo mật hạ tầng CNTT của doanh nghiệp nói chung. Bao gồm các thiết bị phần cứng, hạ tầng mạng, các server (vật lý và ảo hóa), các data center, cơ sở dữ liệu…

Trước đây đối với các công ty mà mình từng làm việc quản lý server khá thủ công. Mặc dù một số nơi có sử LDAP để quản trị user nhưng đối với mỗi server thì đều phải tự cài đặt và quản trị riêng cho nó. Đội ngũ phần cứng nắm giữ một user admin có quyền cao nhất và riêng biệt. Sau đó trưởng mỗi server sẽ được cung cấp một user admin cũng có quyền cao nhất sau đó là các nhân viên khác có quyền thấp hơn. Như vậy đối với mỗi server việc quản lý sẽ độc lập, từng người dùng phải server và tài khoản của mình. Như mình một lúc quản lý dưới chục server đã rất hay bị quên và thường xuyên phải dùng chung một mật khẩu duy nhất. Biết là thiếu tính bảo mật nhưng không còn cách nào khác, lưu ra một nơi riêng cũng không an toàn. Lưu trạng thái đăng nhập thì lại càng không an toàn nữa. Nói chung là khá bất cập.

Hơn nữa với việc quản lý cũ việc tra lại lịch sử thao tác tới server là hoàn toàn bất khả thi. Việc truy xuất thời gian đăng nhập đã là khó khăn, việc xem người dùng làm những gì thì hầu như không thể nào biết được.

CyberArk là giải pháp hữu hiệu có thể đáp ứng hầu như hoàn toàn cách quản lý trên. CyberArk được cài đặt trên ít nhất 1 server để có thể quản lý các tài khoản đặc quyền riêng. Mặc dù mới chỉ được giới thiệu và đào tạo nhưng mình có thể thấy được một số ưu nhược điểm như sau:

  • CyberArk được cài đặt trên server riêng và bán licensen theo số lượng user của hệ thống để thực hiện thao các trên các server.
  • Người dùng CyberArk có thể được cung cấp tài khoản riêng biệt hoặc sử dụng LDAP để xác thực như xác thực email, xác thực vào máy tính cá nhân, xác thực wifi công ty…
  • Từ CyberArk người dùng không phải nhớ bất kỳ IP cũng như tài khoản server nào. Tất cả sẽ được hiển thị hết trong danh sách các server được phép sử dụng.
  • CyberArk không chỉ quản trị server mà còn quản trị được nhiều các phần mềm khác nhau. CyberArk có tác dụng như là một server trung gian, phần mềm trung gian. Người dùng qua đó xác thực và sử dụng như trên chính thiết bị của mình.
  • Ví dụ remote hoặc SSH vào server thì nó đứng ở trung gian xác thực mình. Mình chỉ cần bấm vào là remote được luôn, không cần gõ mật khẩu hoặc tài khoản gì cả.
  • Ví dụ connect phần mềm quản trị Database Oracle là Toad. Bình thường máy cá nhân mình phải cài Toad để kết nối tới Oracle. Khi dùng CyberArk thì trên server cài CyberArk cũng phải cài Toad. Khi mình đăng nhập vào CyberArk, tìm đến phần Toad thì mình chỉ cần chọn, CyberArk sẽ tự động mở Toad ở máy mình, xác thực qua đó là mình đã có thể sử dụng được.
  • CyberArk tiến hành quay lại màn hình toàn bộ các thao tác của người dùng tác động lên server. Vì là đi qua nó nên nó bắt được toàn bộ các sự kiện click, các cửa sổ được mở, các lệnh được gõ vào server. Nó lưu lại vừa dưới dạng file text vừa dưới dạng video để người quản trị cao hơn có thể xem lại.
  • Vì nó có thể ghi nhận được các thao tác nên nó hoàn toàn có thể can thiệp được những lệnh, thao tác nguy hiểm hoặc không được phép lên hệ thống. Nó có thể quyết định không thực thi hoặc kết thúc phiên làm việc ngay lập tức.
  • Đối với các server đặc biệt, nó còn có tính năng yêu cầu quyền truy cập để cấp trên có thể phê duyệt thời gian vào để làm việc. Việc này rất tốt để lên kế hoạch bảo trì hoặc nâng cấp hệ thống.
  • Mặc dù test qua nhưng có một số vấn đề mà nó chưa thể xử lý được ngay cần phải check lại:
    — Đối với Linux, công việc thường ngày khi SSH vào hệ thống thì thường xuyên phải thay đổi vai trò lúc thì user thường lúc thì user root. Hiện tại nó không cho phép sự thay đổi này. Nhưng họ nó có 1 add-on cho phép làm việc này nên để nó test trước và thông tin lại.
    — Đối với Window, mỗi user thường tạo ra các schedule thực hiện các công việc khác nhau. Việc đổi pass liên tục sau mỗi phiên sẽ gây các schedule không thực hiện được cũng như những người khác muốn sửa sẽ rất khó khăn. Nó sẽ check lại giải pháp.
    — Đối với cả Linux và Window, nếu người dùng run một bath hoặc crontab, schedule thực thi các lệnh nguy hiểm thì CyberArk cũng không phát hiện và ngăn chặn được. CyberArk chỉ phát hiện được khi người dùng gõ hoặc dùng chuột. Cái này thì là hạn chế, nó không thể có giải pháp được.

Tất nhiên sâu, chi tiết và thực tế thì cần tìm hiểu và sử dụng thêm. Những cái này chỉ mà mới nhận định ban đầu sau một buổi nghe giới thiệu và đào tạo(chưa được thực hành).

Nhìn chung là khá tiên tiến, mặc dù nó lưu vết và quản trị rất khắt khe gây cảm giác khó chịu và luôn bị soi mói thao tác. Nhưng buộc phải chấp nhận thôi nhất là đối với các server product cần phải làm vậy để quy trách nhiệm cũng như đảm bảo an toàn hệ thống. Các công ty vừa và lớn nên mua và sử dụng vì nó cũng nằm một phần trong tiêu chuẩn ISO.

Quản lý phiên bản database với LiquiBase

Việc quản lý phiên bản đối với code đã xuất hiện từ rất lâu và đã có rất nhiều các phần mềm dành cho nó. Theo mình biết và đã từng sử dụng đó là

  • SVN (tiếp cận khá nhiều, coi như đầu tiên, khá cũ và có một số nhược điểm nhưng dễ dùng, phù hợp với các dự án về C#)
  • GIT (cái này khá tiên tiến, mạnh mẽ, càng ngày càng nhiều người dùng, Gitlab, GitHub…)
  • Source Safe (Visual Source Safe) được mua và tiếp tục phát triển bới Microsoft. Cái này mình mới nghe qua chứ chưa dùng bao giờ.

Đó là với code, thế với database thì như thế nào? Trước đây đúng là thuộc dạng 5 mức ngu dốt luôn. Đồng nghiệp hỏi làm mình đứng hình vì còn chưa bao giờ nghĩ đến nó cơ. Tìm hiểu thêm thì biết đúng là nó có tồn tại nhưng còn rất sơ khai. Mặc dù rất quan trọng nhưng lại rất sơ khai do tính đặc thù và khó khăn của nó.

Đại loại là trong quá trình phát triển phần mềm, nhiều phiên bản được nâng cấp và cải thiện, những thay đổi nhỏ thì chỉ cần sửa code nhưng với những thay đổi lớn thì có thể phải sửa cả việc thiết kế cơ sở dữ liệu. Để quản lý việc sửa đổi này thì ta cũng phải có công cụ tương đương như việc quản lý version của code.

Trước đây công ty cũ mình mua phần mềm nước ngoài thì khi nâng cấp nó sẽ gửi cho mình bản code nó đã build. Còn về phần mềm nó sẽ vứt do một loại các kettel Pentaho để chạy theo tuần tự để nâng cấp version cho Database, gọi với cái tên mỹ miều là Migrate dữ liệu.

Tìm hiểu qua thì mình thấy 3 cái tên được nhắc đến nhiều là:

  • SQL Server Data Tools: Cái này của Microsoft, mới nghe qua tên thôi, chắc chỉ support cho SQL Server
  • Flyway: Mới nghe đến tên
  • Liquibase: Thằng này hiện công ty mình đang dùng và được nghe nói đến nhiều nhất. Đang dùng nó để thay đổi với Oracle đi kèm là code ứng dụng bằng Java.

Đối với mình thì hiện tại chưa phải dùng đến nó nhưng chắc chắc sẽ tìm hiểu kỹ hơn về vấn đề này. Đặc biệt là đối với Liquibase để xem cách sử dụng với các trường hợp sử dụng nó như thế nào.

Hiện tại đối với mình quản lý thủ công bằng SVN hoặc GIT đó là viết ra các script thay đổi về DB để lưu trữ lại thôi. Phức tạp và cả team, nhiều team dùng thì chưa nghĩ đến.

Giới hạn địa chỉ IP dùng MaxMind

Dịch vụ của website của mình chủ yếu dành cho người dùng ở Việt Nam và một số cộng đồng lớn người Việt ở nước ngoài. Do vậy website mình phải public ra internet.

Nhưng gần đây website của mình bị một số lượng lớn truy cập ở tận đẩu tận đâu mà chắc chắn rất ít có người Việt tại đó truy cập. Các truy cập đáng ngờ này đều dò quét lỗ hổng của website hoặc thực hiện việc tấn công từ chối dịch vụ DDOS. Mình đã chặn những IP này nhưng thấy nó đổi liên tục mà chặn không xuể.

Tra IP với MaxMind
Tra IP với MaxMind

Được mọi người giới thiệu sử dụng MaxMind để tiến hành giới hạn các IP theo khu vực địa lý. MaxMind là một công ty hàng đầu trên thế giới cung cấp thông tin về địa chỉ IP. MaxMind có lượng data lớn nhất về IP trên thế giới và được cập nhật liên tục. Nó có 2 phiên bản, miễn phí thì ta cần host riêng data về server của mình và hàng tháng sẽ có bản cập nhật data, bản trả phí thì sẽ sử dụng chính IP của MaxMind được cập nhật dữ liệu liên tục và mới nhất.

Mình cũng chưa tìm hiểu kỹ về thằng MaxMind này nhưng cứ lưu lại để dần tìm hiểu sau. Từ phần này website của mình cũng có thể sử dụng nó để nâng cao trải nghiệm của người dùng. Ta thu thập thông tin IP của người truy cập website, từ đó phân tích lượng người dùng của từng vùng, từng khu vực. Để có thể cân đối, đánh giá hành vi cũng như hướng tập trung đối tượng sử dụng cho tốt. Cũng như nếu cần làm cân bằng tải (Load Balancer) thì cũng lựa chọn các địa điểm để đặt server sao cho hợp lý để người sử dụng dịch vụ web được nhanh nhất.

Nước nóng đóng băng nhanh hơn nước lạnh

Vô tình lướt fb từ nhóm reddit có một bài viết rằng nước nóng đóng băng nhanh hơn nước lạnh.

Thời gian đóng băng của nước theo nhiệt độ
Thời gian đóng băng của nước theo nhiệt độ

Hiệu ứng này có tên là hiệu ứng Mpemba được đặt theo tên sinh viên Mpemba phát hiện ra. Mpemba đi học và thắc mắc với thầy giáo của mình tại trường. Theo suy nghĩ thông thường của chúng ta thì nước nóng trước khi đóng băng cần phải trở về nhiệt độ thường trước, do vậy nó phải đóng băng sau nước lạnh. Tất cả các bạn học của Mpemba đã cười nhạo cậu bé. Nhưng ông thầy giáo thì không, ông đã nghi ngờ điều này vì không thể tự nhiên Mpemba lại đưa ra thông tin này, ông đã cùng Mpemba tiến hành thực nghiệm và quả đúng như cậu đã phát hiện.

Hiệu ứng Mpemba đã làm đau đầu các nhà vật lý và hóa học thời gian dài, có nhiều giả thuyết đưa ra để giải thích. Nhưng hiệu ứng này biến đổi phụ thuộc vào chất lỏng cũng như nhiệt độ của chúng.

Bài học học được từ việc này đó là nên chú ý quan sát mọi việc sự vật xung quanh, luôn đặt ra các câu hỏi tại sao và tìm lời giải đáp đến cùng như cậu bé Mpemba. Nhiều việc không nên chế nhạo khi người khác đặt câu hỏi, cần phải suy nghĩ và luôn trân trọng lời nói của người khác. Cũng hoan nghênh ông thầy giáo đã tận tụy và đúng tinh thần khoa học khi không bỏ qua sự phát hiện của Mpemba. Cám ơn Mpemba, đúng thật là nước nóng đóng băng nhanh hơn nước lạnh.

Một số trang web hay để học

  1. Hàng ngàn bài dạy guitar miễn phí: https://www.justinguitar.com/
  2. Nâng cấp não bộ: http://www.lifehacker.co.uk/
  3. Khám phá tự nhiên: http://unplugthetv.com/
  4. Tính toán giờ giấc ngủ: https://sleepyti.me/
  5. Học code:
    https://www.codecademy.com/
    https://code.org/
  6. Học thiết kế:
    https://hackdesign.org/lessons
    https://www.howdesignuniversity.com/
  7. Học đủ thứ sáng tạo từ nghệ thuật đến sắp xếp đồ ăn:
    https://www.creativelive.com/onair
  8. Học nhiều ngôn ngữ miễn phí:
    https://www.memrise.com/
    https://www.duolingo.com/
  9. Sức khỏe đời sống: https://www.howcast.com/
  10. Các bài nói chuyện truyền cảm hứng: https://www.ted.com/
  11. Tâm lý học và thông minh cảm xúc: https://www.theschooloflife.com/
  12. Cộng đồng sách lớn nhất thế giới: https://www.goodreads.com/
  13. Ảnh và ý tưởng: https://www.pinterest.com/

Oracle đã và đang ứng dụng trí tệ nhân tạo trong sản phẩm Database

Nghe thiên hạ đồn oracle đang phát triển thế hệ Database mới với ứng dụng trí tuệ nhân tạo trong đó. Trí tuệ nhân tạo sẽ giúp hệ thống tự động nhận diện các lỗi phát sinh trong hệ quản trị cơ sở dữ liệu và tiến hành tự sửa chữa. Việc ứng dụng AI này hệ thống Database sẽ cần ít thao tác từ người quản trị hơn mà sẽ tự động quản trị, ví dụ như:

  • Trước đây người quản trị (DBA) sẽ theo dõi hệ thống và ra các quyết định tác động lên hệ thống, ở mức cao hơn sẽ tự động hóa bằng các job hay tool để monitor và tự xử lý với các rule đặt trước. Nhưng trí tuệ nhân tạo sẽ hoàn toàn bỏ qua phần này, hệ thống sẽ tự động xác định và xử lý mà không cần sự can thiệp của DBA.
  • Việc tinh chỉnh, tối ưu, turning câu lệnh SQL sẽ được hệ thống ứng dụng trí tuệ nhân tạo xác định và tiến hành tối ưu. Hệ thống sẽ tự phân tích để đánh index, tạo view, sử dụng bảng tạm, bảng phẳng để tối ưu các tiến trình.
  • Trí tuệ nhân tạo sẽ tự tối ưu các job, đồng bộ dữ liệu, cân bằng tải… tự đưa ra các chiến lược backup hiệu quả để tiết kiệm tài nguyên và tăng tính sẵn sàng cho hệ thống…
  • Việc lấy các báo cáo sẽ nâng cao tính động, nhanh hơn và có thể hiểu người ra yêu cầu một cách chính xác hơn.

Nhìn chung sẽ làm cho hệ thống Database trở nên thông minh hơn, công việc DBA sẽ nhẹ nhàng và nhàn hạ đi rất nhiều nhưng cùng với đó là công việc DBA sẽ ít dần và dần chuyển sang công việc khác. Tất nhiên con đường đó vẫn còn xa, việc tự động hóa toàn bộ cũng nảy sinh nhiều vấn đề mà khó có thể lường trước được.

ARPU – Doanh thu trung bình trên 1 thuê bao

ARPU – Doanh thu trung bình trên 1 thuê bao

Ngoài việc dựa vào nhiều yếu tố khác nhau để đánh giá về giá trị doanh nghiệp cũng như tập khách hàng của doanh nghiệp. ARPU là một yếu tố hàng đầu để đánh giá thuê bao.
Một số ngành hay sử dụng ARPU bao gồm:
– Thuê bao cước viễn thông
– Thuê bao truyền hình
– …

Lợi ích của chỉ số ARPU:

– Nắm được giá trị trung bình trên 1 thuê bao đồng nghĩa với việc xác định được phân khúc thị trường của doanh nghiệp trên lĩnh vực đó
– Nắm được giá trị trung bình này có thể đánh giá được doanh thu của doanh nghiệp
– Từ đây có thể tiếp tục phân tích để tiến hành chia phân khúc thị trường để chia nhóm khách hàng dựa trên giá trị
– Từ doanh thu này kết hợp với chi thí trung bình trên 1 thuê bao để tính toán lời lãi trên 1 doanh thu

Nhược điểm của chỉ số ARPU:

Hiện nay chỉ số này không còn phản ánh được nhiều về giá trị thuê bao do nhiều yếu tố (đa dịch vụ, các dịch vụ gia tăng…) nên có một số chỉ số khác ra đời nhằm khắc phục chỉ số này.

Xác định ảnh giả mạo

Thầy Toàn: Phần mềm xác định ảnh giả mạo, xác định vùng giả mạo.

Tương lai AI thay thế con người: chat, email, call… thì ta nghiên cứu phần mềm, tính năng có thể phát hiện là người hay là máy. Phát hiện trí tuệ là trí tuệ con người hay trí tuệ nhân tạo, máy thử turing