English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هل يوجد أمان للمستمع؟ نعم! بالافتراض، يمكن لأي مستخدم الوصول إلى أدوات lsnrctl والعمل على Oracle Listener أو إغلاقه دون استخدام أي كلمة مرور، مما يؤدي إلى عدم تمكن أي جلسة جديدة من إنشاء اتصال. يسمح مستمع Oracle في إصدار 9i لأي شخص باستخدام lsnrctl لبدء إدارة المستمع من بُعد. وهو ما يمكن أن يؤدي أيضًا إلى تلف قاعدة البيانات.
1. إيقاف المستمع دون إعداد كلمة المرور
[oracle@test ~]$ lsnrctl stop listener_demo92 --> إيقاف المستمع، يمكن ملاحظة أنه لا يحتاج إلى أي كلمة مرور لإيقاف العمل LSNRCTL for Linux: إصدار 9.2.0.8.0 - إنتاج في 26-يونيو-2011 08:22:26 الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة. الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) تم إكمال الأمر بنجاح
2. إعادة بدء المستمع وإعداد كلمة المرور
[oracle@test ~]$ lsnrctl LSNRCTL for Linux: إصدار 9.2.0.8.0 - إنتاج في 26-يونيو-2011 08:24:09 الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة. مرحبًا بك في LSNRCTL، اكتب "help" للحصول على معلومات. LSNRCTL> set current_listener listener_demo92 --> إعداد المستمع الحالي المستمع الحالي هو listener_demo92 LSNRCTL> start --> العملية لا تحتاج إلى أي كلمة مرور، تفاصيل بدء العملية تُسقط LSNRCTL> change_password --> استخدم change_password لتعيين كلمة المرور كلمة المرور القديمة: كلمة المرور الجديدة: أدخل كلمة المرور الجديدة مجدداً: الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) تم تغيير كلمة المرور لمستمع listener_demo92 تم إكمال الأمر بنجاح LSNRCTL> save_config --> انتبه، فشل save_config هنا الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع LSNRCTL> set password --> أدخل كلمة المرور الجديدة للتأكيد كلمة المرور: تم إكمال الأمر بنجاح LSNRCTL> save_config --> نجح save_config مرة أخرى الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) تم حفظ إعدادات تكوين listener_demo92. ملف Parameter المستمع /oracle/92/network/admin/listener.ora ملف Parameter القديم /oracle/92/network/admin/listener.bak تم إكمال الأمر بنجاح --> بعد إضافة كلمة المرور يمكن رؤية سجل جديد في ملف listener.ora، وهو خيار كلمة المرور (ملاحظة: حتى بعد استخدام طريقة إدارة كلمة المرور، يمكن تشغيل المستمع بدون كلمة المرور) [oracle@test admin]$ more listener.ora #----إضافة بواسطة TNSLSNR 26-حزيران-2011 05:12:48--- PASSWORDS_listener_demo92 = #--------------------------------------------
3. محاولة إيقاف الاستماع بدون استخدام كلمة المرور
[oracle@test ~]$ lsnrctl stop listener_demo92 LSNRCTL للـ Linux: إصدار 9.2.0.8.0 - الإنتاج في 26-حزيران-2011 06:09:51 الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة. الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) TNS-01169: لم يتعرف المستمع على كلمة المرور --> تلقي رسالة خطأ، يجب استخدام تأكيد كلمة المرور
4. استخدام كلمة المرور لوقف الاستماع
[oracle@test ~]$ lsnrctl LSNRCTL> تعيين المستمع الحالي listener_demo92 المستمع الحالي هو listener_demo92 LSNRCTL> stop الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع LSNRCTL> set password كلمة المرور: تم إكمال الأمر بنجاح LSNRCTL> stop الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) تم إكمال الأمر بنجاح LSNRCTL> status الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) TNS-12541: TNS:لا يوجد مستمع TNS-12560: TNS:خطأ في محول البروتوكول TNS-00511: لا يوجد مستمع خطأ Linux: 111: رفض الاتصال الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541: TNS:لا يوجد مستمع TNS-12560: TNS:خطأ في محول البروتوكول TNS-00511: لا يوجد مستمع خطأ Linux: 2: لا يوجد ملف أو مجلد
5. مشكلة فشل save_config
--> في Oracle 9i، سيتم رفض أمر save_config LSNRCTL> save_config الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>))) TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع --> يجب استخدام set password قبل save_config، وسيتم حفظ الإعدادات بنجاح. LSNRCTL> set password كلمة المرور: <الكلمة المراد اختيارها> تم إكمال الأمر بنجاح /* لا يوجد مشكلة مشابهة في Oracle 10g، لأنه يمكن استخدام طريقة التحقق القائمة على نظام التشغيل في 10g. سيقوم المستمع بالتحقق من أن المستخدم يتبع مجموعة dba، سيتم منح صلاحيات تغيير كلمة المرور، حفظ الإعدادات، وتشغيل الاستماع وما إلى ذلك. */
6. تكوين معامل ADMIN_RESTRICTIONS في ملف listener.ora
دور المعامل:
عند تعيين معامل ADMIN_RESTRICTIONS في ملف listener.ora، لا يُسمح بتنفيذ أي أمر إدارة أثناء تشغيل المستمع، كما أن أمر set لن يكون متاحًا
، لا يهم إذا كنت تقوم بذلك على مستوى الخادم المحلي أو من مسافة بعيدة، لا ينجح. في هذه الحالة، يتم تعديل إعدادات الاستماع فقط من خلال تعديل ملف listener.ora يدويًا، لجعل التعديل يُطبق، يجب
استخدم أمر lsnrctl reload أو lsnrctl stop/start لإعادة تحميل معلومات إعدادات المستمع مرة أخرى.
طريقة التعديل:
في ملف listener.ora، أضف يدويًا سطرًا مثل هذا
ADMIN_RESTRICTIONS_<اسم المستمع> = ON
إليكم إضافات الآخرين:
LSNRCTL> change_password
كلمة المرور القديمة:
كلمة المرور الجديدة:
أدخل كلمة المرور الجديدة مجدداً:
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
تم تغيير كلمة المرور للمستمع
تم إكمال الأمر بنجاح
LSNRCTL> set password
كلمة المرور:
تم إكمال الأمر بنجاح
LSNRCTL> save_config
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
تم حفظ معلمات تكوين المستمع
ملف معلمات المستمع ( /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora )
ملف المعلمات القديم /opt/oracle/product/10.2.0/db_1/network/admin/listener.bak
تم إكمال الأمر بنجاح
[oracle@ecp-uc-db1 admin]$ cat listener.ora
#—- ADDED BY TNSLSNR 10-JUN-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
ملاحظة: يجب إضافة (إعادة تشغيل المستمع) على قاعدة البيانات 10g
LOCAL_OS_AUTHENTICATION_LISTENER = OFF
1- إضافة LOCAL_OS_AUTHENTICATION_LISTENER = OFF قبل ذلك
الأمان ON: كلمة المرور أو التحقق من النظام المحلي
2- إضافة LOCAL_OS_AUTHENTICATION_LISTENER = OFF بعد ذلك
الأمان مفعّل: كلمة المرور
LSNRCTL> status
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع
LSNRCTL> stop
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع
LSNRCTL> set password 123456
تم إكمال الأمر بنجاح
LSNRCTL> status
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
حالة المستمع LISTENER
————————
الاسم المميز LISTENER
إصدار TNSLSNR للـ Linux: إصدار 10.2.0.4.0 – الإنتاج
تاريخ البدء 10-JUN-2011 18:15:49
وقت التشغيل 0 يوم 0 ساعة. 1 دقيقة. 16 ثانية
مستوى التتبع معطل
الأمان مفعّل: كلمة المرور
SNMP معطل
ملف معلمات المستمع ( /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora )
ملف سجلات المستمع ( /opt/oracle/product/10.2.0/db_1/network/log/listener.log )
ملخص نقاط الاستماع...
(وصف=(عنوان=(بروتوكول=tcp)(المضيف=ECP-UC-DB1)(المنفذ=1521)))
(وصف=(عنوان=(بروتوكول=ipc)(المفتاح=EXTPROC0)))
ملخص الخدمات...
خدمة “PLSExtProc” تحتوي على 1 مثالًا.
مثال “PLSExtProc”,الحالة غير معروفة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecp” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecpXDB” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecp_XPT” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
تم إكمال الأمر بنجاح