sslsplit - ক্লাউডে অনলাইন

এটি হল sslsplit কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


sslsplit -- স্বচ্ছ এবং মাপযোগ্য SSL/TLS বাধা

সাইনোপিসিস


sslsplit [-kCKOPZdDgGsrReumjplLSFi] -c PEM প্রক্সিস্পেকস [...]
sslsplit [-kCKOPZdDgGsrReumjplLSFi] -c PEM -t Dir প্রক্সিস্পেকস [...]
sslsplit [-OPZdDgGsrReumjplLSFi] -t Dir প্রক্সিস্পেকস [...]
sslsplit -E
sslsplit -V
sslsplit -h

বর্ণনাঃ


SSLsplit হল SSL/TLS এনক্রিপ্ট করা নেটওয়ার্কের বিরুদ্ধে ম্যান-ইন-দ্য-মিডল আক্রমণের একটি টুল
সংযোগ সংযোগগুলি একটি নেটওয়ার্ক ঠিকানার মাধ্যমে স্বচ্ছভাবে আটকানো হয়
অনুবাদ ইঞ্জিন এবং SSLsplit এ পুনঃনির্দেশিত। SSLsplit SSL/TLS বন্ধ করে এবং শুরু করে
সমস্ত ডেটা লগ করার সময় আসল গন্তব্য ঠিকানায় একটি নতুন SSL/TLS সংযোগ
প্রেরিত SSLsplit নেটওয়ার্ক ফরেনসিক এবং অনুপ্রবেশের জন্য উপযোগী হওয়ার উদ্দেশ্যে করা হয়েছে
পরীক্ষামূলক.

SSLsplit প্লেইন TCP, প্লেইন SSL, HTTP এবং HTTPS সংযোগ IPv4 এবং উভয়ের উপর সমর্থন করে
IPv6. SSL এবং HTTPS সংযোগের জন্য, SSLsplit তৈরি করে এবং জাল X509v3 চিহ্ন দেয়
সার্টিফিকেট অন-দ্য-ফ্লাই, মূল সার্ভার সার্টিফিকেট বিষয় DN এবং উপর ভিত্তি করে
subjectAltName এক্সটেনশন। SSLsplit সার্ভার নেম ইন্ডিকেশন (SNI) সম্পূর্ণরূপে সমর্থন করে এবং হয়
RSA, DSA এবং ECDSA কী এবং DHE এবং ECDHE সাইফার স্যুটগুলির সাথে কাজ করতে সক্ষম। উপর নির্ভর করে
OpenSSL এর সংস্করণ, SSLsplit SSL 3.0, TLS 1.0, TLS 1.1 এবং TLS 1.2 সমর্থন করে এবং
ঐচ্ছিকভাবে SSL 2.0 পাশাপাশি। SSLsplit বিদ্যমান শংসাপত্রগুলিও ব্যবহার করতে পারে যার
নকলগুলি তৈরি করার পরিবর্তে ব্যক্তিগত কী উপলব্ধ। SSLsplit NULL-কে সমর্থন করে
উপসর্গ CN শংসাপত্র এবং একটি সাধারণ উপায়ে OCSP অনুরোধ অস্বীকার করতে পারে। HTTP এবং HTTPS এর জন্য
সংযোগ, SSLsplit পাবলিক কী প্রতিরোধ করার জন্য HPKP-এর প্রতিক্রিয়া শিরোনামগুলি সরিয়ে দেয়
পিনিং, এইচএসটিএস-এর জন্য ব্যবহারকারীকে অবিশ্বস্ত শংসাপত্র গ্রহণ করার অনুমতি দেয় এবং বিকল্প
QUIC/SPDY-এ স্যুইচিং প্রতিরোধ করার জন্য প্রোটোকল।

SSLsplit অনেকগুলি NAT ইঞ্জিন, স্ট্যাটিক ফরওয়ার্ডিং এবং SNI DNS লুকআপ সমর্থন করে
পুনঃনির্দেশিত সংযোগের মূল গন্তব্য নির্ধারণ করুন (NAT ENGINES এবং PROXY দেখুন
নীচের স্পেসিফিকেশন)।

আসলে একটি আক্রমণ বাস্তবায়ন করতে, আপনাকে সিস্টেমে ট্র্যাফিককে পুনঃনির্দেশ করতে হবে
দৌড় sslsplit. আপনার বিকল্প চলমান অন্তর্ভুক্ত sslsplit একটি বৈধ রাউটারে, ARP
স্পুফিং, এনডি স্পুফিং, ডিএনএস বিষাক্তকরণ, একটি দুর্বৃত্ত অ্যাক্সেস পয়েন্ট স্থাপন করা (যেমন হোস্ট্যাপ ব্যবহার করা
মোড), ফিজিক্যাল রিকেবলিং, ক্ষতিকারক VLAN রিকনফিগারেশন বা রুট ইনজেকশন, জন্য / etc / হোস্ট
পরিবর্তন এবং তাই। SSLsplit প্রকৃত ট্র্যাফিক পুনর্নির্দেশ বাস্তবায়ন করে না।

বিকল্প


-c পেমফাইল
থেকে CA সার্টিফিকেট ব্যবহার করুন পেমফাইল ফ্লাইতে জাল সার্টিফিকেট স্বাক্ষর করতে। যদি পেমফাইল
এছাড়াও মিলিত CA প্রাইভেট কী ধারণ করে, এটি লোড করা হয়, অন্যথায় এটি হতে হবে
সরবরাহ করা -k। যদি পেমফাইল এছাড়াও ডিফি-হেলম্যান গ্রুপ প্যারামিটার রয়েছে, তারা
এছাড়াও লোড করা হয়, অন্যথায় তারা প্রদান করা যেতে পারে -g। যদি -t এছাড়াও দেওয়া হয়,
SSLsplit শুধুমাত্র একটি শংসাপত্র জাল করবে যদি কোন মিলিত শংসাপত্র না থাকে
প্রদত্ত শংসাপত্র ডিরেক্টরি।

