iptables: নির্দিষ্ট আইপিসের অনুমতি দিন এবং অন্য সমস্ত সংযোগ ব্লক করুন


26

আমি কীভাবে নির্দিষ্ট আইপিসকে অনুমতি দেব এবং আইপিটিবেলে সমস্ত অন্যান্য সংযোগ ব্লক করব?


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

উত্তর:


27

আমি ডেস্কটপ ব্যবহারকারীর জন্য প্রাথমিক Iptables নিয়মে একটি ব্লগ পোস্ট অনেক আগে লিখেছিলাম এবং আপনার সম্ভবত এটি পড়া উচিত, এবং স্টেটফুল ফায়ারওয়াল ডিজাইনের সাথে সম্পর্কিত লিঙ্কটি । তবে প্রাক কার্নেল ২.6.৩৯ (এতে অন্তর্ভুক্ত রয়েছে ipsetএবং আপনি যদি হোয়াইটলিস্টে 10 এর বেশি থাকতে পারেন (যেখানে 10 নির্বিচারে থাকে) তবে আপনি এটি ব্যবহার করতে পারেন আইপি'র সাদা অংশীদারি করার জন্য।

প্রথম হ্যান্ডেল রাষ্ট্রটির যা আমরা জানি আমরা গ্রহণ করতে বা ছাড়তে চাই এবং ইন্টারফেসগুলি।

iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept

আপনি যদি কেবল রাষ্ট্র ব্যতীত কেবল আইপি দ্বারা অনুমতি করতে চান

iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP

আপনি যদিও এটি করতে সমস্যা হতে চলেছেন এবং আমি আপনার জীবনকে আরও সহজ করার জন্য রাষ্ট্রকে ব্যবহার করার পরামর্শ দিচ্ছি। উদাহরণস্বরূপ, অনুমতি না দেওয়া -i loএবং -o loঅবশ্যই কিছু অ্যাপ্লিকেশনগুলির জন্য সমস্যা সৃষ্টি করবে।


4
ড্রপের পরিবর্তে, আপনার অযাচিত প্যাকেটগুলি প্রত্যাখ্যান করা উচিত, কারণ এটি নির্ণয়ের বিষয়গুলিকে অনেক সহজ করে তোলে এবং সময়সীমা রোধ করে। দেখুন একটি ICMP ত্রুটি সহ আইপি প্যাকেট প্রত্যাখ্যান করুন, বা শুধু তাদের ড্রপ?
গিলস 16'14

আমি উভয় সেটআপ চেষ্টা করেছি এবং কেপাস 2 শুরু হবে না, কোনও ধারণা? এছাড়াও যদি আমি iptables -Fএটি সমস্ত নিয়ম মুছে
ফেলার কথা বলে থাকি তবে ubuntu.com- তেও

@ পাওয়েলসিওচ কেন কী পিস 2 এর জন্য ইন্টারনেট সংযোগের প্রয়োজন হবে?
এলেক্স

@ অ্যালেক্সকে ডিবি ফাইল রিমোট স্থানে সঞ্চয় করতে, এটি আমি একক আইপি চাই। তবে আমি সবকিছু বুঝেছি, সেটআপটি আরও জটিল যে এখানে উদাহরণটি রয়েছে
পাভেল সিওচ

10

এখানে একটি (অনির্ধারিত!) উদাহরণ রয়েছে যা কেবলমাত্র আগত সংযোগগুলি অবরুদ্ধ করে । লুপব্যাক ইন্টারফেসের মাধ্যমে 192.168.3.x, আইসিএমপি, বা এসএসএইচ বন্দরের সাথে সংযোগগুলি অনুমোদিত। অন্যান্য সমস্ত সংযোগ প্রত্যাখ্যান করা হয়।

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.3.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT

@ গিলসগুলি সম্পর্কিত ও প্রতিষ্ঠিত রাজ্যগুলিকে সঠিকভাবে ব্যবহার করতে আপনাকে একটি নতুন রাষ্ট্র হিসাবে প্রাথমিক প্যাকেটটি মেলানো দরকার। loউপরের উদাহরণে রাষ্ট্রের মিল থেকে বাদ দেওয়া হয়েছে এবং সর্বদা অনুমোদিত।
পেঙ্গুইন 359

@ পেঙ্গুইন 359: নতুন কেন প্রয়োজন হয় তা আপনি বিশদ বর্ণনা করতে পারেন? আমি কোনও আইপটেবল বিশেষজ্ঞের থেকে অনেক দূরে, আমি আংশিকভাবে আমার হোম রাউটার থেকে এই নিয়মগুলি অনুলিপি করেছি, যা নতুনটিতে মেলে না। আমি যতদূর বুঝতে পেরেছি, প্রথম নিয়মের পরে যা কিছু বাকি আছে তা নতুন (বা UNTRACKED) প্যাকেটগুলি যাই হোক না কেন। (যদি আমি খুব বেশি দূরে থাকি এবং আপনি কোনও মন্তব্যে ব্যাখ্যা করতে না পারেন তবে উত্তর হিসাবে আপনার সংস্করণগুলি ব্যাখ্যা সহ পোস্ট করুন এবং আমি আমার মুছে ফেলব))
গিলস '

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

@ গিলস এছাড়াও প্রত্যাখ্যানের একটি ডিফল্ট নীতি খারাপ, কারণ এটি প্রাপ্ত প্রতিটি প্যাকেটের জন্য একটি প্রত্যাখ্যান প্যাকেট প্রেরণ করে, এটি ডস আক্রমণকে মিশ্রণ করে।
xenoterracide


7

নীচের নিয়মটি কেবলমাত্র আপনার আইপিটিকে অনুমতি দেবে এবং 22 বা ssh বন্দর দিয়ে অন্য সমস্ত আইপি ব্লক করবে। সংযোগ বিচ্ছিন্ন করার আগে একটি নতুন টার্মিনাল দিয়ে পরীক্ষা করুন।

iptables -I INPUT -p tcp ! -s yourIPaddress --dport 22 -j DROP

3
সংক্ষিপ্ত উত্তরের জন্য আপনাকে ধন্যবাদ। আমি কয়েকটি আইপি এবং আইপি রেঞ্জের অনুমতি দিতে চাইলে কীভাবে এই পরিবর্তন হবে। এর জায়গায় yourIPaddressআমি কয়েকটি আইপি ঠিকানা এবং ব্যাপ্তি যুক্ত করতে পারি? এবং যদি আমি 2888 এর মতো একটি অ-মানক পোর্টে এসএসএইচ ব্যবহার করি, তবে কমান্ডটি 22আপনার উদাহরণটিতে পরিবর্তন করবে 2288? এছাড়াও, এটি অনুমোদিত আইটেমগুলি বাদ দিয়ে সমস্ত আইপি থেকে এই সার্ভারে আরএসসিএন, এসএফটিপি ইত্যাদি ব্লক করবে?
PKHunter

1
নোটটি -p tcpএখানে গুরুত্বপূর্ণ কারণ --dportএটি ছাড়া কাজ করে না। আমি এর -j REJECTপরিবর্তে ব্যবহারের পরামর্শ দেব DROPকারণ REJECTবন্দরটি বন্ধ বন্দরের সাথে DROPসাদৃশ্যযুক্ত করে এবং প্যাকেটগুলি কালো বন্দরে বন্দী করে রাখে । অনুশীলনে, রিমোট আক্রমণকারী DROPপ্রকৃত বন্ধ বন্দরগুলি থেকে কনফিগার করা পোর্টগুলি সনাক্ত করতে পারে ।
মিক্কো রেন্টালাইনেন

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