কেবলমাত্র একটি নির্বাচিত ইউএসবি পোর্টে ভর স্টোরেজ ডিভাইসগুলি ব্যবহার করুন - কীভাবে?


14

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

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

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

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


2
উম। আমি কেবল স্টাফ শিখছি, তাই নিশ্চিত না যে এটি সাহায্য করতে পারে কিনা তবে এটি প্রাসঙ্গিক কিনা তা দেখুন: " linux-usb.org/FAQ.html " বিশেষত "আমার বহুমুখী স্টোরেজ ডিভাইস থেকে আমি কেন কেবল একটি ডিভাইস দেখতে পাচ্ছি?" এ স্ক্রোল করুন "প্রশ্ন, এবং লাইন রয়েছে" আপনি যদি সমস্ত এসসিএসআই ডিভাইসগুলির জন্য এটি না করতে চান তবে আপনি কার্নেলকে নির্দিষ্ট ডিভাইসটির জন্য স্ক্যান করতে বলতে পারেন; echo> / proc / scsi / scsi "স্ক্সি অ্যাড-সিঙ্গল-ডিভাইস 0 0 0 1 ""
সের্গেই কোলোডিয়াজনি

1
আপনি কেবল ইউএসবি মাস স্টোরেজটিতে কোনও নির্দিষ্ট বন্দর লক করতে চান?
কাজ ওল্ফ

3
"শারীরিক অ্যাক্সেসের সাথে সাথে সুরক্ষার লড়াইটি হারিয়ে গেছে।" ~ প্রতি সিকিউরিটি.এসই ব্যবহারকারীরা।
কাজ ওল্ফ

1
@ পিসকভোর আমি নিশ্চিত নই তবে আপনার কাছে সিকিউরিটি.স্ট্যাকেক্সচেঞ্জ.কম বা অন্য আরও উন্নত / পেশাদার ভিত্তিক সাইটগুলির মধ্যে একটির উত্তর খুঁজে পাওয়ার জন্য ভাগ্য ভাল ।
ব্রায়ান জেড

2
সম্ভবত এটি সহায়তা করতে পারে: আয়রনজেক.কম ,... বিশেষত ৩.২ ইউডিইভি বিভাগ ব্যবহার করে লিনাক্স লকডাউন করুন।
alci

উত্তর:


16

আমার কাছে উবুন্টু 14.04 এ 2 ফ্ল্যাশ কী এবং অ্যান্ড্রয়েড ফোন স্টোরেজ হিসাবে এবং ইউএসবি নেটওয়ার্ক অ্যাডাপ্টার এবং অন্যান্য ধরণের ওয়েবক্যামের সাথে কাজ করে বলে মনে হচ্ছে। (আমি ইউএসবি হাব স্থাপনের পরীক্ষা করতে পারিনি)

  1. ইউএসবি পোর্ট পরীক্ষা করুন (যা প্লাগড ডিভাইসের জন্য প্যারেন্ট ডিভাইস)

    $ udevadm info --name=/dev/sdc --attribute-walk
    
      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0':
        KERNELS=="2-1.2:1.0"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb-storage"
        ATTRS{bInterfaceClass}=="08"
        ATTRS{bInterfaceSubClass}=="06"
        ATTRS{bInterfaceProtocol}=="50"
        ATTRS{bNumEndpoints}=="02"
        ATTRS{supports_autosuspend}=="1"
        ATTRS{bAlternateSetting}==" 0"
        ATTRS{bInterfaceNumber}=="00"
    
  2. usb-storageড্রাইভার ছাড়াই ইউএসবি পোর্ট কার্নেলের নামের সাথে মিল রেখে ইউদেব নিয়ম তৈরি করুন

    /etc/udev/rules.d/90-remove-non-storage.rules

    1 ম ইন্টারফেস হিসাবে স্টোরেজ থাকা কোনও ডিভাইসকে মঞ্জুরি দিন (সম্মিলিত ডিভাইসগুলির অনুমতি দেওয়া)

    KERNELS=="2-1.2:1.0", DRIVERS!="usb-storage", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/drivers/hub/2-1\:1.0/port2/device/remove'"
    

    স্টোরেজবিহীন ইন্টারফেস রয়েছে এমন কোনও ডিভাইস অবরুদ্ধ করুন (যৌগিক ডিভাইসগুলি অস্বীকার করা হয়েছে)

    আসলে, ফোনটি /dev/ttyACM0KERNELS == "2-1.2: 1.1" হিসাবে মডেম হিসাবে মাউন্ট হয়ে যায় । এটি ফোনগুলিকে (সম্মিলিত ডিভাইস) কেবলমাত্র সাধারণ স্টোরেজ ডিভাইসগুলিকে মাউন্ট করতে দেয় না।

    KERNELS=="2-1.2:1.[0-9]*", DRIVERS!="usb-storage", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/drivers/hub/2-1\:1.0/port2/device/remove'"
    

    কেবলমাত্র ইন্টারফেসগুলি অবরুদ্ধ করুন যা স্টোরেজ নয় (যৌথ ডিভাইসগুলি কেবল স্টোরেজ হিসাবে অনুমোদিত)

    কেবল অ মঞ্জুরিপ্রাপ্ত ইন্টারফেসগুলি অক্ষম করার উপায় সম্পর্কে কিছু অনুসন্ধানের পরে। ড্রাইভার আনবাইন্ডিং কাজ করছে বলে মনে হচ্ছে। আমার ফোনটি কেবল সঞ্চয় হিসাবে ব্যবহৃত হতে পারে, এটি তৈরি করে না /dev/ttyACM0

    KERNELS=="2-1.2:1.[0-9]*", DRIVERS!="usb-storage", RUN+="/bin/sh -c 'echo -n %k >/sys%p/driver/unbind'"
    
  3. ওদেব বিধিগুলি পুনরায় লোড করুন

    udevadm control --reload-rules
    

তথ্যসূত্র:


আমাকে
মারধর করুন

@ হোআআআআআআআআআউট, হ্যাঁ authorizedকাজটি খুব কার্যকর, তবে removeব্যবহারকারীরা যেভাবেই এটিকে চলাচল করতে পারবেন বলে পরিষ্কার উপায়। আমি আনমাউন্টড ড্রাইভগুলি চেক করেছি, তাদের এখনও usb-storageপ্যারেন্ট নোডের ড্রাইভার হিসাবে রয়েছে। আমি সম্মত হলাম, এমন কিছু মামলা রয়েছে যেখানে usb-storageব্যবহার নাও করা যেতে পারে। বিটিডাব্লু, :) আপনি অনেক মন্তব্য ব্যবহার করেছেন (2 মিনিট, 1 মিনিট), আপনি 1 ম সম্পাদনা করতে পারেন (<5
মিনিটে

@ ওয়াহাআআআআআউট: আমি যখন এটি পরীক্ষা করছিলাম তখন ইউএসবি-স্টোরেজ ড্রাইভারটি ব্লক ডিভাইসগুলি তৈরি করার ঠিক আগে লোড হয়ে গেল; তাদের মাউন্ট করা প্রয়োজন ছিল না।
পিসকভোর

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