-C পেমফাইল
থেকে CA সার্টিফিকেট ব্যবহার করুন পেমফাইল সার্টিফিকেট চেইনে অতিরিক্ত শংসাপত্র হিসাবে।
এটি প্রয়োজন হলে সিএ দিয়ে দেওয়া হয় -k এবং -c একটি সাব-সিএ, যে ক্ষেত্রে যে কোনো
মধ্যবর্তী CA শংসাপত্র এবং রুট CA শংসাপত্র অবশ্যই অন্তর্ভুক্ত করতে হবে৷
সার্টিফিকেট চেইন।

-d TTY থেকে বিচ্ছিন্ন করুন এবং একটি ডেমন হিসাবে চালান, এর পরিবর্তে syslog এ ত্রুটি বার্তাগুলি লগিং করুন
মান ত্রুটি.

-D ডিবাগ মোডে চালান, স্ট্যান্ডার্ড ত্রুটিতে প্রচুর ডিবাগিং তথ্য লগ করুন। এটাও
ফোরগ্রাউন্ড মোড জোর করে এবং এর সাথে ব্যবহার করা যাবে না -d.

-e ইঞ্জিন
ব্যবহার ইঞ্জিন ডিফল্ট NAT ইঞ্জিন হিসাবে প্রক্সিস্পেকস স্পষ্ট NAT ইঞ্জিন ছাড়া,
স্ট্যাটিক গন্তব্য ঠিকানা বা SNI মোড। ইঞ্জিন NAT ইঞ্জিন যে কোনো হতে পারে
সিস্টেম দ্বারা সমর্থিত, যেমন দ্বারা ফিরে -E.

-E সিস্টেমে উপলব্ধ সমস্ত সমর্থিত NAT ইঞ্জিনের তালিকা করুন এবং প্রস্থান করুন। NAT ইঞ্জিন দেখুন
বর্তমানে SSLsplit দ্বারা সমর্থিত NAT ইঞ্জিনগুলির একটি তালিকার জন্য।

-F লগস্পেক
প্রদত্ত পাথ স্পেসিফিকেশনের সাথে লগ ফাইলগুলিকে আলাদা করতে লগ সংযোগ সামগ্রী (দেখুন
নিচের লগ স্পেসিফিকেশন)। প্রতিটি সংযোগের জন্য, একটি লগ ফাইল লেখা হবে, যা
প্রেরিত হিসাবে ডেটার উভয় দিকই থাকবে। সম্পর্কে তথ্য
সংযোগ শুধুমাত্র ফাইলের নাম অন্তর্ভুক্ত করা হবে. যদি -F সঙ্গে ব্যবহৃত হয় -j, লগস্পেক
আপেক্ষিক হয় জেলের। যদি -F সঙ্গে ব্যবহৃত হয় -u, লগস্পেক দ্বারা লিখিত হতে হবে ব্যবহারকারী.

-g পেমফাইল
থেকে Diffie-Hellman গ্রুপ প্যারামিটার ব্যবহার করুন পেমফাইল এফিমেরিয়াল ডিফি-হেলম্যানের জন্য
(EDH/DHE) সাইফার স্যুট। যদি -g দেওয়া হয় না, SSLsplit প্রথমে DH লোড করার চেষ্টা করে
দ্বারা প্রদত্ত PEM ফাইল থেকে পরামিতি -K, -k or -c. যদি কোন DH প্যারামিটার পাওয়া না যায়
কী ফাইলগুলিতে, অন্তর্নির্মিত 512 বা 1024 বিট গ্রুপ প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে ব্যবহৃত হয়
যদি একটি নন-RSA প্রাইভেট কী এর সাথে দেওয়া হয় -K. এর কারণ হল DSA/DSS ব্যক্তিগত কী
নিজেদের দ্বারা শুধুমাত্র স্বাক্ষর করার জন্য ব্যবহার করা যেতে পারে এবং এইভাবে একটি বিনিময় করতে DH প্রয়োজন
SSL/TLS সেশন কী। যদি -g দেওয়া হয়, প্রদত্ত থেকে পরামিতি পেমফাইল ইচ্ছা
সর্বদা ব্যবহার করা হবে, এমনকি RSA প্রাইভেট কী সহ (এতে উপলব্ধ সাইফার স্যুটের মধ্যে
OpenSSL)। দ্য -g SSLsplit একটি সংস্করণের বিপরীতে নির্মিত হলে বিকল্পটি শুধুমাত্র উপলব্ধ
OpenSSL-এর যা Diffie-Hellman সাইফার স্যুট সমর্থন করে।

-G বাঁক
নাম ব্যবহার করুন বাঁক এফিমেরিয়াল উপবৃত্তাকার কার্ভ ডিফি-হেলম্যান (EECDH) সাইফারের জন্য
স্যুট যদি -G দেওয়া হয় না, একটি ডিফল্ট বক্ররেখা (secp160r2) স্বয়ংক্রিয়ভাবে iff ব্যবহার করা হয়
একটি নন-RSA প্রাইভেট কী এর সাথে দেওয়া আছে -K. এর কারণ হল ECDSA/ECDSS ব্যক্তিগত কী
নিজেদের দ্বারা শুধুমাত্র স্বাক্ষর করার জন্য ব্যবহার করা যেতে পারে এবং এইভাবে একটি বিনিময় করার জন্য ECDH প্রয়োজন
SSL/TLS সেশন কী। যদি -G দেওয়া হয়, নাম বাঁক সবসময় ব্যবহার করা হবে, এমনকি
RSA ব্যক্তিগত কী সহ (ওপেনএসএসএল-এ উপলব্ধ সাইফার স্যুটের মধ্যে)। দ্য -G
SSLsplit শুধুমাত্র OpenSSL এর একটি সংস্করণের বিপরীতে নির্মিত হলে বিকল্পটি উপলব্ধ
উপবৃত্তাকার কার্ভ ডিফি-হেলম্যান সাইফার স্যুট সমর্থন করে।

-h ব্যবহার এবং প্রস্থানে সহায়তা প্রদর্শন করুন।

