কীভাবে খোলা বন্দরগুলি "বন্ধ" করবেন?


22

কিছু দিন আগে আমি আমার ডেটা সুরক্ষা সম্পর্কে অনেক যত্ন নেওয়া শুরু করেছি, আমি nmapনিজেকে শেষ করে দিয়েছি :nmap 127.0.0.1

আশ্চর্য, অবাক, আমার প্রচুর সক্রিয় পরিষেবাদি লোকালহোস্ট শোনায়:

$ nmap 127.0.0.1
Starting Nmap 5.21 ( http://nmap.org ) at 2013-05-05 00:19 WEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00025s latency).
Not shown: 993 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
111/tcp open  rpcbind
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

একমাত্র ব্যক্তি যাকে আমি পারে ব্যবহার ssh(যদিও এটা সম্ভবত ভাল কনফিগার করা হয় না, আমি অপর এক প্রশ্নের এই বিষয়টি রাখা হবে)।

যতদূর আমি জানি যে ippপ্রোটোকলগুলি আমার প্রিন্টারগুলি ভাগ করার জন্য সিইউপিএস ব্যবহার করে, আমার সেগুলি ভাগ করার দরকার নেই, কেবল একটি সার্ভার থেকে প্রিন্টারগুলি অ্যাক্সেস করুন।

এটি netstat -lntupস্থানীয় ব্যবহারকারীর ঠিকানাগুলি সরিয়ে মূল ব্যবহারকারী দ্বারা আউটপুট :

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      497/sshd        
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2217/dropbox    
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:50022           0.0.0.0:*               LISTEN      1021/rpc.statd  
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      906/rpcbind     
tcp6       0      0 :::22                   :::*                    LISTEN      497/sshd        
tcp6       0      0 :::42712                :::*                    LISTEN      1021/rpc.statd  
tcp6       0      0 :::445                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::139                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::111                  :::*                    LISTEN      906/rpcbind     
udp        0      0 0.0.0.0:51566           0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:68              0.0.0.0:*                           7362/dhclient   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           906/rpcbind     
udp        0      0 192.168.1.255:137       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:137        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:137             0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.255:138       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:138        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:138             0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:655             0.0.0.0:*                           906/rpcbind     
udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2217/dropbox    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:34805           0.0.0.0:*                           1021/rpc.statd  
udp6       0      0 :::40192                :::*                                1021/rpc.statd  
udp6       0      0 :::111                  :::*                                906/rpcbind     
udp6       0      0 :::655                  :::*                                906/rpcbind     
udp6       0      0 :::5353                 :::*                                615/avahi-daemon: r
udp6       0      0 :::42629                :::*                                615/avahi-daemon: r

আমি কীভাবে এই পরিষেবাগুলিকে কনফিগার করব যাতে তারা যখন কেবল প্রকৃতপক্ষে সেগুলি ব্যবহার করে তখন বাইরের বিশ্বের শোনেন?


আপনি তাদের কীভাবে ব্যবহার করছেন তা আপনি কীভাবে বলতে চান?
রিঅ্যাক্টরমনক

নিজেকে পরিষেবাগুলি চালু করুন (ব্যবহারকারীর সুবিধাগুলি এবং প্যারেন্ট শেল সহ)
আরএসফালকন 7

2
ঠিক আছে, আপনি যদি কেবল স্থানীয় সিস্টেম থেকে সিইপিএস ব্যবহার করেন তবে এটি কেবল লোকালহোস্টে (127.0.0.1) port৩১ পোর্টে শুনতে পাবে। আমি মেশিনটির আসল আইপি ব্যবহার করে কেবল এনএম্যাপটি পুনরায় চালিত করব এবং কেবল 127.0.0.1 নয়।
slm

1
চালানোর জন্য আরও ভাল কমান্ডটি netstat -lntupহ'ল -l = শুনুন-এন = সংখ্যা -t = tcp -u = udp -p = pid। আপনার কী প্রক্রিয়াগুলি চলছে এবং কোন বন্দরগুলি তারা প্রকাশ করছে তা দেখায়। 127.0.0.1 এ খোলা যে কোনও কিছুই ইন্টারনেটে অ্যাক্সেসযোগ্য।
frogstarr78

1
আপনার যদি সাম্বার প্রয়োজন না হয় তবে কেবল এটি আনইনস্টল করুন। আপনি যদি না এটা, আপনি স্থানীয় ইন্টারফেস (যেমন এটা সীমিত করতে পারে eth0মধ্যে যোগ করে?) smb.confদুই নির্দেশনা bind interfaces only = yesএবং interfaces = eth0
এলসার্নি

উত্তর:


26

আপনার এক্সপোজারটি নির্ধারণ করুন

netstatকমান্ড থেকে আপনার আউটপুট নেওয়া , প্রচুর পরিষেবাগুলির মতো দেখতে আসলে একটি খুব সংক্ষিপ্ত তালিকা:

$ netstat -lntup | awk '{print $6 $7}'|sed 's/LISTEN//'| cut -d"/" -f2|sort|uniq|grep -v Foreign
avahi-daemon:r
dhclient
dropbox
nmbd
rpcbind
rpc.statd
smbd
sshd

জমির একটা লেওট পাচ্ছেন

এই তালিকার দিকে তাকিয়ে বেশ কয়েকটি পরিষেবা রয়েছে যা আমি একা ছেড়ে চলে আসি।

  • dhclient
    • আপনার আইপি ঠিকানা পাওয়ার জন্য দায়বদ্ধ ডিএইচসিপি সার্ভার ডিমন এটি থাকতে হবে।
  • ড্রপবক্স
    • স্পষ্টতই ড্রপবক্স, আছে

এটি হ্রাস শুরু করুন - সাম্বাকে অক্ষম করুন

আপনি সম্ভবত ব্যাটটি সাম্বাকে অক্ষম করে ফেলতে পারেন, এটি উপরের পরিষেবাগুলির মধ্যে ২ টির জন্য, nmbdএবং smbd। এটি সন্দেহজনক যে আপনার লোকালহোস্ট বা আপনার আইপি আপনার নেটওয়ার্কের মুখোমুখি কিনা ল্যাপটপে চালিয়ে যাওয়া দরকার।

তারা চলছে কিনা তা পরীক্ষা করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন status:

$ status nmbd
nmbd start/running, process 19457
$ status smbd
smbd start/running, process 19423

পরিষেবাগুলি বন্ধ করা আপস্টার্ট, /etc/rc.d, ব্যবসায়ের সাথে চলমান সমস্ত প্রবাহের সাথে বিভ্রান্ত হতে পারে তাই কোন প্রযুক্তির অধীনে কোন পরিষেবাটি রয়েছে তা নির্ধারণ করা কঠিন হতে পারে। সাম্বার জন্য আপনি serviceকমান্ডটি ব্যবহার করতে পারেন :

$ sudo service nmbd stop
nmbd stop/waiting
$ sudo service smbd stop
smbd stop/waiting

এখন তারা বন্ধ:

$ status nmbd 
nmbd stop/waiting
$ status smbd 
smbd stop/waiting

এগুলি বন্ধ করে দেওয়া হচ্ছে ... স্থায়ীভাবে

তাদের বন্ধ রাখার জন্য আমি এই সরঞ্জামটি ব্যবহার করে চলেছি sysv-rc-conf, কনসোল থেকে পরিষেবা পরিচালনা করতে, এটি বেশিরভাগের চেয়ে ভাল কাজ করে। এটি আপনাকে কোন পরিষেবাগুলি চালনা করতে চায় এবং কোন রানলেলে সেগুলি শুরু করা / বন্ধ করা উচিত তা পরীক্ষা করতে সহায়তা করে:

$ sudo apt-get install sysv-rc-conf

   sysv-rc-conf এর এস এস

যা প্রয়োজন নেই তার বাকী অক্ষম করা

সুতরাং এখন সাম্বার বন্ধ আমরা নিম্নলিখিত সঙ্গে বাকি:

  • নির্মাণের জন্য Avahi-ডেমন
    • জেরোকনফের অংশ (প্লাগ-এন-প্লে), এটি বন্ধ করুন
  • rpcbind
    • এনএফএসের জন্য প্রয়োজনীয় - এটি বন্ধ করুন
  • rpc.statd
    • এনএফএসের জন্য প্রয়োজনীয় - এটি বন্ধ করুন

বাকী 3 টির জন্য আপনি সাম্বাকেও সেগুলি বন্ধ করার জন্য আমরা একই জিনিস করেছি।

কাপ?

CUPS বন্ধ করতে, যা আপনাকে সত্যিকার অর্থে প্রয়োজন হয় না, আপনি পরিষেবাটি বন্ধ করে দেওয়ার এবং তারপর এটি শুরু করা থেকে অক্ষম করার একই নৃত্য অনুসরণ করতে পারেন। মুদ্রণ করতে সক্ষম হতে আপনাকে প্রতিটি সিস্টেমে পৃথক পৃথকভাবে আপনার সিস্টেমে সেটআপ করতে হবে। আপনি system-config-printerজিইউআইয়ের মাধ্যমে এটি করতে পারেন ।

চাহিদা অনুযায়ী এই পরিষেবাগুলি তৈরি করছেন?

এটি সত্যই আপনার প্রশ্নের কেন্দ্রবিন্দু তবে এই পরিষেবাদিগুলিকে "স্মার্ট" করার জন্য সত্যই কোনও রূপালী বুলেট সমাধান নেই যাতে তারা সর্বকালের চেয়ে বরং যখন ব্যবহার করা হয় তখন চলে।

# 1 - সিস্টেমড বনাম আপস্টার্ট art

এর অংশটি হ'ল সিস্টেমড এবং আপস্টার্টের মধ্যে বর্তমান বিভাজন । এখানে আছে 2 প্রতিদ্বন্দ্বী প্রযুক্তির একটি ভাল ওভারভিউ এখানে

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

অবশেষে উভয় পরিষেবাই তাদের পরিচালিত সমস্ত পরিষেবাদির জন্য বোর্ড জুড়ে চাহিদা শুরু এবং বন্ধ করার প্রস্তাব দেয়। যেমন বৈশিষ্ট্য যেমন StopWhenUnneeded=yesইতিমধ্যে বিদ্যমান রয়েছে systemd, সুতরাং এই ক্ষমতাগুলি শেষ হয়ে যাওয়া অবধি কেবল সময়ের বিষয়।

# 2 - পরিষেবা সমর্থন

কিছু পরিষেবা মোটামুটি বন্ধ থাকলে / খুব ভাল শুরু করা সমর্থন করে না। যেমন পরিষেবাগুলি sshdঅন-চাহিদা হিসাবে চালিত করার জন্য কিছুটা বোধগম্য বলে মনে হচ্ছে, বিশেষত যদি সেগুলি খুব বেশি ব্যবহৃত হয়। এছাড়াও কিছু পরিষেবা যেমন অ্যাপাচি তাদের নিজের শ্রোতাগুলিকে পরিচালনা করে এমন কম-বেশি স্পিন করার জন্য নিজের মধ্যে প্রক্রিয়া সরবরাহ করে। সুতরাং এটি স্পষ্ট নয় কিভাবে অন-ডিমান্ড দ্বারা উপলব্ধ systemdবা upstartপরিষেবার এই ধরনের সাথে সংহত করতে যাচ্ছি।

এটি কি সত্যিই প্রয়োজনীয়?

আপনি উভয় পক্ষের কাছ থেকে শুনতে পাবেন যে এটি অত্যধিক দক্ষ বা আপনার কেবলমাত্র যা প্রয়োজন তা কেবল ইনস্টল করার ক্ষেত্রে আপনার একটি সংক্ষিপ্ত বিবরণ গ্রহণ করা উচিত তবে এটি সত্যই ব্যক্তিগত পছন্দ। এই পরিষেবাগুলি রয়েছে এবং তারা কী করে তা বোঝা যা সত্য তা গুরুত্বপূর্ণ। দিনের শেষে একটি কম্পিউটার একটি সরঞ্জাম এবং আপনি ইউনিক্স সিস্টেম ব্যবহার করে ইতিমধ্যে বলছিলেন যে আপনি পর্দার পিছনে উঁকি দিতে এবং আপনার কম্পিউটারটিকে টিক দেয় কী তা বুঝতে আগ্রহী।

আমি বলব যে এই ধরণের প্রশ্নটি হ'ল মনের ফ্রেম যা সাধারণভাবে কম্পিউটার এবং ইউনিক্সের সাথে কাজ করার জন্য চেষ্টা করা উচিত।

তথ্যসূত্র


2
@ আরএসফালকন 7 - আপনাকে স্বাগতম! প্রশ্নের জন্য ধন্যবাদ!
slm

12

127.0.0.1 "বাইরের পৃথিবী" নয়, এটি বাড়ির ভিতরে চারদিকে তাকিয়ে আছে।

আপনার ফায়ারওয়াল কনফিগারেশন পরীক্ষা করুন (আজ লিনাক্সে iptables), তাদের বেশিরভাগই ouside থেকে অ্যাক্সেসযোগ্য হওয়া উচিত নয়।

আপনার প্রয়োজন নেই এমন পরিষেবাগুলি চালাবেন না। সমস্ত প্রয়োজনীয় সফ্টওয়্যার আনইনস্টল করুন।

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

তবে সর্বোপরি অতিরিক্ত প্যারোনিয়াটি প্রতিষেধক। প্রযুক্তির ঝলমলে আটকাবেন না ।


3
আমি "আপনার প্রয়োজনীয় পরিষেবাগুলি চালাবেন না" এর সাথে আমি সম্মত। তবে "সমস্ত প্রয়োজনীয় সফ্টওয়্যার আনইনস্টল করুন" ", গুরুত্ব সহকারে? কি এর বিরুদ্ধে সাহায্য করবে?
হউক লেগেইন

6
@ হককিজিং, যেমনটি বলা হয়, "অব্যবহৃত কাপড়ের স্তূপে মাউস"। সফ্টওয়্যারের যে কোনও অংশে দুর্বলতা থাকতে পারে যা শোষণ করা যেতে পারে। প্রোগ্রামটি যদি না থাকে তবে সেই ঝুঁকিটি নেই। যদি এটি ব্যবহার না করা হয় তবে ব্যয়টি নগন্য। তদতিরিক্ত, একটি সহজ সিস্টেম তদারকি করা এবং পরিপাটি রাখা সহজ।
ভনব্র্যান্ড

127.0.0.1 মনে করিয়ে দেওয়ার জন্য ধন্যবাদ যে বাইরের উদ্বেগ নয় । আমার যে সার্ভিসগুলির দরকার নেই সেগুলি চালানোর জন্য আমি পুরোপুরি সাবস্ক্রাইব করেছিলাম , তবে আনইনস্টল করা একটি ওভারকিলের কিছুটা, যদি তারা এখানে থাকে তবে তারা কোনও কোনও সময়ে দরকারী ছিল
RSFalcon7

2
@ RSFalcon7, যদি তারা ছিল দরকারী (বা অন্য কারো জন্য দরকারী, তারা সব পরে বিতরণে হয়) কোন consecuence হয়। যদি আপনি এটি ব্যবহার না করেন তবে এটি ছক দিন। কম ডিস্ক ব্যবহার, আপডেট আপডেট, কম ঝুঁকি সামগ্রিক। আপনার যদি এটির পরে প্রয়োজন হয় তবে পুনরায় ইনস্টল করুন।
ভনব্র্যান্ড

3

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

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

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

মূলত - এসএসএসকে ইনবাউন্ডে অনুমতি দিন; অন্য সব ছেড়ে দিন।

আপনার ইনপুট চেইনটি এখন এর মতো দেখাচ্ছে:

  • যদি কোনও প্যাকেট আমার কম্পিউটারে 'ssh' এর জন্য আসে - তবে এটির অনুমতি দিন
  • যদি কোনও প্যাকেট পূর্ববর্তী কোনও নিয়মের সাথে মেলে না - তবে কেবল তা ফেলে দিন।

তারপরের কোনও তারিখে, বলুন যে আপনি 'সাম্বা' (উইন্ডোজ ফাইল ভাগ করে নেওয়ার) অনুমতি দিতে চান: আপনি চালাতে পারেন

iptables -I INPUT-p tcp --dport 465 -j ACCEPT

-IPrepends এবং লিস্টে নিয়ম; -Aএকটি নিয়ম সংযোজন। সুতরাং আপনার চেইন এখন এই মত দেখাচ্ছে:

  • 'সাম্বা' এর জন্য যদি কোনও প্যাকেট আমার কম্পিউটারে আসে তবে এটির অনুমতি দিন
  • যদি কোনও প্যাকেট আমার কম্পিউটারে 'ssh' এর জন্য আসে - তবে এটির অনুমতি দিন
  • যদি কোনও প্যাকেট পূর্ববর্তী কোনও নিয়মের সাথে মেলে না - তবে কেবল তা ফেলে দিন।

INPUTশৃঙ্খল আপনার সিস্টেমে পূর্বনির্দিষ্ট প্যাকেট বোঝায়। অন্যান্য চেইনগুলি OUTPUTআপনার কম্পিউটার থেকে প্যাকেটগুলির জন্য, ইন্টারনেটে যাওয়া এবং FORWARDআপনার কম্পিউটারের মাধ্যমে চালিত প্যাকেটের জন্য হয় (এটি এমন প্যাকেট যা আপনার কম্পিউটারকে 'ট্রানজিট করে' বিমানবন্দরের ট্রানজিট এরিয়ার মতো - এমন জিনিস যা INPUTএটি আপনার কম্পিউটারে প্রবেশ করে না is )।

অংশীকরণ নোট হিসাবে: 127.0.0.1 কে nmap 'করা খুব কার্যকর নয়; প্রচুর পরিষেবা কেবল 127.0.0.1 থেকে অ্যাক্সেসযোগ্য এবং অন্য কোনও ঠিকানা। আপনার যদি অন্য কোনও মেশিন না থাকে তবে আপনি এ থেকে এনএম্যাপ চালাতে পারবেন - গিবসন রিসার্চ 'শিল্ডস ইউপি ব্যবহার করে দেখুন! ( https://www.grc.com/shieldsup ) - এটি একটি নিখরচায়, অনলাইন এনএমএপ-লাইট। অথবা আপনার আইপি / ইমেলের সাথে একটি মন্তব্য যুক্ত করুন এবং আমি আপনাকে এনএম্যাপ করব :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.