تازه ها در Jessie – سرویس Squid

سرویس squid یکی web proxy است که دارای ویژگی های مختلفی می باشد. از جمله cacching و reverse proxy یا accelerator و … .در دبیان Jessie نسخه ۳٫۴ این سرویس وجود دارد و دیگر مانند نسخه قبل اثری از squid نسخه ۲٫۷ نیست. در این چند تفاوت و مشکل موجود در این نسخه ذکر خواهد شد

acl all
این تغییر تنها در Jessie نیست و مربوط به نسخه ۳٫x می باشد. در نسخه قدیمی دبیان، wheezy نیز این تغییر در نسخه ۳٫۰ وجود داشت. در نسخه ۳ به بعد دیگر نیازی به تعریف یک acl برای all نیست و all یک کلمه کلیدی است و شما می توانید در acl های خود استفاده کنید. مثلا برای تعریف دسترسی به صورت زیر نیازی به تعریف acl مربوط به all وجود ندارد

http_access allow all

تغییر نام helper ها
در صورتی که شما هم از helper ها زیاد استفاده می کنید، دقت داشته باشید که نام helper ها تغییر پیدا کرده است. کافی مسیر زیر را مشاهده کنید

~# ls /usr/lib/squid3/
basic_db_auth      basic_radius_auth   ext_ldap_group_acl negotiate_wrapper_auth
basic_fake_auth      basic_sasl_auth   ext_session_acl ntlm_fake_auth
basic_getpwnam_auth      basic_smb_auth   ext_sql_session_acl ntlm_smb_lm_auth
basic_ldap_auth      basic_smb_auth.sh   ext_unix_group_acl pinger
basic_msnt_auth      cert_tool   ext_wbinfo_group_acl storeid_file_rewrite
basic_msnt_multi_domain_auth  digest_file_auth   helper-mux.pl unlinkd
basic_ncsa_auth      digest_ldap_auth   log_db_daemon url_fake_rewrite
basic_nis_auth      diskd   log_file_daemon url_fake_rewrite.sh
basic_pam_auth      ext_file_userip_acl   negotiate_kerberos_auth
basic_pop3_auth      ext_kerberos_ldap_group_acl  negotiate_kerberos_auth_test
مشکل در pam_auth helper
این مشکل بیشتر شبیه یک bug است. زیرا در نسخه های پیشین این موضوع وجود نداشت و شاید در بروزرسانی های بعدی مشکل برطرف گردد. مشکل مربوط است به basic_pam_auth. این helper برای آنکه بتواند فایل shadow را ببیند و احراز هویت را انجام دهد نیازبه دسترسی های مورد نظر دارد. در این نسخه از دبیان این مجوز ها به درستی انجام نشده است. پس مجوز این فایل را به صورت زیر اصلاح کنید
~# chgrp shadow /usr/lib/squid3/basic_pam_auth
~# chmod g+s /usr/lib/squid3/basic_pam_auth
برای استفاده از این helper می توانید به صورت زیر عمل کنید
 ادامه در سیوک

 

تازه ها در Jessie – سرویس bind

در سرویس bind تغییر زیادی رخ نداده است، تنها تغییری که با آن مواجه هستیم راه اندازی سرویس با کمک systemd است. راه اندازی bind توسط systemd باعث می شود که دیگر فایل etc/default/bind9/ خوانده نشود و در صورتی که شما نیاز به تغییر گزینه های اجرای سرویس داشته باشید باید در systemd تغییرات را انجام دهید و تغییر این فایل تاثیری نخواهد داشت.

راه اندازی bind9 به صورت chroot
یکی از موارد امنیتی که در مورد bind پیشنهاد می گردد راه اندازی سرویس به صورت chroot است. در صورتی که قبلا این کار را انجام نداده اید می توانید از این راهنمای دبیان استفاده کنید. یکی از مراحل انجام کار معرفی مسیر chroot در فایل etc/default/bind9/ است. با توجه به توضیحی که در ابتدای این نوشته گفته شد تغییر این فایل تاثیری ندارد و شما باید فایل etc/systemd/system/multi-user.target.wants/bind9.service/ را به صورتی زیر ویرایش کنید