-i প্রতিটি সংযোগের জন্য, সংযোগের মালিক স্থানীয় প্রক্রিয়া খুঁজুন। এটা তৈরি করে
প্রক্রিয়া তথ্য যেমন পিড, মালিক:গ্রুপ এবং সংযোগের জন্য এক্সিকিউটেবল পাথ
সংযোগ লগে উপলব্ধ SSLsplit হিসাবে একই সিস্টেমে উদ্ভূত এবং সক্ষম করে
সম্পর্কিত -F পাথ স্পেসিফিকেশন নির্দেশাবলী। -i Mac OS X এ উপলব্ধ এবং
ফ্রিবিএসডি; অন্যান্য প্ল্যাটফর্মের জন্য সমর্থন এখনও বাস্তবায়িত হয়নি।

-j জেলের
রুট ডিরেক্টরিতে পরিবর্তন করুন জেলের ব্যবহার ক্রুট(2) ফাইল খোলার পরে। বিঃদ্রঃ
যে এই জন্য প্রভাব আছে -F, -S, এবং জন্য sni প্রক্সিস্পেকস. সাথে দেওয়া পথ
-S or -F আপেক্ষিক হবে জেলের যেহেতু লগ ফাইলগুলি আগে খোলা যাবে না
কলিং ক্রুট(2)। আপনার অপারেটিং সিস্টেমের উপর নির্ভর করে, আপনাকে ফাইল কপি করতে হবে
যেমন /etc/resolv.conf থেকে জেলের নামের রেজোলিউশন কাজ করার জন্য। ব্যবহার
sni proxyspecs নামের রেজোলিউশনের উপর নির্ভর করে। কিছু অপারেটিং সিস্টেমের জন্য বিশেষ প্রয়োজন
ডিভাইস নোড যেমন আপনার / dev / নাল কারাগারে উপস্থিত থাকতে হবে। আপনার সিস্টেম চেক করুন
বিস্তারিত তথ্যের জন্য ডকুমেন্টেশন।

-k পেমফাইল
থেকে CA ব্যক্তিগত কী ব্যবহার করুন পেমফাইল ফ্লাইতে জাল সার্টিফিকেট স্বাক্ষর করতে। যদি পেমফাইল
এছাড়াও মিলিত CA শংসাপত্র রয়েছে, এটি লোড করা হয়েছে, অন্যথায় এটি অবশ্যই হতে হবে৷
সরবরাহ করা -c। যদি পেমফাইল এছাড়াও ডিফি-হেলম্যান গ্রুপ প্যারামিটার রয়েছে, তারা
এছাড়াও লোড করা হয়, অন্যথায় তারা প্রদান করা যেতে পারে -g। যদি -t এছাড়াও দেওয়া হয়,
SSLsplit শুধুমাত্র একটি শংসাপত্র জাল করবে যদি কোন মিলিত শংসাপত্র না থাকে
প্রদত্ত শংসাপত্র ডিরেক্টরি।

-K পেমফাইল
থেকে ব্যক্তিগত কী ব্যবহার করুন পেমফাইল ফ্লাইতে জাল সার্টিফিকেটের জন্য। যদি -K এটি না
প্রদত্ত, SSLsplit একটি র্যান্ডম 1024-বিট RSA কী তৈরি করবে।

-l লগ ফাইল
লগ সংযোগ লগ ফাইল প্রতি সংযোগ বিন্যাসে একটি একক লাইন, সহ
ঠিকানা এবং পোর্ট এবং কিছু HTTP এবং SSL তথ্য, যদি উপলব্ধ থাকে।

-L লগ ফাইল
লগ সংযোগ বিষয়বস্তু লগ ফাইল. বিষয়বস্তু লগে একটি পার্সযোগ্য লগ থাকবে
ট্রান্সমিটেড ডাটা সহ ফরম্যাট, কানেকশন সনাক্তকারী হেডার সহ প্রিপেনড
প্রতিটি লগ করা অংশের ডেটা দৈর্ঘ্য।

-m ব্যবহার করে বিশেষাধিকার ড্রপ যখন -u, সেট করা লক্ষ্য প্রাথমিক গ্রুপ ওভাররাইড করুন
গ্রুপ.

-O সকল অনলাইন সার্টিফিকেট স্ট্যাটাস প্রোটোকল (OCSP) অনুরোধ অস্বীকার করুন প্রক্সিস্পেকস এবং
এর একটি OCSP প্রতিক্রিয়া সহ সমস্ত OCSP সার্ভারের জন্য পরে চেষ্টা করুন, যার ফলে OCSP ক্লায়েন্টরা
সাময়িকভাবে এমনকি প্রত্যাহার করা শংসাপত্র গ্রহণ করুন। HTTP অনুরোধ হিসাবে বিবেচনা করা হচ্ছে
যদি পদ্ধতিটি হয় তবে OCSP অনুরোধ করে পাওয়া এবং URI তে একটি সিনট্যাক্টিক্যালি বৈধ থাকে
OCSPRequest ASN.1 কাঠামো OpenSSL দ্বারা পার্সযোগ্য, অথবা যদি পদ্ধতি হয় পোস্ট এবং শীর্ষ XNUMX গ্লোবাল HR এক্সিলেন্স অ্যাওয়ার্ডের
বিষয়বস্তুর প্রকার is আবেদন/ocsp-অনুরোধ. এটি কার্যকর হওয়ার জন্য, SSLsplit আবশ্যক
OCSP সার্ভার দ্বারা ব্যবহৃত পোর্টে নির্ধারিত ট্রাফিক পরিচালনা করা। নির্দিষ্টভাবে,
OCSP সার্ভার দ্বারা ব্যবহৃত সমস্ত পোর্টে ট্রাফিক পেতে SSLsplit কনফিগার করা আবশ্যক
মধ্যে লক্ষ্যবস্তু শংসাপত্র certdir দ্বারা নির্দিষ্ট করা হয়েছে -t.

-p পিডফাইল
প্রসেস আইডিতে লিখুন পিডফাইল এবং যদি চালাতে অস্বীকার করে পিডফাইল ইতোমধ্যে ব্যবহৃত হচ্ছে
অন্য প্রক্রিয়া দ্বারা।

