Iptables সহ 80,443 ব্যতীত সমস্ত পোর্টকে কীভাবে ব্লক করবেন? [প্রতিলিপি]


15

সমস্ত পোর্টকে (ভিতরে এবং বাইরে) ব্লক করা সহজ তবে "ব্যতীত" শব্দটি সহ এটি শক্ত। শর্তটি সন্তুষ্ট করে এমন কোনও বিধি আমি জানি না।

পিএস: আমি জানি এই প্রশ্নটি নতুন কিছু নয়। কিন্তু বাস্তবে, আমি কোনও সাহায্য পাইনি। সুতরাং, আমাকে সাহায্য করুন!


আপনি কি সমস্ত পোর্ট বন্ধ করতে এবং তারপরে পরের লাইনে একটি একক পোর্ট খুলতে পারবেন না?
sinni800

আমি এটি করি: iptables -P INPUT DropP Ittables -P আউটপুট ড্রপ iptables -P ফরওয়ার্ড ড্রপ iptables -I ইনপুট -p tcp --dport 80 -j এসিসিপিটি ------ এটি কার্যকর নয়!
user71169

উত্তর:


25

প্রথম! প্রতীক নয়।

iptables -A INPUT -p tcp -m tcp -m multiport ! --dports 80,443 -j DROP

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

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

iptables -A INPUT -p tcp -m tcp -m multiport --dports 80,443 -j ACCEPT
<insert further allowed list here>
iptables -A INPUT -m conntrack -j ACCEPT  --ctstate RELATED,ESTABLISHED
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j DROP

2
বাশ শেল ব্যবহার করা হলে কী !এভাবে পালানো উচিত নয় \!?
ক্রিশ্চিয়ান সিউপিতু

@ ক্রিশ্চিয়ানসিপিতু না এটি পালানোর দরকার নেই। আপনার কিছু অদ্ভুত হতে পারে তবে আমার বাশিতে আমার এড়াতে হবে না।
সাইবারনার্ড

সংযোগে প্যাকেজগুলি দেখতে আমি "iptables -nvL" এর আউটপুট পরীক্ষা করেছি। এটা আপনার নিয়ম কাজ করে বলে মনে হচ্ছে। তবে আমি যাচাই করতে পারি না যে এই পোর্টগুলি ব্যবহার করে এমন কিছু অ্যাপ্লিকেশন ব্যতীত এটি সত্যিই কাজ করছে বা না। কোনও অ্যাপ বন্দর ব্যবহারের অর্থ এই নয় যে এটি কেবল সেই বন্দরটি ব্যবহার করে। সুতরাং, কোন পরীক্ষা করার পরামর্শ?
user71169

1
@ সাইবারনার্ড, হ্যাঁ, আপনি ঠিক বলেছেন। সমভূমিটিকে পালানোর !দরকার নেই। মিথ্যা অ্যালার্ম সম্পর্কে দুঃখিত।
ক্রিশ্চিয়ান সিউপিতু

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

5
# Set the default policy of the INPUT chain to DROP
iptables -P INPUT DROP

# Accept incomming TCP connections from eth0 on port 80 and 443
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

এটি আপনার যা প্রয়োজন তা আপনাকে দেওয়া উচিত


4
মনে রাখবেন আপনি এসএসএইচের মাধ্যমে সংযুক্ত থাকলে আপনার টিসিপি পোর্ট 22 খোলা উচিত
ম্যাক্সিমিলিয়ান অ্যাস্ট

হ্যাঁ আপনার এসএসএইচ বন্দরের কথা ভুলে যাবেন না, আপনি ডিফল্ট নীতিটি ড্রপ করার আগে সম্ভবত আপনার এসএসএইচ পোর্ট যুক্ত করা উচিত। ;)
জেমস লিটল

3

আপনি নিজের ডিফল্ট ক্রিয়াটি DROP এ সেট করতে পারেন এবং তারপরে 80 এবং 443 এর অনুমতি দেওয়ার জন্য ব্যতিক্রম বিধি তৈরি করতে পারেন:

# Setting default policies:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Exceptions to default policy
iptables -A INPUT -p tcp --dport 80 -j ACCEPT       # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT      # HTTPS

এটি কোনও ম্যাচ না পাওয়া পর্যন্ত iptables 'ব্যতিক্রমগুলির' তালিকায় যাবে। এরপরে এটি -jপ্যারামিটার দ্বারা সুনির্দিষ্ট ক্রিয়া সম্পাদন করবে (এই ক্ষেত্রে এসিসিপিটি)। যদি এটি কোনও মিল খুঁজে না পায়, এটি ডিফল্ট নীতিতে ফিরে যাবে এবং প্যাকেটটি ফেলে দেবে।

মনে রাখবেন যে এই কাজের সাথে কোনও উপ-ডোমেন লক আউট হবে। উদাহরণস্বরূপ এই পদ্ধতির সাহায্যে আপনি এটি www.mydomain.com এ ঠিকঠাক কাজ করবেন তবে আপনার সাবডোমেন বলুন যে www.sub.mydomain.com DNS ত্রুটির জন্য খুলবে না।


এটি কাজ করা উচিত কিন্তু এটি না। আমি খুব বিভ্রান্ত।
user71169

কি কাজ করে না? এটি কি সমস্ত আগত প্যাকেটগুলিকে অনুমতি দেয়, না কোনওটি? আপনি কি আউটপুট দিয়ে আপনার প্রশ্ন আপডেট করতে পারেন iptables -nvL?
এমটাক

কেন ডাউন ভোট? আমার প্রযোজনায় এটি চলছে তাই আমি 100% নিশ্চিত এটি কাজ করে।
এমটাক

দুঃখিত! এটি আমি নই, কেউ তা করেছে :)) হ্যাঁ, আপনি নিশ্চিত যে আমিই কিন্তু এটি কাজ করে না। এজন্যই আমাকে প্রশ্ন করতে হবে।
user71169

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