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


13

যদি আমি OUTPUT চেইন ( iptables -P OUTPUT ACCEPT) মেলটিতে সমস্ত ট্র্যাফিকের অনুমতি দেওয়ার জন্য চয়ন করি তবে তা জরিমানা প্রেরণ করে। এই নিয়মগুলি সহ আমি আমার সার্ভারটি লকডাম করার সাথে সাথেই বহির্গামী মেল কাজ করা বন্ধ করে দেয়। অন্য সব যদিও কাজ করে, যা অদ্ভুত।

কেউ কি এখানে এমন কিছু দেখতে পাচ্ছে যা আমার বিদায়ী মেলটি প্রেরণ থেকে বিরত রাখবে? আমি স্ট্যাম্পড, এই নিয়মগুলি বারবার দেখেছি এবং প্রচুর বিভিন্ন সংস্করণ চেষ্টা করেছি tried

 iptables -F
 iptables -P INPUT DROP
 iptables -P FORWARD DROP
 iptables -P OUTPUT DROP


 iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 iptables -A INPUT  -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

 iptables -A INPUT  -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

 iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

 iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
 iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT

 iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT

 iptables -A OUTPUT  -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 iptables -A OUTPUT  -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A INPUT  -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

 iptables -A INPUT -i lo -j ACCEPT
 iptables -A OUTPUT -o lo -j ACCEPT

 iptables -A OUTPUT -p udp  --dport 53 -j ACCEPT
 iptables -A INPUT -p udp  --sport 53 -j ACCEPT

 iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
 iptables -A INPUT -p tcp --dport 443 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT


 iptables -N LOGGING
 iptables -A INPUT -j LOGGING
 iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
 iptables -A LOGGING -j DROP

উত্তর:


18

আপনার কাছে ট্র্যাফিক ছেড়ে দেওয়ার নিয়ম রয়েছে, তবে ফেরত ট্র্যাফিক প্রবেশের অনুমতি দেওয়ার কোনও নিয়ম আপনার নেই।

আমি অনুমান করছি যে -A INPUTপরিবর্তে এই 2 টি নিয়ম আপনার হওয়া উচিত :

iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 587 -j ACCEPT

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

আরও অনেক ভাল ধারণা হ'ল সমস্ত -A INPUT ... --sportবিধি মুছে ফেলা এবং পরিবর্তে কেবল এই একক নিয়মটি ব্যবহার করুন:

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

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

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


জবাবের জন্য ধন্যবাদ. আমার মনে হয় আমি ট্র্যাফিকটি আর ফিরে আসতে চাই না কারণ আমি কেবল একটি বহির্গামী এসএমটিপি সংযোগ করছি? ভাবছিলাম যদি আমি ইনপুট চেইনে নিয়মটি যুক্ত করি তবে আমি এসএমটিপিটিকে আবার অনুমতি দেব। এটি এমন একটি ওয়েব সার্ভার যা কেবলমাত্র মেইল ​​প্রেরণের জন্য একটি বাহ্যিক এসএমটিপি হোস্টের সাথে সংযুক্ত হওয়া প্রয়োজন .... থেক্স!
916 নেটওয়ার্ক

আপনি যদি ফিরতি ট্র্যাফিকটিকে আবার ফিরে না যেতে দেন, তবে কীভাবে আপনার সিস্টেমটি টিসিপি এবং এসএমটিপি প্রোটোকলগুলি ব্যবহার করে সমস্ত "হ্যাঁ আমি আপনার ডেটা পেয়েছি" বার্তা গ্রহণ করবে?
প্যাট্রিক

এটা বোধগম্য. আমি কেবল আপনার নিয়ম যুক্ত করেছি এবং এটি পুরোপুরি কার্যকর হয়েছে। আমি উত্তর প্রশংসা করি! আমি ভোট দেওয়ার চেষ্টা করেছি কিন্তু বলেছি আমার যথেষ্ট খ্যাতি নেই (ইউনিক্স স্ট্যাক এক্সচেঞ্জে নতুন)
916 নেটওয়ার্ক

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