-P পাসথ্রু SSL/TLS কানেকশন যা ড্রপ করার পরিবর্তে বিভক্ত করা যাবে না।
সংযোগ বিভক্ত করা যাবে না যদি -c এবং -k দেওয়া হয় না এবং সাইট মেলে না
কোনো সার্টিফিকেট ব্যবহার করে লোড করা হয়েছে -t, অথবা যদি মূল সার্ভারের সাথে সংযোগ দেয়
SSL/TLS ত্রুটি। বিশেষত, যদি সাইটটি একটি ক্লায়েন্টকে অনুরোধ করে তবে এটি ঘটে
সনদপত্র. সঙ্গে পাসথ্রু -P ক্লায়েন্টদের জন্য নিরবচ্ছিন্ন পরিষেবার ফলাফল,
ড্রপ করার সময় আরো নিরাপদ বিকল্প যদি অনিরীক্ষণহীন সংযোগ থাকতে হয়
বিরত.

-r প্রোটো
ক্লায়েন্ট এবং সার্ভার উভয় দিকে SSL/TLS প্রোটোকল সংস্করণ জোর করে প্রোটো নির্বাচন করে
ডিফল্ট SSLv23_method() এর পরিবর্তে সংশ্লিষ্ট OpenSSL পদ্ধতি কনস্ট্রাক্টর
যা সমস্ত প্রোটোকল সংস্করণ সমর্থন করে। একটি ট্রাফিক বিশ্লেষণ করার সময় এটি দরকারী
যে সার্ভার শুধুমাত্র SSL/TLS এর একটি নির্দিষ্ট সংস্করণ সমর্থন করে এবং বাস্তবায়ন করে না
সঠিক প্রোটোকল আলোচনা। বিল্ড বিকল্প এবং OpenSSL এর সংস্করণের উপর নির্ভর করে
যে ব্যবহার করা হয়, জন্য নিম্নলিখিত মান প্রোটো গৃহীত হয়: ssl2, ssl3, tls10, tls11
এবং tls12. মনে রাখবেন যে SSL 2.0 সমর্থন ডিফল্টরূপে নির্মিত হয় না কারণ কিছু
সার্ভারগুলি SSL 2.0 ক্লায়েন্ট হ্যালো বার্তাগুলি সুন্দরভাবে পরিচালনা করে না৷

-R প্রোটো
SSL/TLS প্রোটোকল সংস্করণ অক্ষম করুন প্রোটো উভয় ক্লায়েন্ট এবং সার্ভার পাশাপাশি
OpenSSL-এ সংশ্লিষ্ট প্রোটোকল নিষ্ক্রিয় করা হচ্ছে। একাধিক প্রোটোকল নিষ্ক্রিয় করতে
সংস্করণ, -R একাধিকবার দেওয়া যেতে পারে। যদি -r দেওয়া হয়, থাকবে না
অন্যান্য প্রোটোকল সংস্করণ নিষ্ক্রিয় প্রভাব. প্রোটোকল সংস্করণ নিষ্ক্রিয় করা দরকারী
কিছু প্রোটোকল সংস্করণ পরিচালনা করে না এমন একটি সার্ভারে ট্র্যাফিক বিশ্লেষণ করার সময়
ভাল, বা বিভিন্ন প্রোটোকল সংস্করণের সাথে আচরণ পরীক্ষা করতে। নির্মাণের উপর নির্ভর করে
অপশন এবং OpenSSL এর যে সংস্করণ ব্যবহার করা হয়, তার জন্য নিম্নলিখিত মানগুলি প্রোটো হয়
গৃহীত: ssl2, ssl3, tls10, tls11 এবং tls12. মনে রাখবেন যে SSL 2.0 সমর্থন নেই
ডিফল্টরূপে নির্মিত কারণ কিছু সার্ভার SSL 2.0 ক্লায়েন্ট হ্যালো বার্তা পরিচালনা করে না
gracefully

-s সাইফারগুলির
OpenSSL ব্যবহার করুন সাইফারগুলির সার্ভার এবং ক্লায়েন্ট SSL/TLS সংযোগ উভয়ের জন্য স্পেসিফিকেশন।
If -s দেওয়া হয় না, একটি সাইফার তালিকা সব:-একটি বাতিল ব্যবহৃত হয়. সাধারণত, SSL/TLS
বাস্তবায়ন সবচেয়ে নিরাপদ সাইফার স্যুট বেছে নেয়, দ্রুততম নয়। দ্বারা
একটি উপযুক্ত OpenSSL সাইফার তালিকা নির্দিষ্ট করে, সাইফার স্যুটের সেট হতে পারে
দ্রুত অ্যালগরিদম সীমিত, বা eNULL সাইফার স্যুট যোগ করা যেতে পারে. জন্য যে নোট
সংযোগ সফল হতে, SSLsplit সাইফার স্যুটগুলিতে অন্তত একটি অন্তর্ভুক্ত করা আবশ্যক
সাইফার স্যুট প্রতিটি সংযোগের ক্লায়েন্ট এবং সার্ভার উভয় দ্বারা সমর্থিত। দেখা
সাইফারগুলির(1) কিভাবে OpenSSL সাইফার তালিকা তৈরি করতে হয় তার বিস্তারিত জানার জন্য।

-S লগডির
লগ সংযোগ বিষয়বস্তু অধীনে পৃথক লগ ফাইল লগডির. প্রতিটি সংযোগের জন্য, ক
log ফাইলটি লেখা হবে, যেখানে ডেটার উভয় দিকই থাকবে
প্রেরিত সংযোগ সম্পর্কে তথ্য ফাইলের নাম অন্তর্ভুক্ত করা হবে
কেবল. যদি -S সঙ্গে ব্যবহৃত হয় -j, লগডির আপেক্ষিক হয় জেলের। যদি -S সঙ্গে ব্যবহৃত হয়
-u, লগডির দ্বারা লিখিত হতে হবে ব্যবহারকারী.

