سقسقة Neglector. برنامج نصي صغير لحذف PHP تويت القديمة من تويتر
سقسقة بأتمتة عملية حذف Neglector تويت القديمة من حساب التغريد الخاص بك. ويوفر أساسا إلى "تنتهي" وظيفة لتويت الخاص. ومن المفيد للأشخاص الذين يرغبون في استخدام التغريد ولكن لا نريد تاريخا من تويت على البقاء على الانترنت لعدة عقود.
التاريخ : 20 نوفمبر 2011 | النسخة 0.1 الإصدار الأولي. يحذف تويت 28 ديسمبر 2011 | النسخة 0.2 إصلاحات الشوائب الصغيرة. الآن حذف retweets كذلك. BUGS المعروفة : لن تعمل إذا كنت أكثر من 1000 سقسقة تويت في الإطار الزمني كنت تخطط للحفاظ على تويت --. نفس retweets (100 المسموح بها). هذه هي أوجه القصور في API التغريد GET أنا باستخدام أجهزة الصراف الآلي. ربما أنا إصلاح هذه مع الإصدار القادم
سقسقة Neglector يستخدم API التغريد لحذف كافة تويت الخاص التي تم نشرها قبل عدد معين من الأيام من الآن. بهذه الطريقة يمكن تكوين النصي لحذف جميع تويت التي مضى عليها أكثر من أسبوع أو شهر على سبيل المثال. يجب أن يكون البرنامج النصي تشغيل تلقائيا من وظيفة كرون أو آلية أخرى الأتمتة على قاعدة منتظمة.
يمكن لهذا السيناريو لن يحميك من محفوظات تويت الخارجية. ولذلك فمن غير المعروف إذا كان يتم أرشفة تويت حذف بهدوء من خلال موقع تويتر (أراهن أنهم). ذلك (كما هو الحال دائما) يعتقدون قبل تويتينغ.
سقسقة Neglector يستخدم PHP كلغة برمجة وحزم التغريد OAuth مكتبة هاريس مات من أجل الوصول إلى API.
تركيب
-- PHP5 اللازمة لtmhOAuth -- بفك الأرشيف إلى دليل من اختيارك. -- سجل التغريد مفاتيح API الخاص في https://dev.twitter.com/apps -- تحرير تكوين النصي لتلائم الاحتياجات الخاصة بك : # التغريد API المفاتيح والرموز والأسرار # الحصول على هذه المفاتيح في -- https://dev.twitter.com/apps> Consumer_key $ = "المفاتيح هنا" ؛ Consumer_secret $ = "المفاتيح هنا" ؛ Access_token $ = "المفاتيح هنا" ؛ Access_token_secret $ = "المفاتيح هنا" ؛ # عدد تويت لكل دورة للعمل في Tweets_per_session = 1000 $ ؛ # اسم المستخدم التغريد Twitter_username $ = "اسم المستخدم هنا" ؛ # يوم للحفاظ على تويت Keep_days $ = 30 ؛ -- تشغيل البرنامج النصي يدويا من المتصفح ، وحدة التحكم ، أو تلقائيا بواسطة cronjob / البيرة / بن / فب / فار / على شبكة الاتصالات العالمية / tweetneglector / tweetneglector.php
سقسقة Neglector 0.2 تحميل هنا
HOWTO : سريعة وقذرة DHCP الخادم والتخزين المؤقت DNS مع dnsmasq على أوبونتو
DHCP على شبكة الاتصال المحلية هو عملي. واحد لم يعد بحاجة لإدارة تكوين شبكة من كل كمبيوتر في الشبكة إلى العملاء أنفسهم ، ولكن كل شيء له مكان جميل المركزية على الخادم. حفظ بواسطة التخزين المؤقت عملاء DNS ويجب بذل القليل من الوقت عندما حل أسماء المضيف ، حيث يمكن تطبيق الاستعلامات لأسماء معروفة من ذاكرة التخزين المؤقت المحلية المضيفة وليس إلى ملقم على شبكة الإنترنت.
يتم تعيين ملقم DHCP الصغيرة بسرعة جدا مع dnsmasq.
# تثبيت dnsmasq الرابطة بين الحصول على تثبيت dnsmasq
التكوين يأخذ مكان مركزيا في dnsmasq.conf / ملف / الخ. ينبغي للمرء أن لا تترك أمام خيارات التكوين تتركز في ملف ردع. كل شيء تقريبا هو مجرد مثال وافتراضيا علقت بها. وتكوين قصيرة جدا بالفعل كافية لإعداد العمل :
DHCP
# DHCP قناع تلقى عملاء وقناع الشبكة 255.255.255.0 # DHCP الخيار - = 1،255.255.255.0 # العبارة الافتراضية # عملاء تلقي كبوابة 192.168.1.251 DHCP الخيار - = 3،192.168.1.251 # أسماء النطاقات # عملاء الحصول على اسم خادم 192.168.1.4 # إذا كنت تريد استخدام dnsmasq كما مخبأ DNS ، يجب أن يكون هذا # IP يكون الخادم الذي يقوم بتشغيل dnsmasq DHCP الخيار - = 6،192.168.1.4 تستضيف # لعنوان IP نفسه من لجنة الهدنة العسكرية التي ستمنح : # هذا يحصل مع المضيف IP MAC 00:11:22:33:44:55 192،168.1.1 لمدة 12 ساعة DHCP في استضافة = 00:11:22:33:44:55 ، اللوبي ، 192.168.1.1،12 ح DHCP في استضافة = 00:11:22:33:44:66 ، Lobby2 ، 192.168.1.2،12 ح # أي كمبيوتر التي لا يمكن تحديدها بواسطة لجنة الهدنة العسكرية تلقي الشرطة العراقية # من مجموعة من 192.168.1.120 إلى 150 DHCP المدى = ح 192.168.1.120،192.168.1.150،12
DNS
وظيفة DNS من dnsmasq لا يحتاج إلى التكوين.
وتشعر به من خوادم dnsmasq / الخ / resolv.conf. وينبغي هنا
وتسجل معروف خادم اسم مزود وحتى ربما على شكل تراجع
8.8.8.8 للخوادم DNS على غوغل.
أكثر أسماء المضيفين التي ينبغي تطبيقها في الشبكة المحلية ، يمكن dnsmasq في الملف
أدلى تكون / الخ / تستضيف معروفة. هنا كافة أجهزة الكمبيوتر مسجلة أسماء المضيفين
في الشبكة المحلية.
المزالق
dnsmasq تحتاج إلى إعادة قراءة ملفات التكوين الخاصة به Konfigänderungen
/ الخ / تشغيله بواسطة / إعادة تشغيل dnsmasq
إذا لم يكن لديك عملاء عقد الإيجار من خادم DHCP القديمة ، يمكنك إحضار يدويا لبدء طلب DHCP الجديد.
# لينكس dhclient eth0 # ويندوز IPCONFIG / RELEASE IPCONFIG / RENEW
وعلى وجه السرعة أن نكون حذرين حتى الآن للاستخدام في أي مكان DHCP خادم (عادة في جهاز التوجيه على شبكة الإنترنت) لتعطيله. (2) يمكن ملقمات DHCP على شبكة الاتصال المحلية تولد الكثير من الفوضى.
لاسلكية ل1000H EEE rt2860 في أوبونتو
مع أي كان التحديث في الآونة الأخيرة لاسلكية على بلدي PC 1000H EEE مع أوبونتو غير مستقرة تماما. الانقطاع الدائم ، لا اللاسلكية بعد تعليق أو اتصال بطيء ، الخ.
لست متأكدا تماما ما هو عليه ، وربما كان سائق rt2860 للحصول على أي تحديث هو الشوائب.
لحسن الحظ ، يمكن حل المشكلة عن طريق تثبيت برنامج التشغيل ويندوز مع ndiswrapper.
هذه ليست سوى ترجمة مختصرة قليلا الألمانية من نمط الانكليزية الأصلية من nevdelap من منتدى أوبونتو. (شكرا لكم)
أولا تمتص برامج تشغيل Windows وفك (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)
ثان لينكس برنامج القائمة السوداء
# / الخ / modprobe.d / blacklist.conf القائمة السوداء rt2x00lib القائمة السوداء rt2x00pci القائمة السوداء rt2x00usb القائمة السوداء rt2400pci القائمة السوداء rt2500pci القائمة السوداء rt2500usb القائمة السوداء rt2800lib القائمة السوداء rt2800pci القائمة السوداء rt2800usb القائمة السوداء rt61pci القائمة السوداء rt73usb القائمة السوداء rt2600 القائمة السوداء # rt2860 1000H آسوس له rt2860. يمكن تحميل بواسطة ndiswrapper. القائمة السوداء b43 القائمة السوداء b43legacy القائمة السوداء SSB القائمة السوداء r8192s_usb
ثالث تثبيت برنامج التشغيل ويندوز مع drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k ndisgtk
سودو ndisgtk
4 تكوين نكش
# / الخ / الافتراضي / نكش GRUB_CMDLINE_LINUX_DEFAULT = "pciehp.pciehp_force pciehp.pciehp_poll البداية = 1 = 1 الهادئة"
سودو التحديث ، grub2
5 حكم إنشاء إدارة الطاقة
# / الخ / م / sleep.d / ndiswrapper # / بن / سحق قضية "$ 1" في السبات | تعليق) rmmod ndiswrapper سودو ؛ ؛ ذوبان الجليد | استئناف) سودو modprobe ndiswrapper ؛ ؛ *) ؛ ؛ esac خروج $؟
شمود + س / الخ / م / sleep.d / ndiswrapper
6 تمهيد
ثم يمتد لاسلكية سريعة ومستقرة.
PHP الغش ورقة
أنا هنا من المفيد جمع قصاصات رمز PHP
خاصية تعدد الزائفة مع الشاشة
# / Usr/bin/php5 ل! ($ I = 1 ؛ $ ط <50 ؛ $ ط + +) {صدى "بدءا $ ط \ ن" ؛ إكسيك الصفحات ("الشاشة د م / usr/bin/php5 /. . فب ") ؛} لقد ذهبت بعيدا في الخلية خادم طويلة الامد النصية قذيفة PHP
# / Etc/php5/cli/php.ini = وفي mysql.allow_persistent mysql.max_persistent = -1 mysql.max_links = -1 mysql.connect_timeout = -1
XS عصا W14 UMTS مع أوبونتو
العصا XS W14 zickt على أوبونتو حول قليلا. ورأى انه في بعض الأحيان إدارة الشبكة كمودم USB ، ولكن لا يزال لا يستطيع التواصل. بعد قليل Frickelei باءت بالفشل أنا على Sakis3G النصي المصادفة ، الذي يعد لانتاج ما يقرب من جميع محركات يمكن الاتصال به. والواقع أنه مع Sakis3G يعمل على الفور. الموصى بها ، وربما لغيرها من العصي.
PLATE XS عصا W14 ف / ن 3000.000056.00 www.4g - systems.com
# Lsusb 002 حافلة الجهاز 006 : رقم 1c9e : 9603
# / فار / السجل / syslogd فلم أجربه عند توصيل 19 يونيو نواة مربع 20:41:04 : [74186،796148] USB 2-2 : جديد كامل جهاز USB سرعة باستخدام uhci_hcd والعنوان 7 19 يونيو نواة مربع 20:41:04 : [74186،946031] scsi11 : USB لتخزين 2-2:1.0 19 يونيو مربع usb_modeswitch 20:41:05 : تبديل 1c9e : F000 (USB مودم : USB مودم) 19 يونيو نواة مربع 20:41:06 : [74189،293850] USB 2-2 : قطع USB ، والعنوان 7 19 يونيو نواة مربع 20:41:07 : [74189،660069] USB 2-2 : جديد كامل جهاز USB سرعة باستخدام uhci_hcd وعنوان 8 19 يونيو نواة مربع 20:41:07 : [74189،819348] الخيار 2-2:1.0 : GSM مودم (1 الميناء) الكشف عن محول 19 يونيو نواة مربع 20:41:07 : [74189،819577] USB 2-2 : GSM مودم (1 الميناء) تحويل المرفق إلى الآن ttyUSB0 19 يونيو نواة مربع 20:41:07 : [74189،819802] الخيار 2-2:1.1 : GSM مودم (1 الميناء) الكشف عن محول 19 يونيو نواة مربع 20:41:07 : [74189،819950] USB 2-2 : GSM مودم (1 الميناء) تحويل المرفق إلى الآن ttyUSB1 19 يونيو نواة مربع 20:41:07 : [74189،820220] الخيار 2-2:1.2 : GSM مودم (1 الميناء) الكشف عن محول 19 يونيو نواة مربع 20:41:07 : [74189،820395] USB 2-2 : GSM مودم (1 الميناء) تحويل المرفق إلى الآن ttyUSB2 19 يونيو نواة مربع 20:41:07 : [74189،821414] scsi12 : USB لتخزين 2-2:1.3 19 يونيو 20:41:07 مربع مودم مدير [10 480] :(TtyUSB1) فتح المنفذ التسلسلي.. 19 يونيو 20:41:07 مربع مودم مدير [10 480] : (TtyUSB0) فتح المنفذ التسلسلي.. 19 يونيو 20:41:07 مربع مودم مدير [10 480] : (TtyUSB2) فتح المنفذ التسلسلي.. 19 يونيو 20:41:08 usb_modeswitch المربع : تحولت إلى 1c9e : 9603 (USB مودم : تكوين المودم) 19 يونيو نواة مربع 20:41:08 : [74190،823474] 12:0:0:0 SCSI : الوصول المباشر 02:31 USBmod القرص PQ : 0 ANSI : 2 19 يونيو نواة مربع 20:41:08 : [74190،825402] SD 12:0:0:0 : مرفق نوع SCSI SG3 عامة 0 19 يونيو نواة مربع 20:41:08 : [74190،833436] SD 12:0:0:0 : [المركز] المرفقة SCSI القرص القابلة للإزالة
12 خطوات لينكس اباتشي الخلية الجذرية LAMP الويب PHP خادم آمن
وتيرة القرصنة قد ارتفعت بشكل حاد في الأشهر الأخيرة. خاصة ويمكن الحصول على الكثير من البيانات التي تصل الخارقة على خوادم الشبكة. حتى أخذت سوني PSN الإختراق الاستفادة من نقطة ضعف في غير المصلحة خادم الويب Apache. ولذلك أقوم بجمع العمل هنا ، يمكن للخادم الخاص قليلا أكثر أمنا ضد الهجمات من الخارج. بطبيعة الحال ، فإن هذا أيضا لا يوفر حماية بنسبة 100 ٪ ، ولكن من الأفضل لجعل الأشرار اللعبة قليلا أكثر صعوبة. بعض التدابير تتطلب سوى تثبيت الحد الأدنى ، والصيانة. آخرون في حاجة الى الكثير من الوقت والمعرفة للحاق بي. ينبغي للمرء أن يبحث دائما عن نسبة التكاليف والمنافع في اختيار التدابير الأمنية. فإنه لا معنى لحماية الصغيرة ، موقع خاص مثل البنك الاحتياطي الفيدرالي. ومع ذلك ، تغييرات محددة قليلة لديها بالفعل نظام كبير يعني المزيد من الأمن. وأنه يجب علاج حتى قبل فوات الأوان....
جميع النصائح وCodesnips الرجوع إلى مربع ديبيان الحالية.
الأول جدار الحماية -- كل شيء مرة واحدة تحظر
معظم توزيعات لينكس في المنشآت الافتراضية الخاصة بهم فتح أي منافذ على الخارج التي لا تشكل ضرورة مطلقة. هذا الوضع يمكن أن يتغير بسرعة ، ولكن ، حتى عندما يكون الخادم
حول اللعب ومحاولة الأشياء. فجأة وسائل الاعلام الخادم هو الاستماع على الإنترنت أو قاعدة البيانات
يقبل الاتصالات من الإنترنت. ولذلك ، فإنه ليس من الخطأ أن يضبطوا أنفسهم واقامة جدار تقييدية جدا الذي يحظر بشكل أساسي مرة واحدة كل الاتصالات من الخارج ويسمح فقط (الذاتي) مركبات المحدد. لحسن الحظ ، يتم ذلك بسرعة مع إيبتبلس. بهذه الطريقة يمكن للمرء أن لم تعد توفر الخدمات لجعل الوصول الى العالم بأن ليس لديهم عمل هناك. للأسف ، كنت تدفع القليل من الراحة -- يجب أن يتم ضبط جدار الحماية في كل مرة عندما كنت ترغب في تقديم خدمات جديدة. ومع ذلك ، فإن الجهد صغيرة وكبيرة من الفوائد.
# / بن / سحق # حذف الجداول الموجودة إيبتبلس - F # لا سمح كافة الاتصالات الواردة إيبتبلس - P INPUT DROP إيبتبلس - P FORWARD DROP # السماح الصادرة عن إيبتبلس - P OUTPUT ACCEPT اسمحوا # SSH إيبتبلس - A - INPUT ACCEPT ي ف TCP -- 22 dport # السماح HTTP إيبتبلس - A INPUT - J - P نقبل التعاون الفني -- dport 80 وعلاوة على ذلك # ، خدمة (UDP) تسمح ، على سبيل المثال خادم اللعبة إيبتبلس - A INPUT - J - P نقبل التعاون الفني -- dport 4534 اسمحوا # كل من المضيف المحلي. (ومن أجل أن الخادم نفسه الوصول دون عائق إلى خدماتها ، # للPHP المثال إلى قاعدة البيانات المحلية إيبتبلس - A INPUT - S - 127.0.0.1 ي اعقد سيتم قبول اتصالات # أنشئت بالفعل في أي ميناء # (المطلوبة لبعض الشياطين) إيبتبلس - A INPUT - M الدولة -- دولة المنشأ ، ذات الصلة ي اعقد
هذا قليل العمود الفقري يمكن أن نستمر ببساطة لتوسيع وإضافة خدمات خاصة بهم. عند العمل على جدار الحماية ، يجب عليك دائما الأحكام في القضية ان اقفال بها أنفسهم. خصوصا في خدمة المناطق النائية التي لا يوجد لديك الوصول المادي ، وهو أمر مزعج جدا لانقاص وصول فاشلة الخاصة لسيادة جدار الحماية. من أجل تجنب هذه المشكلة للخروج من الطريق ، يمكن للمرء مجرد بداية مهمة كرون ان يعيد جدار الحماية كل بضع دقائق أو إعادة تشغيل الملقم. بالعمل على جدار الحماية مؤقتا ويتم اختبار النظام في وقت لاحق ، وأحب ، وسيتم إلغاء تنشيط cronjob والقواعد الجديدة لا تزال نشطة بشكل دائم.
لمعرفة ما هي الخدمات مجرد الاستماع إلى الخادم الخاص بك ، يمكنك استخدام NETSTAT :
# للحصول على مآخذ TCP : NETSTAT - LPN | GREP TCP وبالمثل # لUDP : NETSTAT - LPN | GREP UDP
لاختبار إذا كان يعمل حقا جدار الحماية ، يمكنك تفحص منفذ الملقم الخاص بك من كمبيوتر آخر. انها عملت كل خارجا ، يجب أن تظهر في النتيجة الوحيدة حتى المنافذ التي تكون مفتوحة :
# للحصول على برنامج التعاون الفني : nmap - P1 - 65 535 meinserver.de # للUDP : nmap - SU - P1 - 65 535 meinserver.de
ثان سه تسجيلات الحظر
على الخادم الجذرية الخاصة وغير المقيد SSH الوصول. هذا مفيد جدا ، حيث يمكنك من أي عميل SSH إلى خادم مرات فقط للعمل على ذلك. الجانب السلبي من هذا هو أن أي شخص يمكن بالطبع للأسف اتخذت بطريقة أو بأخرى على كلمات السر الخاصة بهم. انها أكثر أمانا للسماح تسجيلات SSH فقط مع ملف مفتاح صالح. هذا هو المفتاح العمومي من العميل إلى الخادم وتسجيلات تفاعلية يتم تعطيل نسخ عن طريق إدخال كلمة المرور.
# على العميل ، إنشاء المفتاح العمومي # إذا المحدد عند إنشاء كلمة مرور ، يحتاج المرء إلى # تسجيل الدخول في وقت لاحق ملف المفتاح وكلمة السر. وإلا # يحتاج فقط المفتاح. سه كجن - T - RSA # مفتاح ولدت ثم نسخ إلى ملقم سه النسخ معرف - I ~ /. سه / root@meinserver.de id_rsa.pub ثم ضبط sshd_config # على سه / الخادم / الخ / . . لا PasswordAuthentication . . # بداية جديدة ثم SSH / الخ / تشغيله بواسطة / SSH إعادة تشغيل
حتى هنا ينبغي للمرء أن اتخاذ الاحتياطات اللازمة لعدم استبعادها حتى لو كان هناك شيء لا يعمل.
المفتاح العمومي على عصا USB مع كلمة السر المقابلة في رأسك يجعل من العسير على الأشرار من الحصول على قذيفة.
ثالث SSH Bruteforcing منع denyhosts
إذا لم يتم تقديم المشورة العملية واحد اثنين التخلي عن راحة كلمة السر القائم على تسجيلات تريده ، يمكنك على الأقل منع مرور معدلات الآلي من المهاجمين على الخادم. وهناك الكثير من السير على شبكة الانترنت كل يوم أبحث عن أن تفعل شيئا أكثر من أن ملقمات SSH ومحاولة الخروج في كلمات المرور المختلفة. مع مرور آمن ومستقر ليست مشكلة كبيرة ، ولكن هناك شعور أفضل ، حتى لو كان ذلك ممكنا. بالإضافة إلى ذلك ، لأنه يحمي أيضا مستخدميها ، إذا موجود على الخادم وحسابات المستخدم. هنا ، لا يمكنك ثقة من أن المستخدمين يستخدمون كلمات مرور آمنة. denyhosts فحصها باستمرار على تسجيلات سه وأقفال المستخدم لفترة معينة ، والتي دخلت كلمة المرور الخاصة بهم المتكررة بشكل غير صحيح. والملكية الفكرية للمستخدمين انتقل مؤقتا إلى / الخ / hosts.deny ، بحيث لم يعد لديهم إمكانية الحصول على أمر ممكن. هذا SSH Bruteforcing لمهمة طويلة جدا وليس واعدا جدا.
الرابطة بين الحصول على تثبيت denyhosts # Denyhosts يعمل مباشرة بعد التثبيت. يمكن أن يكون # في ضبط الملف / الخ / denyhosts.conf غرامة
4 استخدام القوائم السوداء لحجب المتكاملة مشكلة معروفة
في القوائم السوداء الإنترنت المختلفة والحفاظ عليها ، والتي قائمة على عدد كبير من خوادم الجنائية / المفروم / مرغوب / احتيالية. ويمكن ادخال هذه القوائم الملكية الفكرية مباشرة في جدار الحماية ، بحيث يعرف من هو هذا لا إلى ملقمات موثوق لا علاقة لم يعد من الممكن الخادم الخاص بك. بحيث يمكنك تقليل كمية الرسائل غير المرغوب فيها على الخادم الخاصة بها ، وأيضا بشكل جذري شيئا أو النصي كيدي قفل بها ، لأن وكيل الرئيس الروسي توقف فجأة عن العمل. كيف نفعل ذلك لقد كنت في مقال آخر بلوق وصفت سبيل المثال من القائمة السوداء للInfiltrated.net.
5 لا تستخدم FTP للعمل على الملقم
FTP هو من بقايا أوقات أفضل عندما كانت الإنترنت قرية صغيرة لا يزال موثوق. مدراء العديد من المواقع لا تزال تستخدم FTP لنقل الملفات إلى الخادم أو للعمل على موقعك. للأسف ، وهذا غير مؤكد جدا ، ومنذ FTP ينقل جميع البيانات غير المضمونة. يمكن قراءة كلمات المرور والبيانات دون أية مشاكل في كل مرحلة بين الملقمات والعملاء. وهو أكثر أمانا بكثير مع sshfs. يسمح لتحميل الدليل عبر SSH على النظام الخادم البعيد الملفات المحلية. يمكن للمرء أن يعمل بعد ذلك على الملقم كما لو كان على الكمبيوتر المحلي. الوصول إلى الملفات على كافة الملفات الموجودة على الخادم وشفافة تماما ، بحيث يمكنك أيضا فتح البرنامج ، ورسم صورة محلية على الملقم وتحرير وحفظ مرة أخرى. المزيد من الراحة والأمان دون بذل الكثير من الجهد.
# تثبيت sshfs الرابطة بين الحصول على تثبيت sshfs # إنشاء mountpoint على نظام الملفات المحلي MKDIR / وسائل الإعلام / MYSERVER # لخادم جبل ملف النظام المحلي www-data@mein-server.de sshfs : / فار / على شبكة الاتصالات العالمية / وسائل الإعلام / MYSERVER الآن # الدليل هو / فار / على شبكة الاتصالات العالمية في خدمة بلدي المحلية تحت / وسائل الإعلام / MYSERVER المتاحة
6 تثبيت التحديثات
وهناك نظام آمن السوبر لن تساعد إذا كان النظام نفسه هو معيب ويمكن استغلالها ثغرة أمنية معروفة. في معظم الحالات ، فإن هذه الثغرات الامنية بسرعة ، وغالبا ما ينسى ، ولكن ، وتحديثات منتظمة لمدراء النظام لجعل. ما إذا كان يجب تمكين التحديثات التلقائية على خوادم لينكس أم لا هي مسألة مثيرة للجدل. وبعض يفعل ذلك أبدا لأنه يعمل بشكل طبيعي مع الكثير من الحظ السيئ قد تكون التحديثات التي تجعل النظام قابل للاستخدام. هذا حدث لي في أكثر من 10 سنوات من العمل على نظم ديبيان ، ولكن ابدا وانا اقدر فوائد التحديثات في الوقت المناسب وبصورة منتظمة ، وهو أعلى بكثير من المخاطر الناجمة عن ذلك.
# هذا الخط في التحديثات / الخ / crontab ، ساعة النظام كل يوم في 06:00 0 6 * * * * * الجذر الرابطة بين الحصول على التحديث & & الرابطة بين الحصول على ترقية ذ
عملت هذه طريقة سريعة وقذرة بالنسبة لي حتى الآن دائما جيدة. لقد قرأت مؤخرا أنه في مستودع حزمة ديبيان موجودة أيضا غير المراقب ، ترقيات ، والذي يحل هذه المهمة ربما أكثر من ذلك بقليل أنيقة ، لكنني لم يتم اختباره.
حتى مع وجود تحديثات النظام الآلي بالكامل ، وهذا تماما هو واحد لا ورطتها. إذا كان قد تم تسليم عملية تحديث النواة ، لديك لتمهيد النظام مرة أخرى من جهة ، وإلا فإن التغييرات لن تصبح نشطة.
إذا كان أحد الاستخدامات غير رمز PHP على الخادم ، مثل CMS مفتوحة المصدر أو منتدى ، فمن الضروري للغاية ، بطبيعة الحال ، هذا الرمز أيضا مع إصدارات جديدة محدثة. منذ ديبيان لا تغييرات على التحديث مع تطبيقاتها في هذه القواعد تغطي ، هناك حاجة إلى العمل اليدوي هنا. في أحسن الأحوال ، تقرأ القوائم البريدية من المنتجات ذات الصلة لنكون دائما حتى الآن.
7 PHP open_basedir مع سجن
الخارقة كثيرة استنادا إلى حقيقة أن يستخدم ثغرة في رمز PHP للوصول إلى الملفات في الوصول إلى نظام الملفات التي لا تنتمي إلى الموقع ، ولكن النظام نفسه هو لماذا يجب أن حبس PHP بحيث أنه للقراءة فقط في دلائل معينة على وجه التحديد والكتابة يمكن. لهذا ، فإن الخيار php.ini open_basedir التكوين. PHP لديه خيار الوصول إلى وضع يسمح فقط إلى الدلائل هناك. ملفات مثل passwd / / وما هي بعيدة المنال. استضافة مواقع متعددة على ملقم واحد يجب تعيين open_basedir في كل تكوين VirtualHost لكل صفحة.
# php.ini العالمية عن طريق : # / Etc/php5/apache2/php.ini open_basedir = / فار / على شبكة الاتصالات العالمية / : / TMP / # لكل موقع في التكوين VirtualHost : php_value open_basedir / فار / على شبكة الاتصالات العالمية / موقع / : / TMP /
فمن المهم النظر في ما إذا كان قد تم إضافة كافة المواقع إلى البرامج النصية وعادة ما تحتاج إلى الوصول ، وإلا فإنه قد يكون من أنك وظائف المعوقين والمشروعة للتطبيق PHP.
8 إنشاء المواقع الخاصة بك لمستخدمي ماي
Benutzt die eigene PHP-Applikation MySQL, sollte man unbedingt für die Apllikation einen eigenen MySQL-Benutzer anlegen und auf keinen Fall den MySQL-root-Benutzer für Zugriffe nutzen. Außerdem sollte man die Rechte des Benutzers so weit einschränken, dass wirklich nur noch Operationen erlaubt sind, die das PHP-Skript benötigt. CREATE TABLE und DROP TABLE werden zum Beispiel häufig bei SQL-Injections genutzt und werden in den meisten PHP-Applikationen nie benötigt. Hostet man mehrere Websites mit mehreren Datenbanken auf einem Server, sollte man für alle Datenbanken eigene Benutzer anlegen. So hat ein Angreifer nach einem erfolgreichen Angriff nur Zugriff auf eine der Datenbanken und nicht direkt auf alle. Wenn man nicht die Kommandozeile bemühen möchte, um die MySQL-Useraccounts zu verwalten, funktioniert das Usermanagement auch recht einfach mit PHPmyAdmin unter der Registerkarte "Rechte".
9 PHP Fehlermeldungen abschalten
PHP-Fehlermeldungen können einem Angreifer viel über den eigenen Server verraten: Verzeichnisstrukturen, Datenbankstrukturen, Konfigurationsfehler, etc. Außerdem sehen sie für den Benutzer sehr unprofessionell aus. Aus diesem Grund sollte man sie auf einem Live-Webserver grundsätzlich abschalten, da man sie ohnehin weiterhin in den Logs sehen kann.
# Global per php.ini: # /etc/php5/apache2/php.ini display_errors = Off # Per Site in der VirtualHost Config: php_flag display_errors Off # Fehlermeldungen trotzdem lesen: cat /var/log/apache2/error.log | grep PHP
10 Angriffsfläche für SQL-Injections einschränken mit modSecurity
SQL-injections sind die wohl am häufigsten genutzte Angriffsmethode auf Webserver. Der Zugriff erfolgt direkt über die Webapplikation und es genügt ein Browser um sie durchzuführen. Dabei werden über vom User übermittelte Variablen geschickt SQL-Abfragen eingebaut, die mit den Rechten des Datenbankbenutzers alles an der eigenen Datenbank nach belieben auslesen, löschen oder bearbeiten können. Ein wirklicher echter Schutz gegen SQL-Injections besteht nur, wenn der PHP-Code der Site im Hinblick auf diese Angriffe geschrieben wurde. Jede Variable aus Benutzereingaben, die in eine SQL-Abfrage gelangen könnte, muss geprüft und escaped werden. PHP bietet dafür die Funktion real_mysql_escape_string().
Ist man nicht sicher, ob der Code sauber ist, kann mod_security für den Apache helfen eine große Menge dieser Angriffe trotzdem abzuwehren. mod_security überprüft ständig alle Requests an den Webserver und reagiert auf vorgefertigte Muster mit denen viele SQL-Injection-Angriffe abgewehrt werden können. Leider funktioniert auch mod_security nur gut mit manuellem Aufwand. Oft blockt mod_security nach einer frischen Installation auch gewünschte (normale) Funktionen des eigenen PHP-Codes, so dass einem nichts anderes übrig bleibt, als die komplette Applikation nach der Installation einmal durchzutesten. Nur so findet man heraus, ob mod_security nicht eventuell auch gewünscht Funktionen blockt. Ist das der Fall, muss die Filterliste angepasst werden, so dass die false-positives verschwinden.
Die Konfiguration von mod_security ist etwas komplizierter und würde den Umfang dieses Artikels sprengen, es gibt aber massenweise gute Tutorials zu mod_security im Internet.
11th Ausweiskontrolle - Der Apache sagt nicht mehr, wer er ist
Dies ist keine wirklich wirkungsvolle Methode gegen einen Hack, sie macht es automatisierten Skripten, die nach Server-Versionen suchen aber etwas schwerer. Normalerweise zeigt der Apache auf Seiten mit Fehlermeldungen (zB 404 Not Found) seine Serversignatur.
Apache/2.2.16 (Debian) Server at www.daniel-ritter.de Port 80
So erhalten potentielle Angreifer zumindest schon einmal Informationen über den eigesetzten Webserver und den Versionsstand. Die Serversignatur ist schnell ausgeschaltet:
#/etc/apache2/conf.d/security ServerSignature Off
12TH Nicht benutze Apache-Module deaktivieren
Per default hat der Apache einige Module geladen, die fast nie benötigt werden. Unter Debian findet man die geladenen Module
als Softlinks in /etc/apache2/mods-enabled.
Fast immer entfernt werden können:
mod_cgi
Dient dem ausführen von CGI-Skripten. Diese Technik stammt noch aus den Urzeiten des Web und war der Vorvater der modernen Skriptsprachen um dynamische Webseiten zu ermöglichen. mod_cgi ist auf 99% der PHP-Websites unnötig und bei einer fehlerhaften Apache-Config eine potentielle Sicherheitslücke
a2dismod cgi
mod_status
Ermöglicht es Browsern Statusinformationen über den Apache auszulesen. Es wird so gut wie nie für "normale" Sites genutzt, bietet Angreifern aber Statusinformationen über den Apache.
a2dismod status
mod_autoindex
mod_autoindex sorgt dafür, dass Verzeichnisse auf dem Webserver aufgelistet werden können, wenn es keine gültige Index-Seite in dem entsprechenden Verzeichnis gibt. Falls diese Funktionalität nicht erwünscht ist, sollte man sie abschalten, da durch sie ganze Verzeichnisbäume auf dem Webserver nach aussen sichtbar werden können.
a2dismod autoindex
Linux Server mit der Scam/Spam/Crime Blacklist von Infiltrated.net absichern
Im Internet gibt es viele böse Buben: Scammer, Hacker, Viagrabuden, Scriptkiddies, etc.
Infiltrated.net pflegt eine recht umfangreiche Liste auffällig gewordener Server unter http://www.infiltrated.net/blacklisted .
Wenn man Zugriff auf seinen Server oder auch sein Heimnetz von diesen IP's unterbindet, hat man bereits sehr viele Russen Proxies, Spammer und anderes Gesindel ausgesperrt.
Das folgende kleine Script saugt sich automatisch die aktuelle Liste und trägt die Hosts in die Firewall ein.
Mit einem Cronjob regelmässig gestartet, ermöglicht es ein Quentchen mehr Sicherheit für die eigenen Dienste.
#!/usr/bin/php
<?
# Zuerst bereits bestehende (eigene) Firewallrules ausführen
exec("/root/scripts/meine_standard_firewall_rules");
# Blacklist saugen
exec("wget -O /tmp/infiltrated_blacklist http://www.infiltrated.net/blacklisted");
$list = file("/tmp/infiltrated_blacklist");
$i = 1;
# Ein bisschen auseinanderschnibbeln und ab in Iptables
foreach ($list as $line)
{
$line = trim($line);
$line = str_replace("\t"," ",$line);
$line = explode(" ",$line);
$line = $line[0];
$firstchar = substr($line,0,1);
if (!is_numeric($firstchar))continue;
exec ("iptables -I INPUT -s $line -j DROP");
$i++;
}
echo "done. $i rules set.";
؟>
USB Spickzettel: So sehen USB Stecker aus
Im Bild zu sehen von links nach rechts: Micro USB "B" - Mini USB "B" - Mini USB "B" 5 Pin - USB "A" weiblich - USB "A" männlich - USB "B" männlich
Out of the box mit Ubuntu – LogiLink WL0049A Wireless N USB Wifi WLAN Stick
Es ist mal wieder an der Zeit für Out-Of-The-Box Hardware für Ubuntu. Der Low-Budget USB WLAN-Stick von LogiLink funktioniert sofort ohne Konfiguration und Treiberinstallation unter einem aktuellen Ubuntu 10.10. Nach dem Einstecken ist im Netzwerkmanager sofort die Liste der verfügbaren WLANs verfügbar. Nicht schlecht für einen absoluten Low-Budget Stick (ca. 10 Euro). Mit den teureren von Netgear und Konsorten hat man leider einige Probleme mehr. Lediglich die Empfangsstärke ist nicht berauschend. Falls sich der Accesspoint oder Router im selben Raum befindet, hat man jedoch keine Probleme.
So meldet sich der Stick nach dem Einstecken:
Jan 27 15:15:48 box kernel: [50425.764049] usb 2-1: new high speed USB device using ehci_hcd and address 7 Jan 27 15:15:48 box kernel: [50425.916061] === pAd = f89cc000, size = 472668 === Jan 27 15:15:48 box kernel: [50425.916063] <-- RTMPAllocAdapterBlock, Status=0 Jan 27 15:15:48 box kernel: [50426.212122] <-- RTMPAllocTxRxRingMemory, Status=0 Jan 27 15:15:48 box kernel: [50426.214376] -->RTUSBVenderReset Jan 27 15:15:48 box kernel: [50426.214495] <--RTUSBVenderReset Jan 27 15:15:48 box kernel: [50426.495844] 1. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.495847] 2. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.495849] NVM is Efuse and its size =2d[2d0-2fc] Jan 27 15:15:48 box kernel: [50426.556586] RTMPSetPhyMode: channel is out of range, use first channel=1 Jan 27 15:15:48 box kernel: [50426.573077] 3. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.578953] MCS Set = 00 00 00 00 00 Jan 27 15:15:48 box kernel: [50426.638326] <==== rt28xx_init, Status=0 Jan 27 15:15:48 box kernel: [50426.639953] 0x1300 = 00073200 Jan 27 15:15:49 box kernel: [50426.924845] ---> RTMPFreeTxRxRingMemory Jan 27 15:15:49 box kernel: [50426.924866] <--- RTMPFreeTxRxRingMemory Jan 27 15:15:49 box kernel: [50427.195749] <-- RTMPAllocTxRxRingMemory, Status=0 Jan 27 15:15:49 box kernel: [50427.198006] -->RTUSBVenderReset Jan 27 15:15:49 box kernel: [50427.198133] <--RTUSBVenderReset Jan 27 15:15:49 box kernel: [50427.484608] 1. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.484610] 2. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.484612] NVM is Efuse and its size =2d[2d0-2fc] Jan 27 15:15:49 box kernel: [50427.557222] 3. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.563097] MCS Set = 00 00 00 00 00 Jan 27 15:15:49 box kernel: [50427.625962] <==== rt28xx_init, Status=0 Jan 27 15:15:49 box kernel: [50427.627588] 0x1300 = 00073200 Jan 27 15:15:54 box kernel: [50432.648580] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 483 Jan 27 15:15:59 box kernel: [50437.679264] ===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 308 Jan 27 15:15:59 box kernel: [50437.679356] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
Mehrere Videos synchron ferngesteuert übers Netzwerk starten mit VLC
Eine befreundete Designstudentin wollte für die Präsentation ihrer Diplomarbeit eine Videoinstallation aufbauen. Auf im Raum angeordneten Fernsehern sollten parallel 3 von ihr erstellte Filme laufen und gleichzeitig gestartet werden. Die 3 Filme sind so geschnitten, dass sie gemeinsam ein Gesamtkunstwerk (und hoffentlich eine gute Abschlussnote) ergeben. Ein Veranstaltungsunternehmen verlangte für den Aufbau einige 1000 Euro. Das überstieg das Budget meiner Bekannten leider um einige 1000 Euro, deshalb haben wir den Aufbau selbst mit Open Source Software zusammengefrickelt. 3 (Windows)-Notebooks wurden per HDMI an die jeweiligen Fernseher angeschlossen und über einen Switch vernetzt. Ein viertes (Linux)-Notebook diente als zentraler Steuerrechner. Der VLC Media-Player bietet neben einer hervorragenden Unterstützung fast aller Videoformate auch viele weitere nützliche Funktionen. In diesem Aufbau kam das Remote Control Interface des VLC zum Einsatz, das es ermöglicht, den Player übers Netzwerk oder das Internet komplett fernzusteuern.
Die Windows Rechner bekamen die IP's 192.168.0.1 bis 192.168.0.3. Der Linux-Steuer-Rechner die IP 192.168.0.100.
Das Fernsteuerungsskript ist angelehnt an das Tutorial von Markus Berg (vielen Dank).
#/bin/bash
ip[0]="192.168.0.1"
ip[1]="192.168.0.2"
ip[2]="192.168.0.3"
port=20000
function send_cmd {
for address in ${ip[@]}
do
echo "$1" | nc $address $port &
فعل
}
while ( [ 1 ] )
do
clear
echo "Video Command"
صدى
echo " s | START"
echo " p | PAUSE/PLAY"
echo " z | ZURUECKSPULEN"
echo " zp | ZURUECKSPULEN + PAUSE"
echo " f | VOLLBILD AN/AUS"
echo " b | Beenden"
صدى
صدى
صدى
echo -n "Kommando? "
read command
case "$command" in
s)
send_cmd play
;;
p)
send_cmd pause
;;
z)
send_cmd prev
;;
zp)
send_cmd prev
perl -e 'select(undef,undef,undef,.3)'
send_cmd pause
;;
f)
send_cmd fullscreen
;;
b)
exit
;;
esac
done;
Dieses Skript auf dem Steuerungsrechner ergibt dieses spartanische menü:
Video Command s | START p | PAUSE/PLAY z | ZURUECKSPULEN zp | ZURUECKSPULEN + PAUSE f | VOLLBILD AN/AUS b | Beenden Kommando?
Auf den Windowsrechner musste nun nur noch aus der Windows-Konsole heraus VLC im Remote Control Modus gestartet werden:
vlc --extraintf oldrc --rc-host 192.168.0.1:20000
Nun wurde noch das Video in die jeweilige VLC-Playlist eingefügt. Die Fernsteuerung war fertig.
Leider gab es (wie fast immer) einige Fallstricke. Bei unseren Tests zickte zunächst die Windows-Firewall herum. Für die Präsentation musste diese deaktiviert werden. Generell war Windows keine besonders gute Wahl für die Präsentation, da Update-Meldungen, Avira-Popups und andere Nervereien natürlich im Video ziemlich peinlich wirken. Die Windows-Rechner mussten ziemlich kastriert werden. Firewalls, Virenscanner und Automatische Updates wurden deaktiviert. Zahlreiche Programme, die es sich im Tray gemütlich gemacht hatten, wurden deinstalliert. Im Endeffekt würde ich beim nächsten Mal das Abspielen auch mit Linux Clients realisieren, die aber wegen des Zeitdrucks nicht verfügbar waren.
Milestone flashen unter Linux mit sbf_flash
Ich habe bisher Windows nur noch für eine einzige Sache benötigt: Um mein Motorola Milestone mit neuer Firmware zu beflashen . Dafür waren bisher ein spezieller USB-Treiber und ein Flashtool von Motorola notwendig. Diese gab es nur für Windows und aus VirtualBox heraus haben sie nicht funktioniert. [mbm], ein Android Hacker aus #milestone-modding auf irc.freenode.net hat jetzt eine Binary zusammengebastelt, mit der es auch wunderbar unter Linux funktioniert. Getestet wurde es von mir unter Ubuntu 10.10. Leider gibt es keinen Quelltext zu der App, aber es funktioniert einwandfrei. Viele andere User bestätigen das hier in der offiziellen Bekanntmachung: http://blog.opticaldelusion.org/2010/05/sbfflash.html
Download: Original | Lokaler Mirror
So sieht ein Flashvorgang mit sbf_flash aus:
box-root-18:01:33 /home/ww/Desktop -> ./sbf_flash ./GOT_DACH_GERMANY_2_2_1FULL.sbf SBF FLASH 1.08 (mbm) === GOT_DACH_GERMANY_2_2_1FULL.sbf === 00: RDL03 0x82000000-0x8204CFFF 2FC7 AP 01: CG31 0xB01C0000-0xB01C47FF 24FE AP 02: CG33 0xD13FB000-0xD1BB783F E479 AP 03: CG34 0xB03A0000-0xB03A47FF CC19 AP 04: CG35 0xB07A0000-0xB0A607FF 888E AP 05: CG36 0xF0B7D000-0xF0BE083F 6799 AP 06: CG37 0xE4034000-0xE40379BF 9325 AP 07: CG39 0xD1D64000-0xDADE583F 6DA8 AP 08: CG40 0xDD2E4000-0xDD2E483F FDFF AP 09: CG42 0xB06A0000-0xB06DFFFF 73E3 AP 10: CG45 0xB0B20000-0xB0E207FF 79ED AP 11: CG47 0xB0EE0000-0xB12A07FF 679E AP 12: CG53 0xCFD80000-0xCFD807FF FDFF AP 13: CG61 0xB0640000-0xB06607FF 6C74 AP Milestone found. >> uploading RDL03 Uploading: 100% OK >> verifying ramloader -- OK >> executing ramloader Milestone found. >> sending erase >> uploading CG31 Uploading: 100% OK >> uploading CG33 Uploading: 100% OK >> uploading CG34 Uploading: 100% OK >> uploading CG35 Uploading: 100% OK >> uploading CG36 Uploading: 100% OK >> uploading CG37 Uploading: 100% OK >> uploading CG39 Uploading: 100% OK >> uploading CG40 Uploading: 100% OK >> uploading CG42 Uploading: 100% OK >> uploading CG45 Uploading: 100% OK >> uploading CG47 Uploading: 100% OK >> uploading CG53 Uploading: 100% OK >> uploading CG61 Uploading: 100% OK >> verifying CG31 -- OK >> verifying CG33 -- OK >> verifying CG34 -- OK >> verifying CG35 -- OK >> verifying CG36 -- OK >> verifying CG37 -- OK >> verifying CG39 -- OK >> verifying CG40 -- OK >> verifying CG42 -- OK >> verifying CG45 -- OK >> verifying CG47 -- OK >> verifying CG53 -- OK >> verifying CG61 -- OK >> rebooting









