Windows Firewall ও ব্যবসায়িক অ্যাপ — ইনবাউন্ড নিয়ম ইনস্টলার থেকে রেজিস্টার করুন
· Go Komura · Windows, ফায়ারওয়াল, নেটওয়ার্ক, নিরাপত্তা, ব্যবসায়িক অ্যাপ, ইনস্টলার, PowerShell, তথ্য ব্যবস্থা
«ডেভ মেশিনে সমস্যা নেই, গ্রাহকের কাছে বসালে ক্লায়েন্ট থেকে সার্ভারে পৌঁছায় না», «প্রথম চালুতে কোনো সতর্কতা উঠে মাঠের লোক বাতিল করেছে মনে হয়», «netstat-এ পোর্ট অপেক্ষা করছে, পাশের PC থেকে পৌঁছায় না» — ব্যবসায়িক অ্যাপ বসানোর মাঠে এই ধরনের «যোগাযোগ হয় না» জিজ্ঞাসা নিয়মিতদের নিয়মিত। আর কারণের উপরে বসে থাকে Windows Firewall (Windows Defender Firewall)।
ঝামেলা, ডেভ মেশিনে সমস্যা দেখা যায় না। ডেভ মেশিনে Visual Studio ডিবাগ চালুতে নিজে অনুমতি চাপেন, অথবা নিজেই প্রশাসক, তাই ডিফল্ট ইনবাউন্ড ব্লক না দেখেই পাঠিয়ে দেন। অন্যদিকে গ্রাহকের কাছে চালায় প্রশাসক অধিকার নেই এমন সাধারণ ব্যবহারকারী, নেটওয়ার্ক GPO-তে পরিচালিত। «চলার কথা যা চলে না» নয়, «ডেভ মেশিন কাকতালীয় চলছিল» আসল চেহারা।
এই নিবন্ধ নিজস্ব অ্যাপে «গ্রাহকের কাছে যোগাযোগ হয় না»-এর মুখোমুখি ব্যবসায়িক-অ্যাপ ডেভেলপার এবং সেই জিজ্ঞাসা পাওয়া ছোট ও মাঝারি ব্যবসার তথ্য-ব্যবস্থা কর্মীদের জন্য। Windows Firewall-এর ডিফল্ট আচরণ ও প্রোফাইলের ব্যবস্থা ন্যূনতম ধরে, ইনবাউন্ড নিয়মের নকশা, ইনস্টলারে রেজিস্টারের বাস্তবতা, ছাঁটাইয়ের ধাপ, GPO/Intune ব্যবস্থাপনার নিচে সতর্কতা আগস্ট ২০২৬-এর প্রাথমিক সূত্রে সাজায়।
1. আগে উপসংহার
- Windows Firewall-এর ডিফল্ট «ইনবাউন্ড ব্লক, আউটবাউন্ড অনুমতি»। অনুরোধের জবাব নয় এমন ইনবাউন্ড ট্র্যাফিক নিয়মের সাথে না মিললে বাতিল হয়।1
- ইনবাউন্ড নিয়ম লাগে পোর্ট অপেক্ষা করা সার্ভার-ধরনের অ্যাপেই। নিজে সংযোগ করা ক্লায়েন্ট অ্যাপ ডিফল্টেই যোগাযোগ করতে পারে। আগে এখানে ছাঁটুন।1
- প্রোফাইল তিনটা (ডোমেইন/প্রাইভেট/পাবলিক)। ডোমেইন ডোমেইন কন্ট্রোলার ধরলে স্বয়ংক্রিয় প্রয়োগ, পাবলিক অচিহ্নিত নেটওয়ার্কের ডিফল্ট। নিয়ম প্রোফাইল এককে চালু·নিষ্ক্রিয় স্থির হয়।1
- সেই «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগে প্রোডাকশন ছাড়বেন না। প্রশাসক বাতিল করলে ব্লক নিয়ম তৈরি হয়, প্রশাসক অধিকার নেই এমন ব্যবহারকারীতে যে বাটনই চাপুন না কেন ব্লক নিয়ম তৈরি হয়। তৈরি নিয়ম না মুছা পর্যন্ত ডায়ালগ আর দেখা যায় না।2
- উপসংহার «ব্যবসায়িক অ্যাপের ইনবাউন্ড নিয়ম ইনস্টলারে রেজিস্টার করুন»। Microsoft নিজেই প্রথম চালুর আগে নিয়ম বসিয়ে ইনবাউন্ড নোটিফিকেশন নিষ্ক্রিয় করার সুপারিশ করে।2
- নিয়ম ন্যূনতম অধিকারে নকশা করুন। প্রোগ্রাম+প্রোটোকল+পোর্টকে কেন্দ্র করে প্রোফাইল ডোমেইন/প্রাইভেটে সীমিত করে রিমোট IP দরকারি সাবনেটে বাঁধুন। প্রোগ্রাম পাথে ওয়াইল্ডকার্ড চলে না।23
- ছাঁটাই Test-NetConnection → Get-NetFirewallRule → pfirewall.log ক্রম। ফায়ারওয়াল লগ ডিফল্টে লেখা হয় না, বাতিল প্যাকেটের রেকর্ড চালু করলেই বের হয়।456
- সার্ভিস থামিয়ে পুরো নিষ্ক্রিয়করণ সাপোর্টের বাইরে। GPO/Intune ব্যবস্থাপনার নিচে «স্থানীয় নিয়মের মার্জ» নিষ্ক্রিয় থাকতে পারে, তখন স্থানীয় নিয়ম কাজ করে না। নিয়মের কেন্দ্রীয় বিতরণ তথ্য-ব্যবস্থার কাছে আবেদন করুন।12
এই নিবন্ধের জ্ঞান মানচিত্র
Windows ফায়ারওয়ালের ডিফল্ট ইনবাউন্ড ব্লক · আউটবাউন্ড অনুমতি, ইনবাউন্ড নিয়ম লাগে পোর্ট অপেক্ষা করা সার্ভার-ধরনের ব্যবসায়িক অ্যাপেই। নিয়মহীন অ্যাপ অপেক্ষা করলে «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ ওঠে, কিন্তু কাজ অনুযায়ী ব্লক নিয়ম পুড়ে যোগাযোগ হয় না বিঘ্নের কারণ হয়, তাই ইনবাউন্ড নিয়ম ইনস্টলারে রেজিস্টার করাই নীতি। GPO/Intune ব্যবস্থাপনার নিচে স্থানীয় নিয়মের মার্জ নিষ্ক্রিয় হয়ে স্থানীয়ভাবে রেজিস্টার করা নিয়ম প্রয়োগ নাও হতে পারে।
flowchart LR
accTitle: Windows ফায়ারওয়াল ও ব্যবসায়িক অ্যাপের জ্ঞান মানচিত্র
accDescr: Windows ফায়ারওয়াল, ইনবাউন্ড নিয়ম, অপেক্ষা-ধরনের অ্যাপ, «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ, ইনস্টলার ও প্রশাসক অধিকার, নিয়ম সঙ্কুচিতকরণ (প্রোগ্রাম নির্দেশ · রিমোট IP সীমা), স্থানীয় নিয়মের মার্জ, যোগাযোগ হয় না বিঘ্ন ও ছাঁটাই কমান্ডের সম্পর্ক দেখানো চিত্র
windows_firewall["Windows ফায়ারওয়াল"]
inbound_rule["ইনবাউন্ড নিয়ম"]
listen_app["অপেক্ষা-ধরনের ব্যবসায়িক অ্যাপ"]
installer["ইনস্টলার"]
network_profile["নেটওয়ার্ক প্রোফাইল"]
communication_failure["«যোগাযোগ হয় না» বিঘ্ন"]
firewall_notification["«গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ"]
exe_path_change["এক্সিকিউটেবল পাথ বদল"]
pfirewall_log["ফায়ারওয়াল লগ (pfirewall.log)"]
group_policy["গ্রুপ পলিসি"]
intune["Microsoft Intune"]
local_policy_merge["স্থানীয় নিয়মের মার্জ"]
mpssvc["ফায়ারওয়াল সার্ভিস (MpsSvc)"]
port_rule["পোর্ট নির্দেশের নিয়ম"]
over_permission["নিয়মের অতিরিক্ত অনুমতি"]
test_netconnection["Test-NetConnection"]
get_netfirewallrule["Get-NetFirewallRule"]
unsolicited_inbound["অনুরোধহীন ইনবাউন্ড যোগাযোগ"]
netsh_advfirewall["netsh advfirewall"]
new_netfirewallrule["New-NetFirewallRule"]
admin_rights["প্রশাসক অধিকার"]
remote_ip_scope["রিমোট IP সীমা"]
program_rule["প্রোগ্রাম নির্দেশের নিয়ম"]
mpssvc_stop["MpsSvc সার্ভিস থামানো"]
firewall_disable["ফায়ারওয়াল নিষ্ক্রিয়করণ"]
named_pipe["নেমড পাইপ"]
smb_445["SMB (TCP 445)"]
get_netconnectionprofile["Get-NetConnectionProfile"]
block_rule["ব্লক নিয়ম"]
notify_disable["ইনবাউন্ড নোটিফিকেশন নিষ্ক্রিয়করণ"]
service_rule["সার্ভিস নির্দেশের নিয়ম"]
profile_limit["প্রোফাইল সীমা"]
updater_reregistration["হালনাগাদে নিয়ম আবার রেজিস্টার"]
netstat["netstat"]
listen_app -->|"পূর্বশর্ত"| inbound_rule
installer -->|"প্রস্তাবিত সমাধান"| inbound_rule
network_profile -.->|"কারণ হতে পারে"| communication_failure
firewall_notification -.->|"কারণ হতে পারে"| communication_failure
exe_path_change -.->|"কারণ হতে পারে"| communication_failure
communication_failure -->|"দিয়ে যাচাই"| pfirewall_log
windows_firewall -->|"দিয়ে কনফিগার"| group_policy
windows_firewall -->|"দিয়ে কনফিগার"| intune
inbound_rule -.->|"পূর্বশর্ত"| local_policy_merge
mpssvc -->|"বাস্তবায়ন করে"| windows_firewall
windows_firewall -->|"ব্যবহার করে"| network_profile
port_rule -.->|"কারণ হতে পারে"| over_permission
exe_path_change -.->|"কারণ হতে পারে"| firewall_notification
firewall_notification -->|"দিয়ে কনফিগার"| group_policy
communication_failure -->|"দিয়ে যাচাই"| test_netconnection
communication_failure -->|"দিয়ে যাচাই"| get_netfirewallrule
windows_firewall -->|"প্রতিরোধ করে"| unsolicited_inbound
inbound_rule -->|"দিয়ে কনফিগার"| netsh_advfirewall
inbound_rule -->|"দিয়ে কনফিগার"| new_netfirewallrule
inbound_rule -->|"পূর্বশর্ত"| admin_rights
remote_ip_scope -->|"কমায়"| over_permission
program_rule -->|"কমায়"| over_permission
firewall_notification -->|"ব্যবহার নিরুৎসাহিত"| inbound_rule
mpssvc_stop -->|"ব্যবহার নিরুৎসাহিত"| firewall_disable
remote_ip_scope -->|"প্রস্তাবিত সমাধান"| over_permission
program_rule -->|"প্রস্তাবিত সমাধান"| over_permission
named_pipe -->|"ব্যবহার করে"| smb_445
network_profile -->|"দিয়ে যাচাই"| get_netconnectionprofile
firewall_notification -.->|"কারণ হতে পারে"| block_rule
block_rule -->|"কারণ হতে পারে"| communication_failure
notify_disable -->|"প্রতিরোধ করে"| firewall_notification
service_rule -->|"কমায়"| over_permission
profile_limit -->|"কমায়"| over_permission
updater_reregistration -->|"প্রস্তাবিত সমাধান"| exe_path_change
communication_failure -->|"দিয়ে যাচাই"| netstat
চিত্রে, টানা রেখা সবসময় সত্য এমন সম্পর্ককে এবং ভাঙা রেখা শর্তসাপেক্ষ সম্পর্ককে নির্দেশ করে (শর্তগুলো বিস্তারিত পাতায় প্রতিটি সম্পর্কের ব্যাখ্যায় আছে)। সম্পর্কের সম্পূর্ণ তালিকা (মোট 35, প্রমাণ ও নিশ্চয়তার মাত্রাসহ) এবং প্রধান ধারণাগুলোর সংজ্ঞা জ্ঞান মানচিত্রের বিস্তারিত পাতায় সংগ্রহ করা আছে (জাপানি ভাষায়)। তথ্য: JSON-LD / Turtle
2. ডিফল্ট আচরণ সঠিক করে — ইনবাউন্ড ডিফল্ট ব্লক, আউটবাউন্ড ডিফল্ট অনুমতি
আগে ভিত্তি সঠিক করে ধরুন। Windows Firewall সব সংস্করণে ডিফল্টে চালু হোস্ট-ধরনের ফায়ারওয়াল, ডিফল্ট আচরণ এই দুই লাইনে শেষ।1
- ইনবাউন্ড (inbound): অনুরোধের জবাব (solicited) অথবা নিয়মের সাথে না মিললে সব ব্লক
- আউটবাউন্ড (outbound): নিয়মের সাথে না মিললে সব অনুমতি
এই দুই লাইন থেকে ব্যবসায়িক অ্যাপের সবচেয়ে জরুরি ছাঁটাই বের হয়। ইনবাউন্ড নিয়ম লাগে শুধু «অপেক্ষা করা পাশে»।
- অফিসের ওয়েব সার্ভার·DB সার্ভার·মূল সিস্টেমে নিজে সংযোগ করা ক্লায়েন্ট অ্যাপ → নীতিগতভাবে নিয়ম লাগে না। সংযোগের ফেরত প্যাকেট «অনুরোধের জবাব» তাই ডিফল্টে যায়।
- TCP বা gRPC, নিজস্ব প্রোটোকল ইত্যাদিতে পোর্ট খুলে সংযোগ অপেক্ষা করা সার্ভার-ধরনের অ্যাপ·Windows সার্ভিস → ইনবাউন্ড নিয়ম আবশ্যক।
- আর নেমড পাইপ রিমোট থেকে ব্যবহারের কনফিগ ব্যতিক্রম। রিমোট নেমড পাইপ অ্যাপ নিজের পোর্ট নয় SMB (TCP 445) দিয়ে যায়, তাই লাগে অ্যাপের নিয়ম নয় ফাইল শেয়ার (SMB) পাশের নিয়ম।
- ব্যতিক্রম, আউটবাউন্ড ডিফল্ট স্পষ্ট করে ব্লকে বদলানো উচ্চ নিরাপত্তা পরিবেশ। এই কনফিগ কিছু সংস্থায়ই আছে, তখন ক্লায়েন্ট অ্যাপেও আউটবাউন্ড নিয়মের আবেদন লাগে।2
flowchart TB
accTitle: ইনবাউন্ড নিয়ম লাগে শুধু অপেক্ষা করা পাশে
accDescr: শুধু ক্লায়েন্ট হিসেবে সংযোগ করলে ইনবাউন্ড নিয়ম নীতিগতভাবে লাগে না, পোর্ট খুলে সংযোগ অপেক্ষা করলে ইনস্টলারে ইনবাউন্ড নিয়ম রেজিস্টার করুন
APP["নিজস্ব অ্যাপের যোগাযোগ ছেঁকে তুলুন"] --> Q{"পোর্ট খুলে<br/>সংযোগ অপেক্ষা করে কি"}
Q -- "অপেক্ষা করে না<br/>(শুধু ক্লায়েন্ট হিসেবে সংযোগ)" --> C1["ইনবাউন্ড নিয়ম নীতিগতভাবে লাগে না<br/>সংযোগের ফেরত «জবাব» হিসেবে যায়"]
Q -- "অপেক্ষা করে<br/>(সার্ভার-ধরন·কলব্যাক গ্রহণ)" --> S1["ইনবাউন্ড নিয়ম আবশ্যক<br/>→ ইনস্টলারে রেজিস্টার (৫ অধ্যায়)"]
C1 -.-> EX["ব্যতিক্রম: আউটবাউন্ড ডিফল্ট ব্লকের<br/>উচ্চ নিরাপত্তা পরিবেশে আউটবাউন্ড নিয়মের আবেদন"]
চিত্র 1: পোর্ট অপেক্ষা করলে ইনবাউন্ড নিয়ম আবশ্যক; শুধু ক্লায়েন্ট হিসেবে সংযোগ নীতিগতভাবে নিয়ম চায় না।
«ক্লায়েন্ট হওয়ার কথা অ্যাপ আসলে অপেক্ষাও করে» কেস (ফলের কলব্যাক গ্রহণ, অন্য প্রক্রিয়া থেকে নোটিফিকেশন গ্রহণমুখ ইত্যাদি) সহজে চোখ এড়ায়। নিজস্ব অ্যাপ কোন যোগাযোগ ধরনে অপেক্ষা করে অস্পষ্ট হলে নকশা পর্যায়ের সাজানো হিসেবে «প্রক্রিয়া-আন্তঃ যোগাযোগ কীভাবে বাছবেন»ও একসাথে দেখুন।
2.1. প্রোফাইল ও «নেটওয়ার্কের জায়গা»
নিয়ম নেটওয়ার্ক প্রোফাইল এককে প্রয়োগ হয়। প্রোফাইল তিনটা।1
| প্রোফাইল | প্রয়োগের শর্ত | ভাবা জায়গা |
|---|---|---|
| ডোমেইন | AD ডোমেইন-joined PC ডোমেইন কন্ট্রোলার ধরলে স্বয়ংক্রিয় প্রয়োগ। হাতে সেট করা যায় না | অফিসের ডোমেইন নেটওয়ার্ক |
| প্রাইভেট | প্রশাসক নেটওয়ার্ক ইন্টারফেসে হাতে সেট করেন | বাড়ি·ছোট অফিসের LAN |
| পাবলিক | অচিহ্নিত নেটওয়ার্কের ডিফল্ট। সবচেয়ে কঠোর পূর্বশর্তে নকশা | পাবলিক Wi-Fi, হোটেল, বিমানবন্দর |
এখন কোন প্রোফাইল প্রয়োগ Get-NetConnectionProfile দিয়ে দেখা যায়, প্রাইভেট/পাবলিক স্যুইচ Set-NetConnectionProfile দিয়ে।1 মাঠে নিয়মিত দুর্ঘটনা, গ্রাহকের workgroup পরিবেশে নেটওয়ার্ক «পাবলিক» ধরা হয়, ডোমেইন/প্রাইভেট সীমিত ইনবাউন্ড নিয়ম প্রয়োগ হয় না। «নিয়ম আছে তবু যায় না» হলে নিয়মের ভিতরের আগে প্রোফাইল মিল সন্দেহ করুন।
2.2. নিয়মের অগ্রাধিকার
একাধিক নিয়ম থাকলে মূল্যায়ন ওজনের ক্রম তালিকা নয়, নিচের ধারাবাহিক নীতিতে স্থির।2
- স্পষ্ট অনুমতি নিয়ম ডিফল্ট ব্লকের উপরে জেতে
- স্পষ্ট ব্লক নিয়ম সংঘর্ষে অনুমতি নিয়মের উপরে জেতে
- উপরের ২-এর বিরুদ্ধে না গিয়ে আরও নির্দিষ্ট নিয়ম জেতে
কাজের অর্থ «কোথাও ব্লক নিয়ম একটা থাকলে পরে যত অনুমতি নিয়ম যোগ করুন না কেন জেতে না»। পরের অধ্যায়ে দেখবেন, ঠিক এই ব্লক নিয়ম সেই ডায়ালগ চুপচাপ তৈরি করে।
3. «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগের আসল চেহারা — ছাড়বেন না কেন
অ্যাপ প্রথমবার পোর্ট অপেক্ষা (listen) শুরু করলে, সেই অ্যাপের অনুমতি নিয়মও প্রশাসক-সংজ্ঞায়িত নিয়মও না থাকলে Windows «এই অ্যাপের কিছু ফিচার Windows Defender Firewall-এ ব্লক» বলে পরিচিত «Windows নিরাপত্তার গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ দেখায়। আচরণের স্পেসিফিকেশন স্পষ্ট।2
- প্রশাসক অধিকার থাকা ব্যবহারকারীকে দেখালে: «অ্যাক্সেস অনুমতি দিন»-এ অনুমতি নিয়ম তৈরি হয়। কিন্তু «বাতিল» চাপলে ব্লক নিয়ম তৈরি হয়। সাধারণত TCP ও UDP দুটো।
- প্রশাসক অধিকার নেই এমন ব্যবহারকারীকে দেখালে: যে বাছাইই করুন না কেন ব্লক নিয়ম তৈরি হয়।
- যে ক্ষেত্রেই, তৈরি নিয়ম না মুছা পর্যন্ত ডায়ালগ আর দেখা যায় না, যোগাযোগ ব্লক হতে থাকে।
flowchart TB
accTitle: «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগের শাখা
accDescr: নিয়ম না থাকলে ও ইনবাউন্ড নোটিফিকেশন চালু থাকলে ডায়ালগ ওঠে, বাতিল বা সাধারণ ব্যবহারকারীর কাজে ব্লক নিয়ম তৈরি হয়ে আর ওঠে না
L["অ্যাপ পোর্ট অপেক্ষা শুরু করে"] --> Q1{"সেই অ্যাপের সাথে মিলে<br/>নিয়ম আছে কি"}
Q1 -- "আছে" --> R1["নিয়ম মেনে চলে<br/>(ডায়ালগ ওঠে না)"]
Q1 -- "নেই" --> Q2{"ইনবাউন্ড নোটিফিকেশন<br/>চালু কি"}
Q2 -- "নিষ্ক্রিয়" --> R2["চুপচাপ ব্লক<br/>(নিয়ম তৈরি হয় না)"]
Q2 -- "চালু" --> DLG["«গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ"]
DLG -- "প্রশাসক «অ্যাক্সেস অনুমতি দিন»" --> OK["অনুমতি নিয়ম তৈরি হয়"]
DLG -- "প্রশাসক «বাতিল»" --> NG1["ব্লক নিয়ম তৈরি হয়"]
DLG -- "প্রশাসক অধিকার নেই এমন ব্যবহারকারী<br/>(যে কাজই হোক)" --> NG2["ব্লক নিয়ম তৈরি হয়"]
NG1 --> NEVER["নিয়ম না মুছা পর্যন্ত<br/>ডায়ালগ আর ওঠে না"]
NG2 --> NEVER
চিত্র 2: ডায়ালগ বাতিল বা সাধারণ ব্যবহারকারীর কাজে ব্লক নিয়ম পুড়ে যায়; না মুছলে আর ওঠে না।
অর্থাৎ এই ডায়ালগ «ব্যবহারকারীর কাছে অনুমতি চাওয়া ব্যবস্থা» দেখালেও ব্যবসায়িক অ্যাপের মাঠে «সাধারণ ব্যবহারকারী ছুঁলেই ব্লক নিয়ম পুড়িয়ে দেওয়া ব্যবস্থা» হিসেবে কাজ করে। বসানোর দায়িত্বে প্রশাসক অ্যাকাউন্টে প্রথম চালু করে ডায়ালগে অনুমতি দিলে তৈরি অনুমতি নিয়ম পুরো PC-তে কাজ করে, পরের দিন থেকে সাধারণ ব্যবহারকারীও আপাতত যোগাযোগ করতে পারে। তবু দুর্ঘটনা থাকে — বসানোর সময়ের কাজ নিশ্চিতে না পড়া অপেক্ষা সাধারণ ব্যবহারকারী প্রথম পায়ে, প্রয়োগ নেটওয়ার্ক প্রোফাইল বসানোর সময় থেকে আলাদা, আর আপডেটে exe পাথ বদলালে (৪ অধ্যায়·৫ অধ্যায়)।
Microsoft নিজেও প্রশাসক ছাড়া ব্যবহার করা ডিভাইসে নিচের বেস্ট প্র্যাকটিস স্পষ্ট করে।2
- অ্যাপের প্রথম চালুর আগে দরকারি নিয়ম বসিয়ে রাখুন (ইনস্টলার অথবা ব্যবস্থাপনা পাশে বিতরণ)
- ইনবাউন্ড নোটিফিকেশন নিষ্ক্রিয় করুন (নোটিফিকেশন কাটলে চালুকালীন স্বয়ংক্রিয় নিয়ম তৈরি নিজেই হয় না)
নোটিফিকেশন নিষ্ক্রিয় Set-NetFirewallProfile -NotifyOnListen False, অথবা গ্রুপ পলিসিতে সেট করা যায়।7 «ডায়ালগ উঠলে মাঠের লোককে অনুমতি চাপতে বলুন» পরিচালনার ধাপ নয়, দুর্ঘটনার সংরক্ষণ। ইনবাউন্ড নিয়ম ইনস্টলের সময় রেজিস্টার করুন — এটাই এই নিবন্ধের উপসংহার, Microsoft-এর সুপারিশের সাথেও মেলে।
4. ইনবাউন্ড নিয়মের নকশা — প্রোগ্রাম নির্দেশ·পোর্ট নির্দেশ·সার্ভিস নির্দেশ
রেজিস্টার করা নিয়মের ভিতর নকশা করুন। নির্দেশের উপায় মোটামুটি তিন ধারা, একা ব্যবহার করবেন না মিলাবেন সিদ্ধান্ত নিন।
| নির্দেশের উপায় | যেখানে মানায় | দুর্বলতা·সতর্কতা |
|---|---|---|
প্রোগ্রাম নির্দেশ (program= / -Program) |
অপেক্ষা পোর্ট গতিশীল·একাধিক। ডেস্কটপ অ্যাপ নিজে অপেক্ষা করে | exe-এর পূর্ণ পাথ নির্দেশই, ওয়াইল্ডকার্ড চলে না2। আপডেটে পাথ বদলালে নিয়ম লক্ষ্য হারায় (৫.৪ ধারা) |
পোর্ট নির্দেশ (localport= / -LocalPort) |
পোর্ট স্থির। তথ্য-ব্যবস্থার আবেদন·নেটওয়ার্ক যন্ত্র পাশের সেটিং-এর সাথে মেলানো সহজ | একই পোর্টে অপেক্ষা করা অন্য প্রক্রিয়াও ছেড়ে দেয়। পোর্ট নম্বরের খাতা লাগে |
সার্ভিস নির্দেশ (-Service) |
Windows সার্ভিস হিসেবে চলা অপেক্ষা প্রক্রিয়া | সার্ভিস নাম (ছোট নাম) দিয়ে লক্ষ্য বাঁধে3। exe সরাসরি চালানো রূপে চলে না |
| মিলিয়ে (প্রোগ্রাম+প্রোটোকল+পোর্ট) | প্রোডাকশন ব্যবসায়িক অ্যাপের মূল ছাঁচ | শর্ত বাড়লে পরিবেশ বদল (পাথ·পোর্ট বদল)-এ দুর্বল হয়, তাই নিয়মের বিষয় নথি করুন2 |
তার উপর পরিসরের সীমা স্তরে স্তরে। Microsoft-এর নকশা সুপারিশও «ইনবাউন্ড নিয়ম যত সম্ভব নির্দিষ্ট»।2
- প্রোফাইল সীমা: শুধু অফিসে ব্যবহার করা ব্যবসায়িক অ্যাপের ইনবাউন্ড নিয়ম ডোমেইন/প্রাইভেটে সীমিত করে পাবলিকে চালু করবেন না। নোটবুক বাইরের Wi-Fi-তে যুক্ত হওয়ার মুহূর্তে অপেক্ষা পোর্ট পৃথিবীতে খুলে যায় — সেই দুর্ঘটনা ঠেকায়।
- রিমোট IP সীমা: সংযোগের উৎস স্থির থাকলে
-RemoteAddressসেই সাবনেটে বাঁধুন। বাড়ি·ছোট নেটওয়ার্কের জন্যLocalSubnetকীওয়ার্ডে সীমা সুপারিশকৃত।23 - দিক ও সংখ্যা: অপেক্ষা শুধু TCP হলে TCP নিয়ম একটাই যথেষ্ট। ডায়ালগ স্বয়ংক্রিয় যে TCP/UDP দুই নিয়ম তৈরি করে সেটা অলসে বানাবেন না।
«দরকারি পক্ষ থেকে, দরকারি পোর্টে, দরকারি প্রোগ্রামই» — ইনবাউন্ড নিয়মের নকশা এই ন্যূনতম অধিকারের এক বাক্যে শেষ।
5. ইনস্টলারে রেজিস্টারের বাস্তবতা — netsh ও New-NetFirewallRule
5.1. পূর্বশর্ত: প্রশাসক অধিকার লাগে
ফায়ারওয়াল নিয়ম যোগ·মুছে ফেলা পুরো কম্পিউটারের সেটিং বদল, তাই প্রশাসক অধিকার (এলিভেটেড প্রক্রিয়া) দিয়ে চালাতে হয়।8 ইনস্টলার সাধারণত প্রশাসক অধিকারে চলে, তাই নিয়ম রেজিস্টার ইনস্টল প্রক্রিয়ার ভিতরে রাখা যৌক্তিক। অ্যাপ নিজে প্রশাসকে চালানোর কারণ হয় না। এই রেখার চিন্তা «প্রশাসক অধিকার কখন লাগে»-এ বিস্তারিত।
5.2. netsh advfirewall দিয়ে রেজিস্টার
পুরনো কিন্তু যেকোনো ইনস্টলার থেকে ডাকা সহজ netsh advfirewall firewall add rule।8
rem add rule একই নামের নিয়ম থাকলেও যোগ করে যায়, তাই পুনরায় ইনস্টল·মেরামত·
rem আপডেটে আবার চালানোর জন্য একই নামের নিয়ম মুছে তারপর আবার রেজিস্টার করুন
netsh advfirewall firewall delete rule name="MyCompany OrderServer"
rem প্রোগ্রাম নির্দেশ+পোর্ট নির্দেশ+প্রোফাইল সীমিত ইনবাউন্ড অনুমতি নিয়ম
netsh advfirewall firewall add rule name="MyCompany OrderServer" dir=in action=allow program="C:\Program Files\MyCompany\OrderServer\OrderServer.exe" protocol=TCP localport=50051 profile=domain enable=yes
rem আনইনস্টলে: নামে মুছুন
netsh advfirewall firewall delete rule name="MyCompany OrderServer"
add rule বিদ্যমান একই নামের নিয়ম বদলায় না একই নামে যোগ করে, তাই আগে delete rule না চালালে প্রতিবার চালানোয় নিয়ম ফুলে ওঠে, পাথ বা পরিসর বদলানো আপডেটের পরেও পুরনো অনুমতি নিয়ম বেঁচে থাকে (প্রথম চালুতে শুরুর delete rule «মিলে নিয়ম নেই» বলে, কিন্তু ব্যাচ চালিয়ে যায় তাই এই সাজানোতে সমস্যা নেই। ইনস্টলারের সফল/ব্যর্থ শেষ কোডে দেখলে শেষের add rule-এর ফল দেখুন)। remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet এর মতো সংযোগের উৎসও বাঁধা যায়।8 মুছে ফেলা নামে মিলে যাওয়া নিয়ম একসাথে সরায়, তাই নিয়মের নাম নিজস্ব প্রিফিক্সসহ অনন্য রাখা নিরাপদ।
5.3. PowerShell (New-NetFirewallRule) দিয়ে রেজিস্টার
আরও সূক্ষ্ম নিয়ন্ত্রণে NetSecurity মডিউল। -DisplayName আবশ্যক, -Profile কমা দিয়ে (স্পেস ছাড়া) একাধিক নির্দিষ্ট করা যায়।3
# রেজিস্টার (ইনস্টলার থেকে এলিভেটেড অবস্থায় চালান)। -Name অনন্য শনাক্তকারী,
# পুনরায় ইনস্টল·মেরামত·আপডেটে আবার চালালে একই নামের নিয়ম তৈরি
# ত্রুটি হয়। বিদ্যমান একই নামের নিয়ম মুছে তারপর আবার বানিয়ে আইডেমপোটেন্ট করুন
Remove-NetFirewallRule -Name "MyCompany-OrderServer-In" -ErrorAction SilentlyContinue
New-NetFirewallRule -Name "MyCompany-OrderServer-In" `
-DisplayName "MyCompany OrderServer (TCP 50051 ইনবাউন্ড)" `
-Direction Inbound -Action Allow `
-Program "C:\Program Files\MyCompany\OrderServer\OrderServer.exe" `
-Protocol TCP -LocalPort 50051 `
-Profile Domain,Private -RemoteAddress LocalSubnet
# আনইনস্টলে: না থাকলেও ত্রুটি করবেন না
Remove-NetFirewallRule -Name "MyCompany-OrderServer-In" -ErrorAction SilentlyContinue
এখানে -Name স্পষ্ট করার কারণ আছে। -Name নিয়মের অনন্য শনাক্তকারী, বাদ দিলে র্যান্ডম মান বরাদ্দ হয়। প্রদর্শন নাম (-DisplayName) লোকেল অনুযায়ী বদলাতে পারে, তাই স্ক্রিপ্ট থেকে নিয়ম চিহ্নিত করার চাবি -Name — Microsoft-এর নির্দেশ।3 আনইনস্টলার নিশ্চিত করে শুধু নিজের নিয়ম মুছতেও -Name স্থির রাখা আবশ্যক ভাবুন।
5.4. আপডেটে exe পাথ বদলালে
প্রোগ্রাম নির্দেশের নিয়ম পূর্ণ পাথে লক্ষ্য স্থির করে। অর্থাৎ আপডেটে ইনস্টলের জায়গা বা exe নাম বদলালে নিয়ম থেকে যায় কিন্তু লক্ষ্য হারায়, অপেক্ষা আবার ব্লক হয়। তখন নতুন পাথের exe «নিয়মহীন অ্যাপ» হিসেবে গণ্য, নোটিফিকেশন চালু পরিবেশে ৩ অধ্যায়ের ডায়ালগ আবার ওঠে, সাধারণ ব্যবহারকারী ছুঁলে ব্লক নিয়ম পুড়ে যায়। ৩ অধ্যায়ের সুপারিশমতো নোটিফিকেশন নিষ্ক্রিয় পরিবেশে ডায়ালগও না উঠে চুপচাপ ব্যর্থ হয়। ভার্সন নম্বর থাকা ফোল্ডারে বসানো ধরন বা নিজে হালনাগাদ করে বসানোর জায়গা নড়ে এমন ধরনে বিশেষ করে জন্মায়।
flowchart TB
accTitle: আপডেটে exe পাথ বদলালে নিয়ম লক্ষ্য হারায়
accDescr: প্রোগ্রাম নির্দেশের নিয়ম পূর্ণ পাথে স্থির তাই বসানোর জায়গা বদলালে লক্ষ্য হারায়, নোটিফিকেশন থাকলে ডায়ালগ আবার ওঠে নইলে চুপচাপ ব্লক হয়
V1["v1.0 বসান<br/>নিয়ম v1.0 ফোল্ডারের exe নির্দেশ করে"] --> UP["আপডেটে v1.1 ফোল্ডারে বসানো<br/>চালু exe-এর পাথ বদলায়"]
UP --> MISS["পুরনো পাথের নিয়ম লক্ষ্য হারায়<br/>(নিয়ম আছে তবু কাজ করে না)"]
MISS --> Q{"ইনবাউন্ড নোটিফিকেশন<br/>চালু কি"}
Q -- "চালু" --> DLG["ডায়ালগ আবার ওঠে<br/>সাধারণ ব্যবহারকারী ছুঁলে ব্লক নিয়ম"]
Q -- "নিষ্ক্রিয়" --> SILENT["ডায়ালগও না উঠে<br/>চুপচাপ ব্লক"]
MISS -.->|"প্রতিরক্ষা"| FIX["পাথ আপডেট পেরিয়ে স্থির রাখুন<br/>অথবা হালনাগাদ প্রক্রিয়ায় পুরনো নিয়ম মুছে আবার রেজিস্টার"]
চিত্র 3: আপডেটে exe পাথ বদলালে পুরনো নিয়ম লক্ষ্য হারায়; পাথ স্থির রাখুন বা আপডেটে আবার রেজিস্টার করুন।
প্রতিরক্ষা সরল, নিচের কোনো একটা।
- ইনস্টলের জায়গা স্থির রেখে exe-এর পূর্ণ পাথ আপডেট পেরিয়ে না বদলায় এমন বিন্যাস
- পাথ বদলানো আপডেটে আপডেটার পুরনো নিয়ম মুছে নতুন পাথে আবার রেজিস্টার করে (৫.২/৫.৩-এর কমান্ড হালনাগাদ প্রক্রিয়াতেও চালান)
MSI হলে নিয়ম রেজিস্টার ফাইল বসানোর পর চলা কাস্টম অ্যাকশন (আনইনস্টলে মুছে ফেলার পাশের কাস্টম অ্যাকশন) হিসেবে বসানোই রীতি। WiX ইত্যাদি টুলসেটে ফায়ারওয়াল নিয়ম ঘোষণামূলক লেখার এক্সটেনশনও আছে। কোন বিতরণ ধরন বাছলে বাস্তবায়নের জায়গা বদলায়, তাই «Windows অ্যাপ বিতরণ ধরন কীভাবে বাছবেন»ও দেখুন। আর গ্রাহকের কাছে বসানোর আরেক নিয়মিত ঝামেলা ভাইরাস প্রতিরক্ষার ভুল ধরা «Microsoft Defender-এর ভুল ধনাত্মক মোকাবিলা»-এ আছে।
6. সমস্যা নির্ণয় — «যোগাযোগ হয় না» ছাঁটাইয়ের প্রবাহ
জিজ্ঞাসা পেলে ধাপ ক্রমে স্থির রাখুন। পুরো প্রবাহ নিচের মতো।
flowchart TB
accTitle: «যোগাযোগ হয় না» ছাঁটাই
accDescr: সার্ভারের অপেক্ষা, ক্লায়েন্টের পৌঁছানো, প্রোফাইল মিল, ActiveStore-এর নিয়ম, লগের DROP ক্রমে নিশ্চিত করুন
S["«ক্লায়েন্ট থেকে যোগাযোগ হয় না»"] --> N["সার্ভার পাশে: netstat -ano"]
N -- "অপেক্ষা করছে না" --> APP["ফায়ারওয়ালের আগের সমস্যা<br/>অ্যাপ·সার্ভিস পাশে তদন্ত"]
N -- "LISTENING করছে" --> T["ক্লায়েন্ট পাশে: Test-NetConnection"]
T -- "TcpTestSucceeded=True" --> OTHER["পৌঁছানো স্বাভাবিক<br/>অ্যাপ স্তর (প্রমাণীকরণ·প্রোটোকল) তদন্ত"]
T -- "False" --> P["সার্ভার পাশে: Get-NetConnectionProfile<br/>প্রয়োগ চলাকালীন প্রোফাইল দেখুন"]
P -- "নিয়মের লক্ষ্যের সাথে অমিল" --> FIXP["নিয়মের প্রোফাইল নির্দেশ খতিয়ে দেখুন"]
P -- "মিলছে" --> R["Get-NetFirewallRule -PolicyStore ActiveStore<br/>অনুমতি নিয়ম আছে কি না·ব্লক নিয়ম মেশা আছে কি না দেখুন"]
R --> LOGCHK["pfirewall.log-এ বাতিল (DROP) মাপুন"]
চিত্র 4: netstat → Test-NetConnection → প্রোফাইল → ActiveStore-এর নিয়ম → pfirewall.log-এর যান্ত্রিক ছাঁটাই।
| ধাপ | কমান্ড/কাজ | কী দেখবেন |
|---|---|---|
| 1. অপেক্ষা নিশ্চিত (সার্ভার পাশে) | netstat -ano |
লক্ষ্য পোর্ট LISTENING কি না। আদৌ অপেক্ষা না করলে ফায়ারওয়ালের আগের সমস্যা |
| 2. পৌঁছানো নিশ্চিত (ক্লায়েন্ট পাশে) | Test-NetConnection -ComputerName sv01 -Port 50051 |
TcpTestSucceeded True কি না4 |
| 3. প্রোফাইল নিশ্চিত (সার্ভার পাশে) | Get-NetConnectionProfile |
প্রয়োগ চলাকালীন প্রোফাইল নিয়ম চালু করা প্রোফাইলের সাথে মেলে কি না1 |
| 4. কার্যকর নিয়ম নিশ্চিত (সার্ভার পাশে) | Get-NetFirewallRule -PolicyStore ActiveStore |
GPO থেকে আসাসহ «আসলে কাজ করা» নিয়মের মধ্যে লক্ষ্য অনুমতি নিয়ম আছে কি না। ডায়ালগ থেকে আসা ব্লক নিয়ম মেশেনি কি না5 |
| 5. লগে নিশ্চিত (সার্ভার পাশে) | pfirewall.log | লক্ষ্য পোর্টে প্যাকেট বাতিল (DROP) হচ্ছে কি না6 |
ধাপ ৪-এর টীকা। পোর্ট বা প্রোগ্রামের শর্ত নিয়ম নিজে নয় ফিল্টার অবজেক্ট পাশে, তাই পোর্ট থেকে নিয়ম উল্টো খুঁজতে ফিল্টার দিয়ে কুয়েরি করুন।57
# পোর্ট 50051-এর সাথে সম্পর্কিত নিয়ম উল্টো খুঁজুন
Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 50051 } | Get-NetFirewallRule
# নিয়মের উৎস (স্থানীয় না GPO) খুঁজুন
Get-NetFirewallRule -PolicyStore ActiveStore -TracePolicyStore |
Select-Object Name, DisplayName, PolicyStoreSourceType, PolicyStoreSource
ধাপ ৫-এর ফায়ারওয়াল লগ (pfirewall.log) ডিফল্টে কিছুই রেকর্ড হয় না। ডিফল্ট পাথ %windir%\system32\logfiles\firewall\pfirewall.log, ডিফল্ট সর্বোচ্চ আকার 4,096KB, «বাতিল প্যাকেট লগে রেকর্ড করুন» «সফল সংযোগ লগে রেকর্ড করুন» কোনো একটা চালু করলেই লেখা হয়।6 একক মেশিনে নিচে চালু করা যায়।6
netsh advfirewall set allprofiles logging droppedconnections enable
netsh advfirewall set allprofiles logging allowedconnections enable
লগ টেক্সট ফাইল, বাতিল (DROP) না অনুমতি (ALLOW), প্রোটোকল, উৎস/গন্তব্য IP ও পোর্ট লাইন লাইন রেকর্ড হয়, তাই «ক্লায়েন্টের SYN পৌঁছে বাতিল হচ্ছে, না আদৌ পৌঁছায়নি» এখানে স্থির হয়। আর পলিসি দিয়ে লগ সাজানো পরিবেশে লগ ফোল্ডারে লেখার অনুমতি (সার্ভিস mpssvc-এর FullControl) কম থাকলে ফাইল তৈরি হয় না, তখন ফোল্ডার তৈরি ও ACL দিতে হয়।6
আরও গভীরে যেতে অডিট পলিসি «ফিল্টারিং প্ল্যাটফর্মের প্যাকেট বাতিল» চালু করলে প্রতি বাতিলে Security ইভেন্ট 5152 রেকর্ড হয়। তবে ইভেন্টের পরিমাণ খুব বেশি, Microsoft সংযোগ এককে রেকর্ড হওয়া ইভেন্ট 5157 (ফিল্টারিং প্ল্যাটফর্মের সংযোগ) ব্যবহার সুপারিশ করে। রোজ নয়, ছাঁটাইয়ের সময় শুধু চালু রাখার সরঞ্জাম।9
শেষে যা করা যাবে না স্পষ্ট করি। ফায়ারওয়াল সার্ভিস (MpsSvc) থামিয়ে পুরো নিষ্ক্রিয়করণ সাপোর্টের বাইরে, স্টার্ট মেনু না চলা বা স্টোর অ্যাপের আপডেট ব্যর্থ হওয়া ইত্যাদি OS পাশের সমস্যা জন্মায়। নিষ্ক্রিয় করে দেখতেই হলে সার্ভিস চালিয়ে রেখে Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False দিয়ে প্রোফাইল নিষ্ক্রিয় করে নিশ্চিত হলেই ফেরান।17 আর কারণ ফায়ারওয়াল স্থির হলে মোকাবিলা নিষ্ক্রিয়করণ স্থায়ী করা নয় সঠিক নিয়ম একটা যোগ করা।
7. সংস্থা ব্যবস্থাপনার নিচে সতর্কতা — স্থানীয় নিয়ম কাজ করে না এমন পরিবেশ ও আবেদনের রীতি
ইনস্টলারে নিয়ম রেজিস্টার করলেও সেটা কাজ করে না এমন পরিবেশ আছে। GPO বা Intune (CSP) দিয়ে ফায়ারওয়াল কেন্দ্রীয় পরিচালিত সংস্থায় প্রোফাইল প্রতি «স্থানীয় নিয়মের মার্জ» (AllowLocalPolicyMerge) নিষ্ক্রিয় করা যায়। এই সেটিং নিষ্ক্রিয় থাকলে স্থানীয় প্রশাসক (ইনস্টলারসহ) তৈরি নিয়ম প্রয়োগ হয় না, ইনবাউন্ড সংযোগ চাওয়া অ্যাপের নিয়ম GPO/CSP থেকে কেন্দ্রীয় বিতরণ আবশ্যক হয়ে পড়ে।2
flowchart TB
accTitle: স্থানীয় নিয়মের মার্জ নিষ্ক্রিয় থাকলে ইনস্টলারের রেজিস্টার কাজ করে না
accDescr: AllowLocalPolicyMerge নিষ্ক্রিয় পরিবেশে স্থানীয় নিয়ম থাকলেও প্রয়োগ হয় না, GPO বা CSP-এর কেন্দ্রীয় বিতরণে স্যুইচ করুন
GPOR["GPO/Intune দিয়ে বিতরণ করা নিয়ম"] --> EFF["আসলে কাজ করা নিয়মের সেট<br/>(ActiveStore)"]
LOCAL["স্থানীয়ভাবে তৈরি নিয়ম<br/>(ইনস্টলারের রেজিস্টারসহ)"] --> Q{"স্থানীয় নিয়মের মার্জ<br/>(AllowLocalPolicyMerge)"}
Q -- "চালু (ডিফল্ট)" --> EFF
Q -- "নিষ্ক্রিয়" --> DROP["নিয়ম আছে কিন্তু প্রয়োগ হয় না<br/>→ GPO/CSP দিয়ে কেন্দ্রীয় বিতরণে স্যুইচ"]
চিত্র 5: স্থানীয় নিয়মের মার্জ নিষ্ক্রিয় থাকলে ইনস্টলারের নিয়ম প্রয়োগ হয় না; GPO/CSP দিয়ে কেন্দ্রীয় বিতরণ লাগে।
ডেভেলপমেন্ট পাশ·বসানোর পাশের বাস্তব প্রস্তুতি নিচের মতো।
- ইনস্টলারের নিয়ম রেজিস্টার «ব্যর্থ হয় না» নকশা করুন (রেজিস্টার নিজে সফল, ত্রুটিতে ধরা যায় না। বসানোর পর সংযোগ নিশ্চিতকরণ ধাপে রাখুন)
- ৬ অধ্যায়ের ধাপ ৪ (
-TracePolicyStore) দিয়ে কাজ করা নিয়মের উৎস স্থানীয় না GPO দেখুন5 - স্থানীয় নিয়ম কাজ করে না জানলে তথ্য-ব্যবস্থা বিভাগে নিয়ম বিতরণের আবেদন-এ স্যুইচ করুন
আবেদনে নিচের তথ্য একসেট দিন। ফায়ারওয়াল নিয়ম দিক·প্রোগ্রাম·পোর্ট·পরিসর মিললে তবেই তৈরি হয়, এটাই সরাসরি «ব্যবসায়িক অ্যাপের নেটওয়ার্ক স্পেসিফিকেশন» হয়ে ওঠে।
| আইটেম | লেখার উদাহরণ |
|---|---|
| নিয়মের নাম (শনাক্তকারী) | MyCompany-OrderServer-In |
| দিক | ইনবাউন্ড |
| প্রোগ্রাম পাথ | C:\Program Files\MyCompany\OrderServer\OrderServer.exe |
| প্রোটোকল/পোর্ট | TCP 50051 |
| রিমোট IP পরিসর | 172.16.10.0/24 (অর্ডার ক্লায়েন্ট বসানো সেগমেন্ট) |
| প্রোফাইল | শুধু ডোমেইন |
| ব্যবহার·ভিত্তি | অর্ডার ইনপুট ক্লায়েন্ট থেকে সংযোগ গ্রহণ (ব্যবসায়িক সিস্টেমের নাম) |
| তুলে ফেলার শর্ত | এই সিস্টেম সরানোর সময় মুছুন |
তথ্য-ব্যবস্থা পাশ থেকেও এই সারণি থাকা আবেদন ও না থাকা আবেদনে কাজের পরিমাণ একেবারে আলাদা। উল্টোদিকে শুধু পোর্ট নম্বরের «খুলে দিন» ৪ অধ্যায়ে দেখা মতো অতিরিক্ত অনুমতি হয়ে যায়। আর ডোমেইন পরিবেশের ফাইল শেয়ার·প্রমাণীকরণ ঘিরে যোগাযোগের শর্ত ফায়ারওয়াল ছাড়াও অন্য বাঁধন (সাইনিং বাধ্যতামূলক ইত্যাদি) দিয়ে বদলাচ্ছে। একসাথে «SMB সাইনিং ও LDAP চ্যানেল বাইন্ডিং»ও দেখুন।
8. সারসংক্ষেপ
- Windows Firewall-এর ডিফল্ট ইনবাউন্ড ব্লক·আউটবাউন্ড অনুমতি। ইনবাউন্ড নিয়ম লাগে অপেক্ষা করা সার্ভার-ধরনের অ্যাপেই, শুধু ক্লায়েন্ট হিসেবে সংযোগ করলে নীতিগতভাবে লাগে না।
- নিয়ম প্রোফাইল (ডোমেইন/প্রাইভেট/পাবলিক) এককে প্রয়োগ হয়। «নিয়ম আছে তবু যায় না»-এর প্রথম সন্দেহভাজন প্রোফাইল অমিল।
- «গুরুত্বপূর্ণ সতর্কতা» ডায়ালগ বাতিল বা অধিকারহীন ব্যবহারকারীর কাজে ব্লক নিয়ম তৈরি করে, তারপর আর দেখা যায় না। প্রোডাকশন পরিচালনা এই ডায়ালগে ছাড়বেন না।
- ব্যবসায়িক অ্যাপের ইনবাউন্ড নিয়ম ইনস্টলারে রেজিস্টার করুন — এটাই একমাত্র নীতি। রেজিস্টার প্রশাসক অধিকারে, মুছে ফেলা পর্যন্ত
-Nameস্থির রেখে বাস্তবায়ন করুন। - নিয়ম প্রোগ্রাম+প্রোটোকল+পোর্টকে কেন্দ্র করে প্রোফাইল ও রিমোট IP দিয়ে বাঁধুন। আপডেটে exe পাথ বদলালে নিয়ম আবার রেজিস্টার ভুলবেন না।
- ছাঁটাই netstat → Test-NetConnection → প্রোফাইল নিশ্চিত → Get-NetFirewallRule (ActiveStore) → pfirewall.log ক্রমে যান্ত্রিকভাবে। সার্ভিস থামিয়ে নিষ্ক্রিয়করণ সাপোর্টের বাইরে।
- GPO/Intune ব্যবস্থাপনার নিচে স্থানীয় নিয়মের মার্জ নিষ্ক্রিয় থাকতে পারে। তখন নিয়মের নাম·দিক·প্রোগ্রাম·পোর্ট·রিমোট IP·প্রোফাইল মিলিয়ে তথ্য-ব্যবস্থার কাছে বিতরণ আবেদন করুন।
সম্পর্কিত নিবন্ধ
- Windows-এ প্রক্রিয়া-আন্তঃ যোগাযোগ কীভাবে বাছবেন — নেমড পাইপ / TCP / gRPC / শেয়ারড মেমরি / COM সিদ্ধান্ত সারণি
- Windows অ্যাপ বিতরণ ধরন কীভাবে বাছবেন — MSI/MSIX/ClickOnce/xcopy/নিজস্ব আপডেট
- Windows-এ অ্যাডমিনিস্ট্রেটর অধিকার আসলে কখন লাগে — UAC, সুরক্ষিত এলাকা, এবং ডিজাইনে কীভাবে চেনা যায়
- নিজস্ব Windows অ্যাপ ভাইরাস গণ্য হলে — Microsoft Defender-এর ভুল ধনাত্মক মোকাবিলা ও কর্মক্ষমতার প্রভাবের সাথে চলা
- SMB সাইনিং ও LDAP চ্যানেল বাইন্ডিং — NTLM প্রতিরক্ষার «বাকি অর্ধেক» বাস্তবে বন্ধ করা
- Windows সার্ভিস কীভাবে বানাবেন ও চালাবেন — টাস্ক শিডিউলারের সাথে বাছাই থেকে BackgroundService-কে সার্ভিস করা পর্যন্ত
সম্পর্কিত পরামর্শ ক্ষেত্র
KomuraSoft LLC সার্ভার-ধরনের ব্যবসায়িক অ্যাপের ইনস্টলার নকশা (ফায়ারওয়াল নিয়ম রেজিস্টার·মুছে ফেলাসহ), গ্রাহকের পরিবেশে «যোগাযোগ হয় না»-এর কারণ তদন্ত, GPO ব্যবস্থাপনার নিচে স্থাপনা দেখে নেটওয়ার্ক শর্ত সাজানো সামলায়। «ডেভ মেশিনে চলে গ্রাহকের কাছে চলে না» ছাঁটাই থেকেই শুরু করা যায়।
তথ্যসূত্র
-
Microsoft Learn, Windows Firewall overview. Windows Firewall সব সংস্করণে ডিফল্টে চালু হোস্ট-ধরনের ফায়ারওয়াল; ডিফল্ট আচরণ «ইনবাউন্ড অনুরোধের জবাব বা নিয়ম মিল ছাড়া ব্লক, আউটবাউন্ড নিয়ম মিল ছাড়া অনুমতি»; তিন প্রোফাইল (ডোমেইন=ডোমেইন কন্ট্রোলার ধরলে স্বয়ংক্রিয় প্রয়োগ হাতে সেট অসম্ভব, প্রাইভেট=প্রশাসক হাতে সেট, পাবলিক=অচিহ্নিত নেটওয়ার্কের ডিফল্ট); Get-NetConnectionProfile / Set-NetConnectionProfile দিয়ে নেটওয়ার্ক ক্যাটাগরি দেখা·বদলানো; ফায়ারওয়াল সার্ভিস (MpsSvc) থামিয়ে নিষ্ক্রিয়করণ সাপোর্টের বাইরে, স্টার্ট মেনু থামা বা স্টোর অ্যাপের আপডেট ব্যর্থ ইত্যাদি জন্মায়; সঠিক নিষ্ক্রিয়করণ সার্ভিস চালিয়ে রেখে প্রোফাইল নিষ্ক্রিয় করা — এসব বিষয়ে। ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
Microsoft Learn, Windows Firewall rules. নিয়মের অগ্রাধিকার (স্পষ্ট অনুমতি ডিফল্ট ব্লকের উপরে, স্পষ্ট ব্লক অনুমতির উপরে, আরও নির্দিষ্ট নিয়ম জেতে, ওজনের ক্রম নেই); অ্যাপ অপেক্ষা শুরু করলে নিয়ম না থাকলে ডায়ালগ ওঠে; প্রশাসক ব্যবহারকারী «না» বা বাতিল বাছাই করলে ব্লক নিয়ম (সাধারণত TCP/UDP দুটো) তৈরি হয়; স্থানীয় প্রশাসক নন এমন ব্যবহারকারীতে বাছাই যাই হোক ব্লক নিয়ম তৈরি হয়; তৈরি নিয়ম না মুছা পর্যন্ত ডায়ালগ আর ওঠে না যোগাযোগ ব্লক হতে থাকে; অ্যাপ বা ইনস্টলার নিজে নিয়ম যোগ করাই সাধারণ; প্রথম চালুর আগে নিয়ম বসানো ও ইনবাউন্ড নোটিফিকেশন নিষ্ক্রিয় সুপারিশকৃত; প্রোগ্রাম নিয়মে ওয়াইল্ডকার্ড (C:*\teams.exe ইত্যাদি) চলে না শুধু পূর্ণ পাথ; স্থানীয় নিয়মের মার্জ (AllowLocalPolicyMerge) প্রোফাইল এককে নিষ্ক্রিয় করা যায়, নিষ্ক্রিয় থাকলে ইনবাউন্ড সংযোগ চাওয়া অ্যাপের নিয়ম কেন্দ্রীয় বিতরণ আবশ্যক; ইনবাউন্ড নিয়ম যত সম্ভব নির্দিষ্ট করে বাড়ি·ছোট নেটওয়ার্কের জন্য রিমোট অ্যাড্রেস LocalSubnet-এ সীমিত করার সুপারিশ; আউটবাউন্ড ডিফল্ট ব্লক উচ্চ নিরাপত্তা পরিবেশের বাছাই কিন্তু ইনবাউন্ড ডিফল্ট অনুমতিতে বদলাবেন না — এসব বিষয়ে। ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13
-
Microsoft Learn, New-NetFirewallRule (NetSecurity). -DisplayName নিয়ম তৈরির সময় আবশ্যক; -Name অনন্য শনাক্তকারী ডিফল্ট র্যান্ডম মান ও স্ক্রিপ্টে -Name ব্যবহারের নির্দেশ; -Direction (Inbound/Outbound) · -Action (Allow/Block) · -Program (পূর্ণ পাথ) · -Protocol (TCP/UDP/ICMPv4/ICMPv6/নম্বর) · -LocalPort · -RemoteAddress (IP/সাবনেট/পরিসর/LocalSubnet ইত্যাদি কীওয়ার্ড) · -Service · -Profile (Any/Domain/Private/Public কমা দিয়ে স্পেস ছাড়া একাধিক) প্রতিটি প্যারামিটারের স্পেসিফিকেশন ও প্রোগ্রাম নির্দেশ+প্রোটোকল+পোর্ট মিলিয়ে নিয়ম তৈরির উদাহরণ — এসব বিষয়ে। ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Test-NetConnection (NetTCPIP). Test-NetConnection ping · TCP সংযোগ · পথের নির্ণয় তথ্য দেখানো কমান্ডলেট; -ComputerName ও -Port দিয়ে নির্দিষ্ট পোর্টে TCP সংযোগ পরীক্ষা করে ফল TcpTestSucceeded হিসেবে ফেরে — এসব বিষয়ে। ↩ ↩2
-
Microsoft Learn, Get-NetFirewallRule (NetSecurity). -PolicyStore ActiveStore দিয়ে প্রয়োগ চলাকালীন সব পলিসি স্টোর (GPO থেকে আসাসহ ফলের পলিসি সেট)-এর নিয়ম আনা যায়; পোর্ট বা অ্যাড্রেস ইত্যাদি শর্ত নিয়ম নিজে নয় ফিল্টার অবজেক্ট পাশে, Get-NetFirewallPortFilter / Get-NetFirewallApplicationFilter দিয়ে কুয়েরি; -TracePolicyStore দিয়ে নিয়মের উৎস (PolicyStoreSource / PolicyStoreSourceType-এর Local/GroupPolicy) দেখা যায় — এসব বিষয়ে। ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, Configure Windows Firewall logging. লগের ডিফল্ট পাথ %windir%\system32\logfiles\firewall\pfirewall.log; ডিফল্ট সর্বোচ্চ আকার 4,096KB ঊর্ধ্বসীমায় পুরনো এন্ট্রি থেকে মুছে যায়; «বাতিল প্যাকেট» «সফল সংযোগ» কোনো একটা চালু না করা পর্যন্ত লগ রেকর্ড হয় না; netsh advfirewall set allprofiles logging droppedconnections/allowedconnections enable দিয়ে চালু; লগ ফোল্ডারে সার্ভিস mpssvc-এর FullControl না থাকলে লগ ফাইল তৈরি না হওয়া থাকতে পারে, হাতে ফোল্ডার তৈরি ও ACL দিতে হতে পারে — এসব বিষয়ে। ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Manage Windows Firewall with the command line. Set-NetFirewallProfile দিয়ে ডিফল্ট আচরণ·নোটিফিকেশন (-NotifyOnListen False)·লগ সেটিং কনফিগ; New-NetFirewallRule দিয়ে প্রোগ্রাম নিয়ম তৈরির উদাহরণ ও Remove-NetFirewallRule / netsh advfirewall firewall delete rule দিয়ে মুছে ফেলার উদাহরণ; -ErrorAction SilentlyContinue দিয়ে নিয়ম না থাকলে ত্রুটি চাপা দেওয়ার প্যাটার্ন; Get-NetFirewallPortFilter থেকে পোর্ট শর্তে নিয়ম উল্টো খোঁজার কুয়েরি উদাহরণ; Set-NetFirewallProfile -Enabled False দিয়ে প্রোফাইল নিষ্ক্রিয়করণ সঠিক নিষ্ক্রিয়করণের উপায় — এসব বিষয়ে। ↩ ↩2 ↩3
-
Microsoft Learn, Use netsh advfirewall firewall context to control Windows Firewall behavior (KB947709). netsh advfirewall firewall add rule-এর সিনট্যাক্স (name= / dir=in / action=allow / program= / enable=yes / remoteip= / profile= / protocol= / localport=) দিয়ে প্রোগ্রাম নিয়ম·পোর্ট নিয়ম যোগের উদাহরণ; delete rule দিয়ে মুছে ফেলার উদাহরণ; প্রশাসক গ্রুপের সদস্য UAC চালু পরিবেশে চালালে এলিভেটেড কমান্ড প্রম্পট থেকে চালাতে হয়; netsh advfirewall set currentprofile logging দিয়ে লগ সেটিং — এসব বিষয়ে। ↩ ↩2 ↩3
-
Microsoft Learn, Audit Filtering Platform Packet Drop. অডিট সাবক্যাটাগরি «ফিল্টারিং প্ল্যাটফর্মের প্যাকেট বাতিল» চালু করলে Windows ফিল্টারিং প্ল্যাটফর্ম প্যাকেট বাতিলের সময় ইভেন্ট 5152 (ও 5153) রেকর্ড হয়; এই সাবক্যাটাগরির ইভেন্টের পরিমাণ খুব বেশি, ব্লক সংযোগ নজরে প্যাকেট একক নয় সংযোগ এককে রেকর্ড হওয়া ইভেন্ট 5157 ব্যবহার সুপারিশকৃত — এসব বিষয়ে। ↩
সম্পর্কিত নিবন্ধ
কাছাকাছি বিষয়ে গভীরে যেতে একই ট্যাগযুক্ত সাম্প্রতিক নিবন্ধ।
Windows সার্টিফিকেট স্টোরের বাস্তব নির্দেশিকা — ব্যবহারকারী না কম্পিউটার, কোনটিতে রাখবেন
ক্লায়েন্ট সার্টিফিকেট ব্যবহারকারী না কম্পিউটার কোন স্টোরে রাখবেন। certmgr.msc ও certlm.msc-এর ফারাক, প্রাইভেট কী-এর অনুমতি, PowerShell দ...
Windows নিরাপত্তা অডিট পলিসি ও ইভেন্ট লগ তদন্তের বাস্তব প্রয়োগ — 4625 পড়তে পারে এমন তথ্য-ব্যবস্থা দল
«সাইন-ইন ব্যর্থতার লগ দেখে দিন»-এর জবাব দেওয়ার বাস্তব নির্দেশিকা। মৌলিক ও বিস্তারিত অডিট পলিসির সম্পর্ক, ন্যূনতম চালু সাবক্যাটাগরি, ইভেন...
Windows LAPS-এর বাস্তব নির্দেশিকা — সব PC-তে ভাগ করা স্থানীয় প্রশাসক পাসওয়ার্ড ছাড়ুন
সব PC-তে একই স্থানীয় প্রশাসক পাসওয়ার্ড এক মেশিনের আক্রমণকে সব মেশিনে ছড়িয়ে দেওয়া Pass-the-Hash-এর উর্বর ভূমি। OS-এর স্ট্যান্ডার্ড Wi...
OneDrive "ফাইল অন-ডিমান্ড" ও ব্যবসায়িক অ্যাপ — প্লেসহোল্ডার যে অনুমান ভাঙে এবং কীভাবে মোকাবিলা করবেন
ডেস্কটপের CSV খোলে না, বা আমদানি "ফাইল পাওয়া যায়নি" দিয়ে ব্যর্থ হয় — কারণ হতে পারে OneDrive-এর Known Folder Move ও ফাইল অন-ডিমান্ড। এ...
ভলিউম শ্যাডো কপি (VSS)-এর কৌশল ও প্রয়োগ — ব্যবহারে থাকা ফাইলের ব্যাকআপ কেন নেওয়া যায়
ব্যবহারে থাকা ফাইল শেয়ারিং ভায়োলেশনে সাধারণত কপি হয় না, তবু ব্যাকআপ সফটওয়্যার কীভাবে নেয়? ভলিউম শ্যাডো কপি (VSS)-এর রিকোয়েস্টার, রা...
সম্পর্কিত বিষয়
এই পৃষ্ঠাগুলো বিষয়টিকে সেবা ও সিদ্ধান্তের বৃহত্তর প্রেক্ষাপটে স্থাপন করে।
Windows-এর প্রযুক্তিগত বিষয়
Windows ডেভেলপমেন্ট, বাগ তদন্ত ও বিদ্যমান সম্পদ ব্যবহারের প্রবেশদ্বার।
এই বিষয়ের সাথে সম্পর্কিত সেবা
নিবন্ধটি নিচের সেবাগুলোর সাথে সরাসরি সম্পর্কিত।
Windows অ্যাপ ডেভেলপমেন্ট
ব্যবসায়িক অ্যাপ, ডিভাইস ইন্টিগ্রেশন ও যোগাযোগ টুল, চাহিদা থেকে ডেভেলপমেন্ট পর্যন্ত।
প্রায়শ জিজ্ঞাসিত প্রশ্ন
এই নিবন্ধের বিষয়ে পরামর্শে প্রায়ই আসা প্রশ্ন।
- শুধু ক্লায়েন্ট হিসেবে সার্ভারে সংযোগ করা অ্যাপেও ফায়ারওয়াল নিয়ম লাগে?
- নীতিগতভাবে লাগে না। Windows Firewall-এর ডিফল্ট «ইনবাউন্ড ব্লক, আউটবাউন্ড অনুমতি», তাই নিজে সংযোগ করতে যাওয়া ক্লায়েন্ট অ্যাপ ডিফল্টেই যোগাযোগ করতে পারে। ইনবাউন্ড নিয়ম লাগে পোর্ট খুলে সংযোগ অপেক্ষা করা পাশে, অর্থাৎ সার্ভার-ধরনের অ্যাপেই। তবে দুটো ব্যতিক্রম। উচ্চ নিরাপত্তা পরিবেশে আউটবাউন্ডও ডিফল্ট ব্লকে বদলানো থাকতে পারে, তখন আউটবাউন্ড নিয়মের আবেদন লাগে। আর ক্লায়েন্ট অ্যাপও ফল জানানোর গ্রহণমুখ হিসেবে নিজে পোর্ট অপেক্ষা করলে সেই অংশে ইনবাউন্ড নিয়ম লাগে।
- «Windows নিরাপত্তার গুরুত্বপূর্ণ সতর্কতা» ডায়ালগে «অ্যাক্সেস অনুমতি দিন» চাপলেই হয় না?
- সে মুহূর্তে হয়, প্রোডাকশন পরিচালনায় ছাড়া যায় না। এই ডায়ালগে প্রশাসক অধিকার থাকা ব্যবহারকারী বাতিল করলে ব্লক নিয়ম তৈরি হয়। আর প্রশাসক অধিকার নেই এমন ব্যবহারকারী যে বাটনই চাপুন না কেন ব্লক নিয়ম তৈরি হয়। একবার তৈরি নিয়ম না মুছলে ডায়ালগ আর দেখা যায় না, যোগাযোগ ব্যর্থ হতে থাকে। মাঠের PC সাধারণ ব্যবহারকারী চালান এমন ব্যবসায়িক অ্যাপে «কেউ একবার বাতিল করলে তারপর চিরকাল যোগাযোগ হয় না» সহজে জন্মায়। Microsoftও অ্যাপের প্রথম চালুর আগে নিয়ম বসিয়ে রাখার সুপারিশ করে।
- ইনবাউন্ড নিয়ম পোর্ট নির্দেশ না প্রোগ্রাম নির্দেশ — কোনটায় বানাব?
- একা নয়, মিলিয়েই মূল পথ। প্রোগ্রাম নির্দেশ exe-এর পূর্ণ পাথে লক্ষ্য সীমিত করে, অন্যদিকে আপডেটে পাথ বদলালে নিয়ম লক্ষ্য হারায় (ওয়াইল্ডকার্ড চলে না)। পোর্ট নির্দেশ তথ্য-ব্যবস্থার কাছে আবেদন স্পষ্ট করে, অন্যদিকে একই পোর্টে অপেক্ষা করা অন্য প্রক্রিয়াও ছেড়ে দেয়। প্রোডাকশন ব্যবসায়িক অ্যাপে «প্রোগ্রাম+প্রোটোকল+পোর্ট»কে কেন্দ্র করে প্রোফাইল ডোমেইন/প্রাইভেটে সীমিত করে রিমোট IP ক্লায়েন্ট থাকা সাবনেটে বাঁধা — ন্যূনতম অধিকারের ছাঁচ। পোর্ট গতিশীল হলেই শুধু প্রোগ্রাম নির্দেশ একা ব্যবহার করুন।
- ইনস্টলার যে নিয়ম রেজিস্টার করেছে, গ্রাহকের PC-তে কাজ করছে না মনে হয়। কেন?
- গ্রাহকের ফায়ারওয়াল GPO বা Intune দিয়ে কেন্দ্রীয় পরিচালিত, «স্থানীয় নিয়মের মার্জ» (AllowLocalPolicyMerge) নিষ্ক্রিয় থাকার সম্ভাবনা বেশি। এই সেটিং নিষ্ক্রিয় থাকলে স্থানীয়ভাবে তৈরি নিয়ম প্রোফাইলে থাকলেও প্রয়োগ হয় না, নিয়ম GPO/CSP পাশে কেন্দ্রীয় বিতরণ ছাড়া উপায় নেই। Get-NetFirewallRule -PolicyStore ActiveStore দিয়ে কার্যকর নিয়মের পুরোটা দেখে তথ্য-ব্যবস্থা বিভাগে নিয়ম বিতরণের আবেদন করুন। আবেদনে নিয়মের নাম·দিক·প্রোগ্রাম পাথ·প্রোটোকল ও পোর্ট·রিমোট IP পরিসর·প্রোফাইল একসাথে দিলে একবারেই পাস হয়।
- যোগাযোগ ছাঁটাইয়ের জন্য ফায়ারওয়াল সাময়িক নিষ্ক্রিয় করা যায়?
- সার্ভিস (MpsSvc) থামিয়ে নিষ্ক্রিয়করণ একেবারে এড়াবেন। Microsoft সাপোর্টের বাইরের কাজ, স্টার্ট মেনু না চলা, স্টোর অ্যাপের আপডেট ব্যর্থ হওয়া ইত্যাদি OS পাশের সমস্যা জন্মায়। ছাঁটাইতে নিষ্ক্রিয় করতেই হলে সার্ভিস চালিয়ে রেখে Set-NetFirewallProfile -Enabled False দিয়ে প্রোফাইল নিষ্ক্রিয় করাই সঠিক পথ। তবে এটাও «কারণ ফায়ারওয়াল কি না» কয়েক মিনিটে দেখার কাজে সীমিত রেখে নিশ্চিত হলেই ফেরান। নিষ্ক্রিয় রেখে পরিচালনা মানে একটা নিয়ম যোগ করলেই হতো সমস্যাকে পুরো PC অরক্ষিত করার বিনিময়ে নেওয়া।