-t certdir
PEM ফাইল থেকে ব্যক্তিগত কী, সার্টিফিকেট এবং সার্টিফিকেট চেইন ব্যবহার করুন certdir উন্নত
জাল সার্টিফিকেট ব্যবহার করার পরিবর্তে সংশ্লিষ্ট সাধারণ নামের সাথে মিলে যাওয়া সাইটগুলি
অন-দ্য-ফ্লাই একটি একক PEM ফাইলে একটি একক ব্যক্তিগত কী থাকতে হবে, একটি একক৷
শংসাপত্র এবং ঐচ্ছিকভাবে মধ্যবর্তী এবং রুট CA শংসাপত্র হিসাবে ব্যবহার করার জন্য৷
সার্টিফিকেট চেইন। যদি -c এবং -k এছাড়াও দেওয়া হয়, সার্টিফিকেট জাল করা হবে-
কোনো সার্টিফিকেট লোড করা হয়নি এমন সাইটগুলির জন্য ফ্লাই certdir.
অন্যথায়, কোনো শংসাপত্রের সাথে মেলে এমন সংযোগগুলি বাদ দেওয়া হবে, বা যদি -P দেওয়া হয়,
SSL/TLS বিভক্ত না করেই পাস করা হয়েছে।

-u সকেট এবং ফাইল খোলার পর সুযোগ-সুবিধা ড্রপ করে আসল, কার্যকরী এবং সেট করে
সংরক্ষিত ব্যবহারকারী আইডি ব্যবহারকারী এবং উপযুক্ত প্রাথমিক এবং আনুষঙ্গিক গোষ্ঠী লোড করা হচ্ছে।
If -u দেওয়া হয় না, SSLsplit সঞ্চিত UID-তে সুবিধাগুলি ছেড়ে দেবে যদি EUID != UID
(setuid বিট দৃশ্যকল্প), অথবা থেকে কেউ কিছু যদি পূর্ণ সঙ্গে চলমান শিকড় বিশেষাধিকার (EUID ==
UID == 0) এবং -S ব্যবহার করা হয় না একটি অ্যাপল বাগ কারণে, -u সঙ্গে ব্যবহার করা যাবে না pf
ম্যাক ওএস এক্স-এ প্রক্সিস্পেক।

-V প্রদর্শন সংস্করণ এবং কম্পাইল বৈশিষ্ট্য তথ্য এবং প্রস্থান.

-Z সমস্ত সংযোগে SSL/TLS কম্প্রেশন অক্ষম করুন। আপনার সীমাবদ্ধ হলে এটি দরকারী
ফ্যাক্টর হল CPU, নেটওয়ার্ক ব্যান্ডউইথ নয়। দ্য -Z SSLsplit হলেই বিকল্প পাওয়া যায়
OpenSSL এর একটি সংস্করণের বিরুদ্ধে তৈরি করা হয়েছিল যা কম্প্রেশন নিষ্ক্রিয় করা সমর্থন করে।

প্রক্সি বৈশিষ্ট্যসমুহ


প্রক্সি স্পেসিফিকেশন (প্রক্সিস্পেকস) সংযোগের ধরন, ঠিকানা শোনা এবং
স্ট্যাটিক ফরোয়ার্ড অ্যাড্রেস বা অ্যাড্রেস রেজোলিউশন মেকানিজম (NAT ইঞ্জিন, SNI DNS লুকআপ):

HTTPS দ্বারা শ্রবণকারী বন্দর [nat-ইঞ্জিন|fwdaddr বন্দর|sni বন্দর]
SSL শ্রবণকারী বন্দর [nat-ইঞ্জিন|fwdaddr বন্দর|sni বন্দর]
HTTP শ্রবণকারী বন্দর [nat-ইঞ্জিন|fwdaddr বন্দর]
TCP শ্রবণকারী বন্দর [nat-ইঞ্জিন|fwdaddr বন্দর]

HTTPS দ্বারা HPKP অপসারণ সহ HTTP প্রোটোকল ডিকোডিং সহ SSL/TLS বাধা,
HSTS এবং বিকল্প প্রোটোকল প্রতিক্রিয়া শিরোনাম।

SSL নিম্ন স্তরের প্রোটোকল ডিকোডিং ছাড়াই SSL/TLS বাধা; ডিক্রিপ্ট করা
সংযোগ বিষয়বস্তু বাইটের অস্বচ্ছ স্ট্রিম হিসাবে বিবেচিত হয় এবং সংশোধন করা হয় না।

HTTP SSL/TLS ছাড়া প্লেইন TCP সংযোগ, HTTP প্রোটোকল ডিকোডিং সহ, সহ
HPKP, HSTS এবং বিকল্প প্রোটোকল প্রতিক্রিয়া শিরোনাম অপসারণ।

TCP SSL/TLS ছাড়া এবং কোনো নিম্ন স্তরের প্রোটোকল ডিকোডিং ছাড়াই সরল TCP সংযোগ;
ডিক্রিপ্ট করা সংযোগ বিষয়বস্তু বাইটের অস্বচ্ছ স্ট্রীম হিসাবে বিবেচিত হয় এবং সংশোধন করা হয় না।

শ্রবণকারী বন্দর
IPv4 বা IPv6 ঠিকানা এবং পোর্ট বা পরিষেবার নাম শুনতে। এই ঠিকানা
এবং পোর্ট যেখানে NAT ইঞ্জিনের সংযোগগুলি পুনঃনির্দেশ করা উচিত।

nat-ইঞ্জিন
মূল গন্তব্য ঠিকানা এবং পোর্ট নির্ধারণের জন্য অনুসন্ধানের জন্য NAT ইঞ্জিন
স্বচ্ছভাবে পুনঃনির্দেশিত সংযোগ। যদি কোন ইঞ্জিন দেওয়া না হয়, ডিফল্ট ইঞ্জিন
ব্যবহার করা হয়, যদি না এর সাথে ওভাররাইড করা হয় -e. একটি NAT ইঞ্জিন ব্যবহার করার সময়, sslsplit চালানো প্রয়োজন
NAT নিয়মের মতো একই সিস্টেম যা ট্রাফিককে পুনঃনির্দেশ করে sslsplit. NAT দেখুন
সমর্থিত NAT ইঞ্জিনগুলির একটি তালিকার জন্য ইঞ্জিন।

