আমি কীভাবে উবুন্টুতে তিনটি বন্দর ছাড়া সবগুলি ব্লক করতে পারি?


22

1962, 999, 12020 বাদে আমি কীভাবে সমস্ত বন্দর ব্লক করতে পারি?

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

আমার iptables:

# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*mangle
:PREROUTING ACCEPT [643521:136954367]
:INPUT ACCEPT [643521:136954367]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
:POSTROUTING ACCEPT [645723:99904505]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*filter
:INPUT ACCEPT [643490:136950781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
-A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT 
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*nat
:PREROUTING ACCEPT [5673:734891]
:POSTROUTING ACCEPT [2816:179474]
:OUTPUT ACCEPT [2816:179474]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012

দুঃখিত, তবে আমি যখন আসছি তখন আমি সত্যই নবাগত এবং আমি আমার সার্ভারটিকে আরও সুরক্ষিত করতে চাই।


ইউএফডাব্লু কেন ব্যবহার করবেন না?
সোভিয়েরো

উত্তর:


25

ইতোমধ্যে সংজ্ঞায়িত কি কি তা নিশ্চিত হওয়ার জন্য প্রথমে আপনার সর্বদা ফ্লাশ করা উচিত ... কিছুই নয়

iptables -F

তারপরে যদি শেষ হয় এবং কোনও নিয়ম মেলে না তবে INPUT চেইনের ডিফল্ট নীতিটি DROP এ সেট করুন:

iptables -P INPUT DROP

লুপব্যাক ক্ষতিগ্রস্থ না হয়েছে তা নিশ্চিত করার জন্য আপনার যুক্ত করা উচিত

iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

লো-ইফ-তে সমস্ত ট্র্যাফিকের অনুমতি দেওয়ার জন্য এবং আপনার নির্মিত সংযোগগুলির জন্য প্রতিটি অযোগ্য ট্র্যাফিক। এর পরে আপনার পরিষেবাদির জন্য আপনার প্রয়োজনীয় প্রতিটি বিধি যুক্ত করুন (আপনার প্রয়োজন হলে এসএসএস খুলতে ভুলবেন না! অন্যথায় আপনি বাইরে চলে যান) :

iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT 

আমি নিজের এবং অন্যকে দুর্ঘটনাক্রমে সুরক্ষা গর্ত থেকে সুরক্ষিতভাবে অবশেষে যোগ করা সুরক্ষার জন্য রাখার জন্য আমি একটি ছোট কৌশল করি:

iptables -A INPUT -j DROP

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

আপনার প্রশ্নের জন্য পুরো জিনিসটি সারাংশের মতো দেখায়:

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT 
iptables -A INPUT -j DROP

1
কেবল পরিষ্কার করতে: -Pনীতিটি চেইনে সেট করে। এটি আসলে কোনও বিধি যুক্ত করছে না। শৃঙ্খলার নীতিটি শৃঙ্খলাটির সমাপ্তি শেষ হলে প্যাকেটে কার্য সম্পাদন করার নির্দেশ দেয়। যার কারণে, নীতি নির্ধারণের আগে আপনার বিধিগুলি যুক্ত করা স্মার্ট DROP
বেলমিন ফার্নান্দেজ

আমি যদি এটি সঠিকভাবে মনে রাখি তবে সাধারণত নীতিটি কোথায় সেট করা যায় তা বিবেচ্য নয়… সম্ভবত আমার উত্তরটি আমার একটু সম্পাদনা করা উচিত।
মোস

3
একটি নোট: ssh এর মাধ্যমে ফায়ারওয়াল সেট আপ করার সময় খুব সাবধানে ডিফল্ট নীতি অস্বীকার করা এবং ফ্লাশিং করা উচিত। আপনি নিজেকে লক আউট করব। হ্যাঁ, আমি এটি করেছি। :-) এখন আমি সাধারণত তার iptables -A INPUT -j DROPপরিবর্তে শেষ নিয়মটি তৈরি করি that
সাইরেক্স

আমি আমার ssh সতর্কতাটি কিছুটা হাইলাইট করেছি ;-)
মোস

@ মোজেস: এটি সাধারণভাবে বিবেচনা না করে সঠিক করুন। আমি তা তুলে ধরার চেষ্টা করছিলাম। ইতিমধ্যে এটি উল্লেখ করা হয়েছে বলে এটি আপনাকে লক আউট করতে পারে।
বেলমিন ফার্নান্দেজ

20

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

  • ufw ইনস্টল করুন:

    sudo apt-get install ufw
    
  • এটি অবিলম্বে অক্ষম করুন (আমাকে উদ্ধার-বুট করতে হয়েছিল কারণ আমি আমার নিজের এসএসএইচ লগইন থেকে লক আউট ছিল):

    sudo ufw disable
    
  • ডিফল্ট নিয়ম হিসাবে "অস্বীকার করুন" সেট করুন (এটি সমস্ত পোর্টকে অবরুদ্ধ করে):

    sudo ufw default deny
    
  • আপনার প্রয়োজন বন্দরগুলি অনুমতি দিন:

    sudo ufw allow to 1962
    sudo ufw allow to 999
    sudo ufw allow to 12020
    
    sudo ufw allow from 1962
    sudo ufw allow from 999
    sudo ufw allow from 12020
    
  • যদি আপনি নিশ্চিত হন যে উপরের নিয়মগুলি আপনার এসএসএস সংযোগটি না ভঙ্গ করে তবে ইউএফডাব্লু সক্ষম করুন:

    sudo ufw enable
    

দস্তাবেজগুলি ভাল লেখা এবং আরও উদাহরণ সরবরাহ করে: https://help.ubuntu.com/commune/UFW


1
ফায়ারওয়াল কনফিগারেশনগুলির সাথে কাজ করার সময়, ক্রোন জব তৈরি করা ভাল ধারণা হতে পারে যা ফায়ারওয়ালটিকে আবার অক্ষম করে। কেবলমাত্র যদি আপনি লক আউট হন।
পিমকিন

নোট করুন যে এটি ufw 0.35 এর সাথে কাজ করে না, যেমন ত্রুটি ছুঁড়ে ফেলেছে ERROR: Bad destination addressএবংERROR: Bad source address
ডেভ

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