<![CDATA[Latest posts for the topic "Xin tư vấn về giải pháp server login tập trung"]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Xin tư vấn về giải pháp server login tập trung
Yêu cầu đặt ra:
  1. Chỉ có Console Server là có thể kết nối vào các server trong vùng Core thông qua các port quản lý như: SSH(22), VNC(3389), Telnet và Remote Desktop và một số port đặc biệt khác. Tất cả các máy từ Internet hoặc Local muốn cấu hình chỉnh sửa quản trị các Server trong vùng Core đều phải thông qua Console Server. Đồng thời cho đăng nhập nhiều user một lúc. Mỗi User Được cấp một account riêng để đăng nhập vào Console Server, mỗi account chỉ có thể truy cập đến một Server nhất định. Cho dù có lấy được user và password của server trong vùng Core nhưng không được phép truy cập thì vẫn không vào được. Các thao tác của User trên Console Server đều được log lại (Đăng nhập lúc nào? Thoát ra khi nào? Truy cập đến server nào? Truy cập qua phương thức gì? Truy cập với tài khoản nào? Chạy những lệnh gì? ....)
Giải pháp đề nghị đối với Console Server: - Triển khai trên Linux (CentOS) - Cài đặt OpenSSH Server và VNC Server. - Dùng Firewall sẵn có trên CentOS - Dùng syslog-ng để đẩy các log liên quan về Log Server Hiện tại các vấn đề đặt ra là:
  • Nếu người dùng chỉ dùng SSH để truy cập vào Console server thì có thể log lại như yêu cầu số 5. Nhưng do Console Server có thể truy cập bằng cách là VNC hoặc Remote Desktop over SSH. Chính vì thế giải pháp nào trong trường hợp này? Để thoả mãn yêu cầu số 4 thì có giải pháp nào hay không? Hiện tại phần này mình vẫn chưa có ý tưởng :( Nếu dùng giải pháp là triển khai trên Windows Server thì có giải pháp nào thoả mãn các yêu cầu trên hay không
Rất mong các ý kiến chia sẻ của mọi người! - Ky0 - ]]>
/hvaonline/posts/list/40356.html#248823 /hvaonline/posts/list/40356.html#248823 GMT
Xin tư vấn về giải pháp server login tập trung Nếu dùng giải pháp là triển khai trên Windows Server thì có giải pháp nào thoả mãn các yêu cầu trên hay không  
Nếu người dùng chỉ dùng SSH để truy cập vào Console server thì có thể log lại như yêu cầu số 5. Nhưng do Console Server có thể truy cập bằng cách là VNC hoặc Remote Desktop over SSH. Chính vì thế giải pháp nào trong trường hợp này?  
---->trong trường hợp trên rất khó để biết được người dùng truy cập vào Console Server trong trường hợp windows server hay sử dụng VNC, Remote Desktop để thực hiện thao tác đối với các server core bên trong. Trừ trường hợp dùng các phần mềm giám sát, video, chụp hình, .... Vì lúc này chúng ta đang sử dụng giao diện đồ hoạ để kết nối. ]]>
/hvaonline/posts/list/40356.html#248826 /hvaonline/posts/list/40356.html#248826 GMT
Xin tư vấn về giải pháp server login tập trung

vitcon01 wrote:
Nếu dùng giải pháp là triển khai trên Windows Server thì có giải pháp nào thoả mãn các yêu cầu trên hay không  
Nếu người dùng chỉ dùng SSH để truy cập vào Console server thì có thể log lại như yêu cầu số 5. Nhưng do Console Server có thể truy cập bằng cách là VNC hoặc Remote Desktop over SSH. Chính vì thế giải pháp nào trong trường hợp này?  
---->trong trường hợp trên rất khó để biết được người dùng truy cập vào Console Server trong trường hợp windows server hay sử dụng VNC, Remote Desktop để thực hiện thao tác đối với các server core bên trong. Trừ trường hợp dùng các phần mềm giám sát, video, chụp hình, .... Vì lúc này chúng ta đang sử dụng giao diện đồ hoạ để kết nối.  
Theo mình nghĩ trên Linux thì có thể log lại các thông tin về thời điểm đăng nhập cũng như thoát ra bằng cách làm thế nào? chạy lệnh gì? hay kết nối đến server nào? ... Để VNC server (trên console server) log lại tất cả các thông tin đó ngoài ra cũng có thể kết hợp các thông tin trong history của shell ... Điều quan trọng là có giải pháp nào tích hợp được những thứ đó hoặc có giải pháp phần mềm nào có thể đáp ứng được mục tiêu đề ra. Giải pháp quay phim hay chụp hình là hết sức chuối, bởi vì không phải mục tiêu là theo dõi người dùng mà là: ghi nhận các sự kiện của user phòng khi có sự cố với các Server trong vùng Core thì user nào thao tác với server vào thời điêm đó sẽ phải chịu trách nhiệm. - Ky0 -]]>
/hvaonline/posts/list/40356.html#248832 /hvaonline/posts/list/40356.html#248832 GMT
Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#248839 /hvaonline/posts/list/40356.html#248839 GMT Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#248840 /hvaonline/posts/list/40356.html#248840 GMT Xin tư vấn về giải pháp server login tập trung