fwdaddr বন্দর
স্ট্যাটিক গন্তব্য ঠিকানা, IPv4 বা IPv6, পোর্ট বা পরিষেবার নাম সহ। এই যখন
ব্যবহৃত, সংযোগগুলি প্রদত্ত সার্ভার ঠিকানা এবং পোর্টে ফরোয়ার্ড করা হয়। যদি fwdaddr
একটি হোস্টনাম, এটি একটি IP ঠিকানায় সমাধান করা হবে।

sni বন্দর
ClientHello-এ ক্লায়েন্টের পাঠানো সার্ভার নেম ইঙ্গিত (SNI) হোস্টনাম ব্যবহার করুন
সংযোগ করতে সার্ভারের IP ঠিকানা নির্ধারণ করতে SSL/TLS বার্তা। শুধু এটাই
জন্য কাজ করে SSL এবং HTTPS দ্বারা প্রক্সিস্পেকস এবং একটি যুক্তি হিসাবে একটি পোর্ট বা পরিষেবার নাম প্রয়োজন৷
যেহেতু এর জন্য DNS লুকআপের প্রয়োজন, তাই NAT ইঞ্জিন লুকআপ ব্যবহার করা বাঞ্ছনীয় (দেখুন
উপরে), যখন এটি সম্ভব হয় না, যেমন যখন কোন সমর্থিত NAT নেই
ইঞ্জিন বা যখন চলমান sslsplit NAT নিয়মের চেয়ে ভিন্ন সিস্টেমে
প্রকৃত সংযোগ পুনর্নির্দেশ করা হচ্ছে ব্যবহার করার সময় খেয়াল করুন -j সঙ্গে sni, তোমার দরকার হতে পারে
প্রস্তুত করা জেলের chroot ডিরেক্টরির মধ্যে থেকে নাম রেজোলিউশন কাজ করতে।

লগ ইন বৈশিষ্ট্যসমুহ


লগ স্পেসিফিকেশন শূন্য বা অধিক printf-শৈলী নির্দেশাবলী দ্বারা গঠিত; সাধারণ
অক্ষর সরাসরি আউটপুট পাথ অন্তর্ভুক্ত করা হয়. SSLsplit বর্তমান সমর্থন করে
নিম্নলিখিত নির্দেশাবলী:

%T একটি ISO 8601 UTC টাইমস্ট্যাম্প হিসাবে প্রাথমিক সংযোগের সময়।

%d গন্তব্য ঠিকানা এবং পোর্ট.

%s উৎস ঠিকানা এবং পোর্ট.

%x স্থানীয় প্রক্রিয়ার নাম। প্রয়োজন -i ব্যবহার করা যদি প্রক্রিয়া তথ্য হয়
অনুপলব্ধ, এই নির্দেশিকা আউটপুট পথ থেকে বাদ দেওয়া হবে।

%X স্থানীয় প্রক্রিয়ার সম্পূর্ণ পথ। প্রয়োজন -i ব্যবহার করা যদি প্রক্রিয়া
তথ্য অনুপলব্ধ, এই নির্দেশ আউটপুট পথ থেকে বাদ দেওয়া হবে.

%u স্থানীয় প্রক্রিয়ার ব্যবহারকারীর নাম বা সংখ্যাসূচক uid। প্রয়োজন -i ব্যবহার করা যদি
প্রক্রিয়া তথ্য অনুপলব্ধ, এই নির্দেশ আউটপুট থেকে বাদ দেওয়া হবে
পথ।

%g স্থানীয় প্রক্রিয়ার গোষ্ঠীর নাম বা সাংখ্যিক জিআইডি। প্রয়োজন -i ব্যবহার করা যদি
প্রক্রিয়া তথ্য অনুপলব্ধ, এই নির্দেশ আউটপুট থেকে বাদ দেওয়া হবে
পথ।

%% একটি আক্ষরিক '%' অক্ষর।

ন্যাট ইঞ্জিন


SSLsplit বর্তমানে নিম্নলিখিত NAT ইঞ্জিনগুলিকে সমর্থন করে:

pf OpenBSD প্যাকেট ফিল্টার (pf) rdr/rdr-টু NAT পুনঃনির্দেশ, এছাড়াও FreeBSD এ উপলব্ধ,
NetBSD এবং Mac OS X। IPv6 সহ সম্পূর্ণ সমর্থিত। অন্তর্মুখী ইন্টারফেস অনুমান
em0, প্রথমে পুরানো (FreeBSD, Mac OS X), তারপর নতুন (OpenBSD 4.7+) সিনট্যাক্সে:

rdr পাস on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন বন্দর 80
-> :: ১ বন্দর 10080
rdr পাস on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন বন্দর 443
-> :: ১ বন্দর 10443
rdr পাস on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন বন্দর 80
-> 127.0.0.1 বন্দর 10080
rdr পাস on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন বন্দর 443
-> 127.0.0.1 বন্দর 10443

পাস in দ্রুত on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন
বন্দর 80 rdr-টু :: ১ বন্দর 10080
পাস in দ্রুত on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন
বন্দর 443 rdr-টু :: ১ বন্দর 10443
পাস in দ্রুত on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন
বন্দর 80 rdr-টু 127.0.0.1 বন্দর 10080
পাস in দ্রুত on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন
বন্দর 443 rdr-টু 127.0.0.1 বন্দর 10443

ipfw FreeBSD IP ফায়ারওয়াল (IPFW) ডাইভার্ট সকেট, এছাড়াও Mac OS X-এ উপলব্ধ। উপলব্ধ
পিএফ ব্যবহার করে ফ্রিবিএসডি এবং ওপেনবিএসডি-তে ডাইভার্ট-এ. ফ্রিবিএসডি এবং ওপেনবিএসডি-তে সম্পূর্ণ সমর্থিত,
IPv6 সহ। IPFW এর প্রাচীন সংস্করণের কারণে শুধুমাত্র Mac OS X-এ IPv4 সমর্থন করে
অন্তর্ভুক্ত প্রথমে আইপিএফডব্লিউতে, তারপর পিএফ-এ ডাইভার্ট-এ বাক্য গঠন:

