আমি কোনও ওবুন্টু সার্ভারের সাথে সংযোগ স্থাপনের জন্য এবং ফোন বা ল্যাপটপের মতো রিমোট সিস্টেম থেকে কমান্ড কার্যকর করার জন্য ওপেনশ সহ একটি কনফিগার করেছি। সমস্যা হ'ল ... আমি সম্ভবত একা নই।
সার্ভারে করা সমস্ত লগইন প্রচেষ্টা জানার উপায় আছে কি?
আমি কোনও ওবুন্টু সার্ভারের সাথে সংযোগ স্থাপনের জন্য এবং ফোন বা ল্যাপটপের মতো রিমোট সিস্টেম থেকে কমান্ড কার্যকর করার জন্য ওপেনশ সহ একটি কনফিগার করেছি। সমস্যা হ'ল ... আমি সম্ভবত একা নই।
সার্ভারে করা সমস্ত লগইন প্রচেষ্টা জানার উপায় আছে কি?
উত্তর:
উবুন্টু সার্ভারগুলিতে আপনি ফাইলটিতে কখন (এবং কোথা থেকে) লগ ইন করেছেন তা সন্ধান করতে পারেন /var/log/auth.log
। সেখানে, আপনি যেমন এন্ট্রি পাবেন:
May 1 16:17:02 owl CRON[9019]: pam_unix(cron:session): session closed for user root
May 1 16:17:43 owl sshd[9024]: Accepted publickey for root from 192.168.0.101 port 37384 ssh2
May 1 16:17:43 owl sshd[9024]: pam_unix(sshd:session): session opened for user root by (uid=0)
/var/log/auth.log
রেড হ্যাট ভিত্তিক ডিগ্রো যেমন ফেডোরা / সেন্টোস / আরএইচইএল-তে আপনি ফাইলের অভ্যন্তরে লগ ইন করা ব্যবহারকারীদের জন্য পরীক্ষা করতে পারেন /var/log/secure
।
আপনি যদি আরও তথ্য চান তবে এই সুপার ইউজার প্রশ্নোত্তরটি শিরোনামটি পড়ুন: আমি কীভাবে এসএসএইচ অ্যাক্সেসের প্রচেষ্টাগুলিতে লগ করব এবং এসএসএইচ ব্যবহারকারীরা কীভাবে আমার সার্ভারে শেষ করছেন তা ট্র্যাক রাখতে পারি? ।
/var/log/secure
আমার উবুন্টু সিস্টেমের জন্য কোনো।
/var/log/auth
আমার সিস্টেমে নেই। এই কারণেই উত্তর পোস্ট করার আগে আমি /var/log/secure
আমার সিস্টেমে যা কিনা তাও উবুন্টু সার্ভারে পরীক্ষা করেছি :)
/var/log/secure
।
/var/log/secure
একটি ফেডোরা / সেন্টোস / আরএইচইএল ism।
উবুন্টুতে আপনি এসএসএইচ দিয়ে লগ ইন করতে পারেন এবং লিনাক্স টেল কমান্ডটি ব্যবহার করে আপনার /var/log/auth.log
ফাইলের শেষ x নম্বর লাইন প্রদর্শন করতে পারেন । আপনি যখন এসএসএইচের মাধ্যমে লগ ইন করেছেন তখন আপনার এসএসএইচ লগের 100 টি শেষ লাইনগুলি দেখতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
tail /var/log/auth.log -n 100
এমনকি ক্লিনার
tail -100 /var/log/auth.log | grep 'sshd'
মনে রাখবেন যে উবুন্টুতে ডিফল্ট কনফিগারেশনটি /var/log/auth
ফাইলটিতে ssh লগইন না করা । এটি INFO
লগিং স্তর।
আপনি যদি এটিতে লগ ফাইলটিতে লগইন প্রচেষ্টা অন্তর্ভুক্ত করতে চান তবে আপনাকে ফাইলটি সম্পাদনা করতে /etc/ssh/sshd_config
হবে (রুট হিসাবে বা সুডো সহ) এবং এর LogLevel
থেকে পরিবর্তন INFO
করতে হবে VERBOSE
।
এর পরে, এসএসডিডি ডিমনটি পুনরায় আরম্ভ করুন
sudo service rsyslog restart
এর পরে, ssh লগইন প্রচেষ্টা /var/log/auth.log
ফাইলটিতে লগ ইন করা হবে।
আমার প্রস্তাবটি অডিট ব্যবহার করা । এটি লিনাক্স কার্নেলের অডিট সাবসিস্টেমটি ব্যবহার করে লগিং করছে এবং আমার মতে আপনি গুরুতর হলে এটি করার উপযুক্ত উপায়। এবং প্রশ্নটির প্রকৃতি দেওয়া হয়েছে {সুরক্ষা সম্পর্কিত} আপনার পাশাপাশি পিএএমও ব্যবহার করা উচিত । সবেমাত্র অডিট করা এবং প্যাম ইনস্টল করার ডিফল্ট স্তরে, আপনার অডিট.লগ ফাইলে লগইন করা সমস্ত সফল এবং ব্যর্থ এসএসএইচ প্রচেষ্টা স্বয়ংক্রিয়ভাবে হওয়া উচিত। সুতরাং আপনাকে সত্যিই কোনও কনফিগার করতে হবে না, কেবল অডিট এবং প্যাম ইনস্টল করা আছে। আমি SLES এর জন্য এই প্রথম হাতটি জানি। এবং RHEL কে বাজি ধরবে এবং লিনাক্সের অন্য কোনও এন্টারপ্রাইজ সংস্করণ একইভাবে কাজ করবে।
http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html
দ্বারা উত্পন্ন কাঁচা অডিট লগ মধ্যে auditd আপনি ব্যবহার করতে পারেন পারেন কিছু ব্যবহার পছন্দ aureport
এটা যা বর্ণনা করা হয়েছে ফিল্টার করতে auditd মানুষ পৃষ্ঠা, আপনার নিজস্ব টেক্সট পার্সার লিখতে, বা শুধু ষষ্ঠ ব্যবহার এবং কীওয়ার্ড অনুসন্ধান।
এখানে আমার /var/log/audit/audit.log
ফাইলটি আমার লিনাক্স সার্ভারে ssh'ing ব্যতীত একটি ।
node=shark type=CRED_DISP msg=audit(1480622612.317:2211277): user pid=117768 uid=0 auid=23456 ses=2201 msg='op=PAM:setcred acct="ron" exe="/usr/sbin/sshd" (hostname=abc415.mycompany.us, addr=172.16.152.5, terminal=ssh res=success)'
date --date @1480622612.317
যার ফলশ্রুতি ঘটে Thu Dec 1 15:03:32 EST 2016
এবং যখন আমি আমার সার্ভারে প্রবেশ করতাম isআপনি কখন res=failed
সেই আইপি ঠিকানা এবং হোস্টনামগুলি তদন্ত করতে চান কখন কোন ব্যবহারকারী ব্যবহারকারীর নামের অধীনে কোন সিস্টেমগুলি সংযোগ স্থাপনের চেষ্টা করছে তা দেখতে to এবং স্পষ্টতই সফল এসএসএস আপনার সিস্টেমে কী ঘটছে তা বোঝার চেষ্টা করে - উদাহরণস্বরূপ আপনার সহকর্মী বব যিনি হোস্টনাম = ববস্কম্পিউটার এবং আইপি ঠিকানা = 192.168.5.5 সহ প্রতিদিন একই ডেস্কে বসে থাকেন; আপনি যদি আইপি ঠিকানার 10.10.5.6 থেকে তার ব্যবহারকারীর নামে গতকাল সকাল 2 টা 2 মিনিটে একটি সফল এসএসএস প্রচেষ্টা দেখতে পান তবে তদন্তের জন্য ববের সাথে কথা বলা আপনার পক্ষে ভাল interest অন্য কারও দ্বারা সম্ভব হ্যাক প্রচেষ্টা? এবং খুব শীঘ্রই বব এর অ্যাকাউন্ট থেকে নিরীক্ষণ লগ এড়াতে su প্রচেষ্টা আছে?
যখন আপনি পুনরাবৃত্তিমূলক দেখতে res=failed
এবং auid=0
এবং acct=root
তারপর যে কেউ রুট অ্যাকাউন্টে আপনার বাক্সে SSH বের করার চেষ্টা, এবং হয় যখন আপনি সংশোধন /etc/hosts.deny
sshd যে IP ঠিকানার সাথে।
আমি জানি এটি পুরানো তবে আমি সফল এবং ব্যর্থ ssh সংযোগ / প্রচেষ্টা নিরীক্ষণের জন্য কিছু লিখেছিলাম। পাশাপাশি আপনি যদি এসএসগার্ড ব্যবহার করেন তবে নিষিদ্ধ আইপি। সফটওয়্যারটি পাইথনে লেখা আছে। যখন কেউ সফলভাবে এসএসএসের মাধ্যমে সংযুক্ত হয়, যখন কেউ এসএস পাসওয়ার্ডটি ভুল হয়ে যায় বা যখন অনেক ব্যর্থ চেষ্টার কারণে কেউ নিষিদ্ধ হয় তখন এটি আপনাকে ইমেল করবে। আশা করি এটি ভবিষ্যতে এমন কাউকে সহায়তা করবে যিনি এই সমস্যাটি অনুসন্ধান করেন এবং আমার কোডটি সন্ধান করেন!
https://github.com/amboxer21/SSHMonitor
পাইথন স্ক্রিপ্টের জন্য, আমি প্রক্রিয়াটি পর্যবেক্ষণ করতে বাশ স্ক্রিপ্ট লিখেছিলাম। এটি রুট ক্রোন টাস্কের মাধ্যমে প্রতি মিনিটে চলছে কিনা তা পরীক্ষা করে। যদি এটি চলমান না থাকে তবে এটি অন্য প্রক্রিয়া শুরু করে। যা প্রতি মিনিটে একটি রুট ক্রোন টাস্ক দ্বারা ডাকা হয় ।
এসএসএইচ কমান্ড লগিংয়ের জন্য আমি যে সর্বোত্তম জিনিসটি এসেছি তা হ'ল মূলত এই সরঞ্জামটি প্রশাসককে প্রতিটি স্তরের লগিংয়ের বিস্তৃত স্তর সহ প্রতিটি কমান্ড পেতে দেয়।
আমি উবুন্টু এবং সেন্টোস / আরএইচএল এ মূলগুলি ইনস্টল এবং কনফিগার করার জন্য একটি স্ক্রিপ্ট লিখেছি
লিথটি এখানে গিথুব থেকে ডাউনলোড করুন
https://gist.githubusercontent.com/mansurali901/e1e3acc7dca13aeca25b68a69571c60f/raw/b1b16f73ec9a974486e4c0c0d65a7d41f2eca718/setup_rootssh.sh
chmod +x setup_rootssh.sh ; sudo ./setup_rootssh.sh