کد شدن درخواست ها بعد از تنظیم آیپی و پورت
دوستان عزیز سلام یک سوال داشتم ممنون میشم راهنمایی کنید
من الان توسط این آموزش http://ajayadas.com/e110body-anchor/ برای اسکویید certificate ایجاد کردم
میخوام بدونم که آیا وقتی آی پی پورت رو بعد از این تنظیمات در مرورگرم set میکنم آیا تمام درخواست های من به صورت کد شده ارسال میشه ؟ یعنی قابل اسنیف شدن هستن یا نیستن
باز هم میگم من دقیقاْ آموزش این سایتی که لینک دادم رو انجام میدم
مرسی
16 پاسخ
اول از فایل Squid یک Backup بگیرید که اگر مشکلی بود بتونید به حالت اول برگردونید ، موارد زیر ر رو به خط تنظیمات Squid اضاف کنید:
acl all src all
به جای
https_port 3130 transparent cert=/etc/pki/tls/certs/squidserver.crt key=/etc/pki/tls/private/squidserver.key
مورد زیر رو جایگزین کنید
https_port 443 transparent cert=/etc/pki/tls/certs/squidserver.crt key=/etc/pki/tls/private/squidserver.key
در نهایت به وب سایت زیر متصل بشید بعد از Restart کردن سرویس ها :
http://www.google.com:443/
در نهایت خروجی tcpdump رو بهمون بعد از اجرا نشون بدید شاید مشکل حل بشه ، هنوز خیلی ابهام داره این مشکل و دلایل زیادی هم میتونه داشته باشه ...
اولا خوش آمد میگم به شما ، به جمع ITPRO ها خوش اومدید ، ثانیه اگر کاملا درست عملیات رو انجام داده باشید و تنظیمات Proxy رو به درستی انجام داده باشید باید Certificate ای که در مدار قرار دادید ارتباط بین شما را Encrypt کنه ، آیا شما برای اتصال به Squid هشدار Certificate رو دریافت می کنید یا خیر ؟ اگر دریافت می کنید ترافیک شما کاملا Encrypt شده هست و تا حدود زیادی خیالتون میتونه بابت شنود نشدن راحت باشه.
این تنظیماتی که من در فایل stunnel.conf گذاشتم
cert = /etc/stunnel/stunnel.pem pid = /var/run/stunnel.pid sslVersion = all setuid = root setgid = root output = /var/log/stunnel.log [squid] accept = 80 connect = 127.0.0.1:443
شما باید برای کلاینت ها و Squid سرویس Tunneling راه اندازی کنید که ترافیک HTTP و HTTPS توی این Tunnel بیاد به آموزش های زیر مراجعه کنید :
http://www.jeffyestrumskas.com/index.php/how-to-setup-a-secure-web-proxy-using-ssl-encryption-squid-caching-proxy-and-pam-authentication/ http://wiki.squid-cache.org/Features/HTTPS http://superuser.com/questions/803577/how-to-encrypt-connection-to-a-squid-proxy-server
با این روش بریم جلو فکر کنم هر بار به یک خطای جدید میخوریم اینجوری نمیشه ، شما بگید دقیقا چه مواردی قرار هست در Squid شما پیکربندی بشه و خواسته های شما دقیقا چی هست ، بعد ما تنظیمات درست رو در ادامه قرار میدیم ، چون Troubleshooting اینجوری هر بار مشکلات جدیدترین ایجاد می کنه ، دقیقا بگید چه نوع ترافیکی قرار هست رد بشه ، چه چیزایی میخاین Encrypt باشه و به همین ترتیب اینجوری بیشتر میشه کمک کرد ..
ممنون دوست عزیز من stunnel رو نصب کردم و تمام تنظیمات رو هم انجام دادم ولی در برنامه سمت کلاینت این اررور رو بعد از وصب شدن به سرور بهم میده :
2014.09.20 13:18:16 LOG3[7064:22036]: SSL_connect: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
جناب UNITY این رو هم ببینید :
[root@server1 stunnel]# openssl s_client -connect 209.xxx.xx.xxx:80 CONNECTED(00000003) 140659472664392:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:766: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 7 bytes and written 263 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE ---
ممنون میشم راهنمایی کنید
مرسی
مرسی دوست عزیزم
در مورد هشدار موقع کانکت شدن به سرور ، نه هیچ ارروری نمیگیرم
من تنظیمات اون سایت رو انجام دادم و آی پی پورت سرور رو در مرورگرم ست کردم ( 209.193.xx.xxx با پورت 80 )
در تنظیمات iptables لینوکسم این چند خط کد هم اضافه کردم
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 443 -j REDIRECT –to-port 3130
این هم اطلاعات داخل فایل squid.conf
visible_hostname squidserver http_port 3128 transparent https_port 3130 transparent cert=/etc/pki/tls/certs/squidserver.crt key=/etc/pki/tls/private/squidserver.key forwarded_for off acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow all http_port 3128 # We recommend you to use at least the following line. hierarchy_stoplist cgi-bin ? # Uncomment and adjust the following to add a disk cache directory. #cache_dir ufs /var/spool/squid 100 16 256 # Leave coredumps in the first cache dir coredump_dir /var/spool/squid # Add any of your own refresh_pattern entries above these. refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
ممنون از راهنماییتون
ببینید من میخوام وقتی که client user به سرور من وصل میشه همه کارهایی که تو اینترنت انجام میشه به صورت encrypt شده باشه
مثلاْ وقتی وارد یه سایت میشه و نام کاربری و رمز عبورشو میزنه داده های ارسالی کد بشه و به سرور من فرستاده بشه که کسی نتونه دیتا ها رو اسنیف کنه
یا مثلاْ وقتی داره یک فایل آپلود میکنه عملیات آپلود به صورت کد شده ارسال بشن
یک ارتباط امن که توسط هکر قابل شنود نباشه
من با برنامه وایر شارک شبکه رو اسکن میکنم
من که تو مرورگرم آی پی پورت سرور اسکویید رو ست کردم و یک فرم لاگین رو اجرا میکنم برنامه وایر شارک آدرس سایتی که رفتم و نام کاربری و پسوردی رو که وارد کردم بهم نشون میده ُ یعنی اون سرور اسکویید هیچ تاثیری روی دیتاهای من نزاشته
این امکان وجود نداره ، شما نمیتونید همه چیز در اینترنت رو Encrypt کنید خواه ناخواه ترافیکی که به سمت سرورهای اینترنتی رد و بدل میشه رمزنگاری نشده هست و اگر قرار باشه Encryption ای انجام بشه باید سرورها هم از اون پشتیبانی کنن ، شما چجوری میخاین مثلا ترافیکتون با سایت یاهو رو رمزنگاری شده رد و بدل کنید ؟ تنها کاری که می تونید انجام بدید امن کردن ارتباطات کلاینت ها با سرور Squid هست نه خود اینترنت چون شما دسترسی به اینترنت برای کنترل این مورد ندارید ، برای اینکار هم راهکار رو گفتیم همون stunnel هست البته نمیدونم چرا برای شما جواب نداده و این خطاها رو میده اما به هر حال ترجیحا شما از سیستم Backup بگیرید اول Stunnel رو تنظیم کنید و بعد روش Squid رو نصب کنید ، راهنمای زیر بصورت گام به گام نصب و راه اندازی Stunnel در کنار Squid رو آموزش داده امیدوارم بعد از انجام گام به گام اون مشکلتون برطرف بشه ، البته حتما به تنظیمات Client ها هم توجه کنید :
خب الان پیشنهاد شما برای اینکه بتونم داده های ارسالی رو ecrypt کنم چیه ؟
این آموزش برای برطرف کردن مشکلی هست که معمولا Squid با باز کردن وب سایت های HTTPS داره ، با انجام این فرآیند ترافیک شما Encrypt نمیشه و این برداشت اشتباه من بوده ، با انجام اینکار ترافیک HTTPS شما باید با سرعت بهتری رد و بدل بشه با توجه به اینکه در Squid همه ترافیک های پورت 80 روی پورت 3128 بازگشت داده میشه به Squid همین پورت برای 443 درست عمل نمی کنه و اینطور نیست که بگیم 443 هم براحتی میاد روی پروت 3128 Squid بنابراین با اینکار شما باید سرعت بهتری در باز کردن سایت های HTTPS پیدا کنید و فکر نمی کنم ارتباطی به بحث Encryption ترافیک شبکه و شنود داشته باشه این موضوع چون فقط به SSL وب سایت ها اعمال میشه.
احتمالا تنظیمات شما بصورت کامل انجام نشده فایل stunnel.conf رو باز کنید و Manual مربوطه رو مطالعه کنید ، در ادامه log فایل مربوطه رو هم اگر مشکلی داشت ارسال کنید ، سعی کنید موارد زیر رو قبل از Router وارد کنید به شکل زیر :
sslVersion = SSLv3 cert=stunnel.pem key=stunnel.pem # Authentication stuff, try 0 for test verify = 0 CApath = /your/CAcerts/path debug = 7 output = stunnel.log
سلام
وقتی خط acl all serc all اضافه میکنم موقع resrtart کردن سرور squid این اررور رو میده ولی خب سرور restart میشه
2014/09/21 06:54:41| WARNING: (B) '::/0' is a subnetwork of (A) '::/0' 2014/09/21 06:54:41| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable 2014/09/21 06:54:41| WARNING: You should probably remove '::/0' from the ACL named 'all'
و اینکه خروجی tcpdump رو چه چوری بهتون بدم
یعنی ip:port رو تو مرورگرم ست کنم بعد آدرس گوگل رو با پورت 443 تو مرورگر باز کنم بعد تمام خروجی هایی که از tcpdump اومد اینجا واستون بزارم ؟؟
در ضمن من این تنظیماتم داخل iptables دارم که واستون میزارم ببینید :
*nat :PREROUTING ACCEPT [2613:163144] :POSTROUTING ACCEPT [5057:304992] :OUTPUT ACCEPT [5057:304992] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3130 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3130
این هم ورژن openssl که رو vps نصب کردم :
OpenSSL> version OpenSSL 1.0.1e-fips 11 Feb 2013