ipfw যোগ fwd :: ১ TCP থেকে 2001: db8 :: / 64 থেকে কোন 80
ipfw যোগ fwd :: ১ TCP থেকে 2001: db8 :: / 64 থেকে কোন 443
ipfw যোগ fwd 127.0.0.1,10080 TCP থেকে 192.0.2.0/24 থেকে কোন 80
ipfw যোগ fwd 127.0.0.1,10443 TCP থেকে 192.0.2.0/24 থেকে কোন 443

পাস in দ্রুত on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন
বন্দর 80 ডাইভার্ট-এ :: ১ বন্দর 10080
পাস in দ্রুত on em0 প্রোটো TCP থেকে 2001: db8 :: / 64 থেকে কোন
বন্দর 443 ডাইভার্ট-এ :: ১ বন্দর 10443
পাস in দ্রুত on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন
বন্দর 80 ডাইভার্ট-এ 127.0.0.1 বন্দর 10080
পাস in দ্রুত on em0 প্রোটো TCP থেকে 192.0.2.0/24 থেকে কোন
বন্দর 443 ডাইভার্ট-এ 127.0.0.1 বন্দর 10443

ipfilter
IPFilter (ipfilter, ipf), FreeBSD, NetBSD সহ অনেক সিস্টেমে উপলব্ধ
লিনাক্স এবং সোলারিস। SIOCGNATL-এর সীমাবদ্ধতার কারণে শুধুমাত্র IPv4 সমর্থন করে ioctls(2)
ইন্টারফেস. অন্তর্মুখী ইন্টারফেস অনুমান bge0:

rdr bge0 0.0.0.0/0 বন্দর 80 -> 127.0.0.1 বন্দর 10080
rdr bge0 0.0.0.0/0 বন্দর 443 -> 127.0.0.1 বন্দর 10443

Netfilter
লিনাক্স নেটফিল্টার iptables REDIRECT লক্ষ্য ব্যবহার করে। শুধুমাত্র কারণে IPv4 সমর্থন করে
SO_ORIGINAL_DST-এ সীমাবদ্ধতা getsockopt(2) ইন্টারফেস।

iptables- র -t NAT -A প্রিরাউটিং -s 192.0.2.0/24
-p TCP --ডিপোর্ট 80
-j রিডাইরেক্ট করুন -- বন্দর থেকে 10080
iptables- র -t NAT -A প্রিরাউটিং -s 192.0.2.0/24
-p TCP --ডিপোর্ট 443
-j রিডাইরেক্ট করুন -- বন্দর থেকে 10443

tproxy লিনাক্স নেটফিল্টার iptables TPROXY টার্গেট ব্যবহার করে একসাথে রাউটিং টেবিল ম্যাজিক
স্থানীয় সকেটগুলিতে অ-স্থানীয় ট্র্যাফিক উৎপন্ন হওয়ার অনুমতি দিতে। সম্পূর্ণ সমর্থিত,
IPv6 সহ।

ip -f inet6 নিয়ম যোগ fwmark 1 খুঁজে দেখো 100
ip -f inet6 রুট যোগ স্থানীয় ডিফল্ট দেব lo টেবিল 100
ip6 টেবিল -t ছিন্ন করা -N ডাইভার্ট
ip6 টেবিল -t ছিন্ন করা -A ডাইভার্ট -j মার্ক --সেট-চিহ্ন 1
ip6 টেবিল -t ছিন্ন করা -A ডাইভার্ট -j গ্রহণ
ip6 টেবিল -t ছিন্ন করা -A প্রিরাউটিং -p TCP -m সকেট -j ডাইভার্ট
ip6 টেবিল -t ছিন্ন করা -A প্রিরাউটিং -s 2001: db8 :: / 64
-p TCP --ডিপোর্ট 80
-j TPROXY --tproxy-চিহ্ন 0x1/0x1 --অন-পোর্ট 10080
ip6 টেবিল -t ছিন্ন করা -A প্রিরাউটিং -s 2001: db8 :: / 64
-p TCP --ডিপোর্ট 443
-j TPROXY --tproxy-চিহ্ন 0x1/0x1 --অন-পোর্ট 10443
ip -f Inet নিয়ম যোগ fwmark 1 খুঁজে দেখো 100
ip -f Inet রুট যোগ স্থানীয় ডিফল্ট দেব lo টেবিল 100
iptables- র -t ছিন্ন করা -N ডাইভার্ট
iptables- র -t ছিন্ন করা -A ডাইভার্ট -j মার্ক --সেট-চিহ্ন 1
iptables- র -t ছিন্ন করা -A ডাইভার্ট -j গ্রহণ
iptables- র -t ছিন্ন করা -A প্রিরাউটিং -p TCP -m সকেট -j ডাইভার্ট
iptables- র -t ছিন্ন করা -A প্রিরাউটিং -s 192.0.2.0/24
-p TCP --ডিপোর্ট 80
-j TPROXY --tproxy-চিহ্ন 0x1/0x1 --অন-পোর্ট 10080
iptables- র -t ছিন্ন করা -A প্রিরাউটিং -s 192.0.2.0/24
-p TCP --ডিপোর্ট 443
-j TPROXY --tproxy-চিহ্ন 0x1/0x1 --অন-পোর্ট 10443

নোট করুন যে রিটার্ন পাথ ফিল্টারিং (rp_filter) ইন্টারফেসে অক্ষম করা দরকার
যা TPROXY পুনঃনির্দেশিত ট্রাফিক পরিচালনা করে।

উদাহরণ


উপরের NAT ইঞ্জিন কনফিগারেশন নমুনাগুলির সাথে মিল, IPv4 এর উপর HTTP এবং HTTPS বাধা দেয়
এবং CA প্রাইভেট কী সহ জাল সার্টিফিকেট ব্যবহার করে IPv6 ca.key এবং সার্টিফিকেট ca.crt,
লগিং সংযোগ connect.log এবং এর অধীনে পৃথক ফাইলে সংযোগ ডেটা / tmp -র পরিবর্তে (যোগ করুন
-e nat-ইঞ্জিন আপনার একাধিক ইঞ্জিন উপলব্ধ থাকলে উপযুক্ত ইঞ্জিন নির্বাচন করতে
পদ্ধতি):