[Unit]
Description=BIND Domain Name Server
Documentation=man:named(8)
After=network.target
[Service]
ExecStart=/usr/sbin/named -f -u bind -t /var/bind9/chroot
ExecReload=/usr/sbin/rndc reload
ExecStop=/usr/sbin/rndc stop
[Install]
WantedBy=multi-user.target

ادامه مطلب در سیوک

 

تازه ها در Jessie – سرویس vsftpd

vsftpd یکی از سرویس های ftp پرکاربرد است، که به دلیل سرعت و امنیت و سبک بودن آن بسیار در سرورهای اختصاصی پر طرفدار است. در دبیان Jessie نسخه ۳٫۰٫۲ این سرویس وجود دارد که نسبت به نسخه قدیمی آن در نسخه Wheezy دو تغییر اصلی داشته است. این دو تغییر با وجود کوچک بودن می تواند شما را تا مدتی درگیر خود کند.

ftpusers
اولین تغییر یا ویژگی جدید، خواندن فایل etc/ftpusers/ است. در این نسخه از دبیان vsftpd نیز مانند بقیه سرویس فایل ftpusers را می خواند. در این فایل لیستی از کاربرانی که اجازه استفاده از سرویس ftp را ندارند مشخص شده است. نیاز به تنظیم خاصی در تنظیمات vsftpd نیست. سرویس به طور پیشفرض این فایل را می خواند.

ادامه مطلب در سیوک

 

تازه ها در Jessie – جایگزین chroot

با توجه به تغییرات گسترده ای که در نسخه جدید دبیان، جسی نسخه ۸ (debian jessie 8.0) رخ داده است تصمیم گرفتیم تا شروع به تهیه مجموعه مقالاتی با نام تازه ها در jessie کنیم. امیدوار هستیم این مجموعه مقالات برای مدیران سیستم مفید واقع گردد.

شاید شما هم برای ایجاد یک محیط سبک آزمایشی از chroot استفاده کرده باشید. محیطی که با chroot در اختیار شما قرار می گیرد هیچ بار اضافه ای به سیستم تحمیل نمی کند و برای آزمایش‌های ساده که تنها به یک سیستم نیاز هست بسیار مناسب است. و شما را از راه اندازی یک سیستم مجازی بی نیاز می کند.

با جایگزینی init با systemd ،اجرای سرویس‌ها در محیط chroot با مشکل مواجه شده است و systemd اجازه راه اندازی سرویس ها را به شما نمی دهد. اگر شما هم در دبیان jessie از chroot استفاده کرده باشید، در هنگام restart سرویس ها به پیغام زیر برخورده اید

# service apache2 restart
Running in chroot, ignoring request

برای آنکه همچنان بتوانید محیط تست و یا jail داشته باشید، چندین روش موجود است. که در این جا به معرفی ابزار systemd-nspawn خواهیم پرداخت

systemd-nspawn
از این ابزار می توانید لینوکس دیگری را که در یک پارتیشن دیگر نصب شده و یا به کمک debootstrap در یک پوشه پیاده سازی شده است را به صورت container اجرا کنید.

فرض کنید در پارتیشن دیگر بر روی سیستم خود یک سیستم عامل دبیان نسخه jessie نصب کرده اید و این پارتیش را در مسیر media/jessie/ مانت کرده باشید. برای راه اندازی این لینوکس به صورت container به صورت زیر از دستور استفاده می کنید

~# systemd-nspawn -bD /media/jessie
Spawning container jessie on /media/jessie.
Press ^] three times within 1s to kill container.
[…]
Debian GNU/Linux 8 laptop-contain console
laptop-contain login:

کافیست login نمایید و شروع به استفاده کنید.

مدیریت container
زمانی که container خود را راه اندازی کردید می توانید به آن login کنید و شروع به استفاده نمایید. علاوه بر آن شما نیاز به ویژگی های دیگری نیز دارید، مانند نحوه خاموش کردن container و باز کردن چندید ترمینال در این محیط.

خاموش کردن container
برای خاموش کردن می توانید از دستور poweroff در کنسول container استفاده کنید و یا از بیرون آن دستور زیر را وارد کنید

~# machinectl peweroff jessie

به جای نام jessie نام پوشه ای که container شما در آن قرار دارد و با آن نام فراخوانی شده است را وارد کنید

باز کردن چندین ترمینال بر روی container
برای این کار می توانید از همان دستور machinectl به صورت زیر استفاده کنید

~# machinectl login jessie

منبع: سیوک