xnohat wrote:
Anh đề nghị là cái console server sẽ là cái Proxy cho SSH Tunneling, tức mọi kết nối vào và ra đều bằng SSH Về vụ log lại như yêu cầu 5 thì mình cho chạy 1 script (python chẳng hạn) khi user thực hiện đăng nhập, script này làm nhiệm vụ ghi log và làm 1 mớ tác vụ linh tinh gì đó theo yêu cầu tham khảo: http://www.linuxquestions.org/questions/linux-general-1/ubuntu-how-to-run-python-script-on-login-352191/  
Em cũng tính là tất cả mọi kết nối ra vào Console server đều thực hiện qua SSH Tunnel.

conmale wrote:
Anh muốn hỏi tại sao có SSH rồi mà còn cần telnet?  
Bởi vì một số thiệt bị không hỗ trợ SSH nên từ console server đôi lúc cũng cần dùng telnet. Bạn thân em cũng không tán thành việc sử dụng telnet vì nó bảo mật quá yếu. Anh có tài liệu nào liên quan đến vụ script ghi log này không ạ?

conmale wrote:
Theo anh thấy, dạng "jump box" này nếu dùng để cung cấp phương tiện SSH vô bên trong các SSH servers trong "core" thì cách tốt nhất là dùng key-based authentication (có passphrase hẳn hòi). Trên mỗi target SSH server bên trong "core", nếu user có account thì drop cái authorized_keys của từng user vô trong thư mục .ssh của user đó cho họ và không cho login bằng password bình thường. Nếu mình không drop cái authorized_keys trong target servers thuộc core thì vô phương đăng nhập. Với VNC thì khó hơn một chút. Cách tốt nhất là tạo script (read-execute only) để cho phép họ VNC vô một số servers nhất định và ở phía VNC servers cũng kiểm soát nội dung bên trong .vnc để giới hạn cho phép truy cập hay không. Nếu là anh, anh không cho access trực tiếp VNC mà buộc họ phải VNC xuyên qua SSH tunnel. Nếu dùng key-based authentication cho các SSH servers như trên thì chỉ cần quản lý có 1 chỗ đó là sự hiện diện của "authorized_key" trong ~/.ssh của từng user account. 
Cám ơn anh vậy là yêu cầu số 4 thì giải pháp key-based authentication là tốt nhất. Anh cho em hỏi thêm về phần log lại thao tác ngoài việc dùng script như anh xnohat để cập còn giải pháp nào khác không anh? - Ky0 - PS: Khi nào triển khai xong em sẽ viết một tut cho mọi người tham khảo :P ]]>
/hvaonline/posts/list/40356.html#248844 /hvaonline/posts/list/40356.html#248844 GMT
Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#248846 /hvaonline/posts/list/40356.html#248846 GMT Xin tư vấn về giải pháp server login tập trung

Ky0 wrote:

xnohat wrote:
Anh đề nghị là cái console server sẽ là cái Proxy cho SSH Tunneling, tức mọi kết nối vào và ra đều bằng SSH Về vụ log lại như yêu cầu 5 thì mình cho chạy 1 script (python chẳng hạn) khi user thực hiện đăng nhập, script này làm nhiệm vụ ghi log và làm 1 mớ tác vụ linh tinh gì đó theo yêu cầu tham khảo: http://www.linuxquestions.org/questions/linux-general-1/ubuntu-how-to-run-python-script-on-login-352191/  
Em cũng tính là tất cả mọi kết nối ra vào Console server đều thực hiện qua SSH Tunnel.

conmale wrote:
Anh muốn hỏi tại sao có SSH rồi mà còn cần telnet?  
Bởi vì một số thiệt bị không hỗ trợ SSH nên từ console server đôi lúc cũng cần dùng telnet. Bạn thân em cũng không tán thành việc sử dụng telnet vì nó bảo mật quá yếu. Anh có tài liệu nào liên quan đến vụ script ghi log này không ạ?

conmale wrote:
Theo anh thấy, dạng "jump box" này nếu dùng để cung cấp phương tiện SSH vô bên trong các SSH servers trong "core" thì cách tốt nhất là dùng key-based authentication (có passphrase hẳn hòi). Trên mỗi target SSH server bên trong "core", nếu user có account thì drop cái authorized_keys của từng user vô trong thư mục .ssh của user đó cho họ và không cho login bằng password bình thường. Nếu mình không drop cái authorized_keys trong target servers thuộc core thì vô phương đăng nhập. Với VNC thì khó hơn một chút. Cách tốt nhất là tạo script (read-execute only) để cho phép họ VNC vô một số servers nhất định và ở phía VNC servers cũng kiểm soát nội dung bên trong .vnc để giới hạn cho phép truy cập hay không. Nếu là anh, anh không cho access trực tiếp VNC mà buộc họ phải VNC xuyên qua SSH tunnel. Nếu dùng key-based authentication cho các SSH servers như trên thì chỉ cần quản lý có 1 chỗ đó là sự hiện diện của "authorized_key" trong ~/.ssh của từng user account. 
Cám ơn anh vậy là yêu cầu số 4 thì giải pháp key-based authentication là tốt nhất. Anh cho em hỏi thêm về phần log lại thao tác ngoài việc dùng script như anh xnohat để cập còn giải pháp nào khác không anh? - Ky0 - PS: Khi nào triển khai xong em sẽ viết một tut cho mọi người tham khảo :P  
Anh nghĩ em nên tham khảo syslog-ng. Cái này cho phép em centralised trọn bộ logging từ clients đến servers.]]>
/hvaonline/posts/list/40356.html#248848 /hvaonline/posts/list/40356.html#248848 GMT
Xin tư vấn về giải pháp server login tập trung

conmale wrote:
Anh nghĩ em nên tham khảo syslog-ng. Cái này cho phép em centralised trọn bộ logging từ clients đến servers. 
Vấn đề đẩy log về log server em đã đề nghị trong giải pháp ở post đầu của topic rồi mà anh /hvaonline/posts/list/40356.html#248823 Ý em là log thỏa mãn yêu cầu số 5 trong post đầu đó anh. Nghĩa là các lệnh hay thao tác kết nối đến các server trong vùng core đều được ghi nhận chi tiết (ngày, giờ sự kiện ... ) nếu dùng SSH thì có shell history nhưng lại không có thời gian thực hiện lệnh, còn VNC thì em chưa biết là log như thế nào? Điều dĩ nhiên là trên từng server trong vùng core cũng có hệ thống log riêng, nhưng em vẫn muốn lưu lại log trên Console server. Phần log của SSH thì em có tham khảo bài viết tương tự tại /hvaonline/posts/list/39996.html . Còn log cho VNC thì em chưa biết giải pháp nào cả! - Ky0 - ]]>
/hvaonline/posts/list/40356.html#248850 /hvaonline/posts/list/40356.html#248850 GMT
Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#248878 /hvaonline/posts/list/40356.html#248878 GMT Xin tư vấn về giải pháp server login tập trung echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile Ngoài ra, nếu thật sự muốn bảo mật thì áp dụng 2-factors authentication cho SSH. Cái này thì có rất nhiều giải pháp, từ việc dùng google token miễn phí cho đến sử dụng dịch vụ (khả rẻ tiền như http://www.wikidsystems.com/?htf_sshu) hoặc sử dụng USB key (như yubikey)...]]> /hvaonline/posts/list/40356.html#248889 /hvaonline/posts/list/40356.html#248889 GMT Xin tư vấn về giải pháp server login tập trung

myquartz wrote:
Cách bạn làm ra 1 Console server đó, về mặt bảo mật thì chính cái Console đó là mắt xích quan trọng nhất. Nếu nó share nhiều người dùng (nhiều admin), việc truy vết 1 ai đó vào Console server rồi ghi lại họ đã làm gì khác (ssh hay vnc, terminal vào server khác) sẽ rất khó khăn, tốn kém. Chưa kể nếu Console server bị compromised thì việc nhập mật khẩu xác thực bước kế tiếp vào đó ko ổn tí nào. Tớ thấy end-to-end là an tâm nhất, tức là chỉ trust vào cái laptop và cái server, mọi thứ trung gian đều ko tin tưởng.  
Khi đưa ra giải pháp thì mình cũng đã xem xét ưu điểm và nhược điểm của giải pháp đó, xem có đáp ứng được yêu cầu đặt ra hay không. Đồng thời vấn đề nhược điểm có thể hạn chế được bằng kỹ thuật hay không. Khả năng của công cụ thì luôn có giới hạn, nhu cầu thì vô biên, vấn đề quan trọng nhất là con người. Năng lực của con người càng cao thì cái hữu hạn sẽ càng đáp ứng được nhiều yêu cầu trong cái vô biên kia. => Đây là điểm mình rất nể các chuyên gia mà mình biết - Họ thích dùng những thứ sắn có tuy nhiên khi cần thiết họ vẫn có thể code thêm những tính năng để phục vụ nhu cầu của họ, hoặc thậm chí code lại toàn bộ nếu những cái sẵn có không đáp ứng được nhu cầu của họ. => Điểm này thì mình không đồng ý lắm, bởi vì việc cái laptop và Console Server cũng cần phải trust với nhau là điều sẽ phải có để tăng cường bảo mật. Không thể để bất máy nào cũng kết nối vào Console Server được. Mục tiêu sử dụng giải pháp Console Server là để quản lý User cho dễ dàng hơn mà thôi.

myquartz wrote:
Mình chỉ áp dụng cái Console server khi cái kết nối thứ 2 là vật lý. Ví dụ console server có nhiều nối dây serial (com) với router trực tiếp, mình ssh vào console server rồi minicom vào tty nối với router thì mới hợp lý. ... Mình cũng có các console server nhưng chỉ dùng để kết nối serial/khác với các thiết bị non-IP (ví dụ hệ thống cung cấp điện, hệ thống chữa cháy, hay là router, switch, tổng đài nội bộ), hoặc là dùng IP KVM nối console trực tiếp vào các server. Console server không bao giờ có thể truy cập tới nếu không vào cái private network đó và phải làm sao để phòng khi mạng chính bị đứt vẫn có kênh riêng vào private network hoặc có cổng dial-up vào được, hoặc có kênh 3G riêng. Do DC cách văn phòng làm việc cả mấy chục km ấy chứ, không phải lúc nào cũng chạy tới mà coi được.  
Đây cũng chính là một trong số những lý do mình chọn giải pháp này :P

myquartz wrote:
Về cái mô hình bạn làm ấy, người ta có 1 cái tên gọi là out-of-band remote control hoặc out-of-band management. Cách mình làm là dựng lên 1 hệ thống private network chỉ sử dụng để quản trị server, độc lập về mặt vật lý với mạng chính (có kênh Internet, VPN gateway riêng, và switch, UPS cấp nguồn... cũng độc lập, tách rời hoàn toàn), và các admin dùng laptop của mình VPN vào mạng private đó trước rồi mới vào được các IP của các server quản trị qua SSH hoặc VNC, RDP. Các máy chủ hầu hết là có 1 management ethernet port riêng cả (dùng để quản lý 1 số phần hardware trước khi boot OS), và server có nhiều ethernet port thì dùng tách riêng 1 interface chỉ để quản trị, phân biệt với các cổng khác chỉ là cung cấp dịch vụ.  
Cảm ơn bạn về thuật ngữ kỹ thuật kia :D Việc dùng thuật ngữ đặt tên cho server này cho chính xác thì mình không biết. Việc để Console Server trên trong DMZ chủ yếu là cho đẹp thôi :D. Nếu User từ nhà muốn kết nối đến nó thì cũng cần VPN trước :)

conmale wrote:
Ky0 ơi, việc lưu date / time trên "history" của từng shell account thì dễ lắm em: echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile Ngoài ra, nếu thật sự muốn bảo mật thì áp dụng 2-factors authentication cho SSH. Cái này thì có rất nhiều giải pháp, từ việc dùng google token miễn phí cho đến sử dụng dịch vụ (khả rẻ tiền như http://www.wikidsystems.com/?htf_sshu) hoặc sử dụng USB key (như yubikey)...  
Cám ơn anh vì các thông tin trên! Cái vụ log VNC coi bộ cũng khó khăn ghê ta. Chắc tạm thời chỉ ghi nhận được thời gian đăng nhập và thời gian thoát mà thôi còn lại thì để event log trên Server manager ghi nhận vậy (Vì đa số Server cần VNC vào đều chạy Windows Server) - Ky0 - ]]>
/hvaonline/posts/list/40356.html#248938 /hvaonline/posts/list/40356.html#248938 GMT
Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#261488 /hvaonline/posts/list/40356.html#261488 GMT Xin tư vấn về giải pháp server login tập trung

Ikut3 wrote:
hello anh Ky0 Vụ này anh triển khai sao rồi ? kết quả mỹ mãn không ? 
Vụ này triển khai ok rồi em. Nhưng do yêu cầu bên anh hơi khác nên giờ nó chỉ phụ làm vài nhiệm vụ cơ bản mà thôi :D Đợt làm xong có note lại khá đầy đủ. Tính viết tut mà việc này việc kia nên quên mất - Ky0 - PS: Cái vụ log VNC vẫn chưa có giải pháp :(]]>
/hvaonline/posts/list/40356.html#261491 /hvaonline/posts/list/40356.html#261491 GMT
Xin tư vấn về giải pháp server login tập trung /hvaonline/posts/list/40356.html#261901 /hvaonline/posts/list/40356.html#261901 GMT