sslsplit -k ca.key -c ca.crt -l connect.log -L / tmp -র পরিবর্তে
HTTPS দ্বারা :: ১ 10443 HTTPS দ্বারা 127.0.0.1 10443
HTTP :: ১ 10080 HTTP 127.0.0.1 10080

একই সেটিংস ব্যবহার করে IMAP/IMAPS-কে আটকানো:

sslsplit -k ca.key -c ca.crt -l connect.log -L / tmp -র পরিবর্তে
SSL :: ১ 10993 SSL 127.0.0.1 10993
TCP :: ১ 10143 TCP 127.0.0.1 10143

একটি আরো টার্গেটেড সেটআপ, শুধুমাত্র HTTPS, থেকে সার্টিফিকেট/চেইন/কী ফাইল ব্যবহার করে /path/to/cert.d
এবং স্থিরভাবে পুনঃনির্দেশ করা হচ্ছে www.example.org একটি NAT ইঞ্জিন জিজ্ঞাসা করার পরিবর্তে:

sslsplit -t /path/to/cert.d -l connect.log -L / tmp -র পরিবর্তে
HTTPS দ্বারা :: ১ 10443 www.example.org 443
HTTPS দ্বারা 127.0.0.1 10443 www.example.org 443

মূল উদাহরণ, কিন্তু কম্প্রেশন অক্ষম করে গতির জন্য অপ্টিমাইজ করা SSL বিকল্পগুলি ব্যবহার করে
এবং শুধুমাত্র দ্রুত ব্লক সাইফার সাইফার স্যুট নির্বাচন করা এবং একটি পূর্বনির্ধারিত ব্যক্তিগত কী ব্যবহার করা
leaf.key জাল সার্টিফিকেটের জন্য (সর্বাধিক উল্লেখযোগ্য গতি বৃদ্ধি দ্বারা অর্জিত হয়
CA এবং লিফ প্রাইভেট কীগুলির জন্য দ্রুত অ্যালগরিদম এবং ছোট কী আকার নির্বাচন করা; চেক
OpenSSL স্পীড আপনার সিস্টেমে অ্যালগরিদম কর্মক্ষমতা জন্য):

sslsplit -Z -s NULL:RC4:AES128 -K leaf.key
-k ca.key -c ca.crt -l connect.log -L / tmp -র পরিবর্তে
HTTPS দ্বারা :: ১ 10443 HTTPS দ্বারা 127.0.0.1 10443
HTTP :: ১ 10080 HTTP 127.0.0.1 10080

মূল উদাহরণ, কিন্তু ব্যবহারকারীর অধীনে একটি ডেমন হিসাবে চলছে sslsplit এবং একটি PID ফাইল লিখুন:

sslsplit -d -p /var/run/sslsplit.pid -u sslsplit
-k ca.key -c ca.crt -l connect.log -L / tmp -র পরিবর্তে
HTTPS দ্বারা :: ১ 10443 HTTPS দ্বারা 127.0.0.1 10443
HTTP :: ১ 10080 HTTP 127.0.0.1 10080

একটি CA ব্যক্তিগত কী তৈরি করতে ca.key এবং সার্টিফিকেট ca.crt OpenSSL ব্যবহার করে:

বিড়াল >x509v3ca.cnf <<'EOF'
[প্রয়োজন]
distinguished_name = reqdn

[ reqdn ]

[v3_ca]
মৌলিক সীমাবদ্ধতা = CA:TRUE
subjectKeyIdentifier = হ্যাশ
authorityKeyIdentifier = keyid: সর্বদা, ইস্যুকারী: সর্বদা
ফাইলের শেষে

OpenSSL genrsa -out ca.key 1024
OpenSSL req -নতুন -নোড -x509 -শা১ -out ca.crt -চাবি ca.key
-কনফিগ x509v3ca.cnf - এক্সটেনশন v3_ca
-বিষয় '/O=SSLsplit মূল CA/CN=SSL স্প্লিট মূল CA/'
-সেট_সিরিয়াল 0 -দিন 3650

নোট


SSLsplit তুলনামূলকভাবে বেশি সংখ্যক শ্রোতা এবং সংযোগের কারণে হ্যান্ডেল করতে সক্ষম
মাল্টিথ্রেডেড, ইভেন্ট ভিত্তিক আর্কিটেকচার লিবিভেন্টের উপর ভিত্তি করে, প্ল্যাটফর্মের সুবিধা গ্রহণ করে
নির্দিষ্ট নির্বাচন () প্রতিস্থাপন যেমন kqueue. প্রধান থ্রেড শ্রোতাদের পরিচালনা করে এবং
সিগন্যালিং, যখন সিপিইউ কোরের দ্বিগুণ সংখ্যার সমান কর্মী থ্রেডের সংখ্যা
CPU- সহ পৃথক ইভেন্ট বেসে প্রকৃত সংযোগগুলি পরিচালনা করার জন্য ব্যবহৃত হয়
নিবিড় SSL/TLS হ্যান্ডলিং।

সার্টিফিকেট ক্যাশ করার জন্য ভাল-পারফর্মিং ডেটা স্ট্রাকচার বেছে নেওয়ার জন্য যত্ন নেওয়া হয়েছে
SSL সেশন। এটা নিশ্চিত করতে আলাদা ডিস্ক রাইটার থ্রেডে লগিং প্রয়োগ করা হয়
সকেট ইভেন্ট হ্যান্ডলিং থ্রেডগুলিকে I/O ডিস্কে ব্লক করতে হবে না। DNS লুকআপ সঞ্চালিত হয়
অ্যাসিঙ্ক্রোনাসলি SSLsplit পরিমাণ কমাতে উভয় প্রান্তে SSL সেশন ক্যাশিং ব্যবহার করে
সম্পূর্ণ SSL হ্যান্ডশেক, কিন্তু তারপরও, SSL সংযোগগুলি পরিচালনা করার ক্ষেত্রে সীমিত কারণ
প্রকৃত বিগনাম গণনা।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে sslsplit ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম