تصفح الانترنت عن طريق العصا UMTS مع ديبيان مع wvdial وO2 شقة موبايل
يتم تحديد تنشيط منذ اتصالي DSL الجديدة فقط في غضون بضعة أسابيع ، وأنا أليس في "البداية السريعة". وهنا تحول تحصل على بطاقة SIM ، والذي يمكنك تصفح مجانا لمدة 3 أشهر ، وذلك مؤقتا حتى اتصال DSL.
بالطبع لم أكن جعل الاتصال بالإنترنت من العميل ، ولكن كالعادة على خادم منزلي ، الذي يعمل لشبكة المنزل بأكمله بمثابة الموجه.
أكبر المشاكل التي اجريتها مع الخط الساخن أليس. وجاء في بطاقة SIM مع دليل قصيرة حول كيفية تفعيلها من خلال بوابة أليس. للأسف ، لا في موقع فايرفوكس ، كروم أو أوبرا يعمل بشكل صحيح. أنا لست متقدمة حتى تفعيل بطاقة SIM.
هكذا ، للأسف ، ويدعو إلى الخط الساخن 01 805. مزعج جدا لل42ct./Min.
وكان عمله بشأن Akivierung الخط الساخن من الخريطة بسرعة ، لحسن الحظ ، كنت هناك أولا ، للأسف ، لا يمكن استدعاء APN اللازمة لتكوين wvdial. أردت أن أتأكد من أن بعض الخوف من فواتير باهظة على تكوين خاطئ من القيمة. هنا ، يمكن للتقنية تساعدني على السعادة. أليس ل/ O2 البدء السريع APN الإنترنت عبر الهاتف النقال هو شقة ، وفقا ل "internet.partner1" الخط الساخن. عند تعيين اسم وربما لم يكن أحد متورط في التسويق ![]()
كخطوة تالية ، أدرجت لي بطاقة SIM في الهاتف المحمول لانتظار تفعيل وأولئك على علم به. ذهبت بسرعة الى حد ما ، وبعد حوالي 30 دقيقة ، وسيم بلدي كان بالفعل نشاطا وسجلات الدخول إلى الشبكة. بسرعة مذهلة ، منذ تفعيل أليس روجت في البداية O2. لإجبار الهاتف لeinzubuchen جديدة داخل الشباك ، يمكن أن يكون الخروج والدخول مرة أخرى. لدي الآن مع الهاتف لا يزال يعطل رمز PIN SIM الطلب لأنه كان منذ بعض الوقت بالفعل مع مشاكل سوء wvdial ورقم PIN.
عملت بقية جيدا بشكل مدهش.
لدي بطاقة SIM في حملة بلدي الأمواج هواوي (تي موبايل تصفح عصا الثالث)
001 حافلة الجهاز 004 : رقم 12D1 : 1003 هواوي تكنولوجيز المحدودة. E220 HSDPA مودم / E270 HSDPA / HSUPA المودم
تم إدراج. بعد توصيل في منفذ USB مع نواة ديبيان الحالية يوفر الجهاز في / dev/ttyUSB0 المتاحة.
قد يكون هذا النداء لكم مع wvdial
# / الخ / wvdial.conf [افتراضيات المسجل] = = ATZ Init1 Init2 ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 = AT + Init3 CGDCONT = 1 ، "IP" ، "internet.partner1" الهاتف * 99 * = ** كلمة = 1 # اسم المستخدم = فارغة فارغة جديدة PPPD = = نعم المودم في / dev/ttyUSB0 الباود = 460800 = نوع المودم مودم تماثلي إعادة الاتصال التلقائي على = ثم يمكن للمرء أن يكون مع "wvdial" يتم تأسيس الاتصال :
gbn الجذر - 00 : 19:27 ~ --> wvdial --> WvDial : الإنترنت طالب الإصدار 1.60 --> هل عدم الحصول على معلومات عن المنفذ التسلسلي --> تهيئة المودم. --> إرسال : ATZ ATZ موافق --> إرسال : ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 موافق --> إرسال : AT + CGDCONT = 1 ، "IP" ، "internet.partner1" AT + CGDCONT = 1 ، "IP" ، "internet.partner1" موافق --> تهيئة المودم. --> إرسال : ATDT * 99 *** 1 # --> في انتظار الناقل. ATDT * 99 *** 1 # CONNECT -- الكشف عن> كارير. في انتظار الأوامر. --> لا أعرف ماذا أفعل! بدءا pppd والأمل في مستقبل أفضل. --> بدء pppd في يناير 2012 الأحد 29 00:19:58 --> من pppd PID : 3749 --> استخدام واجهة ppp0 --> Pppd : ȧ --> Pppd : ȧ --> Pppd : ȧ --> Pppd : ȧ --> Pppd : ȧ --> Pppd : ȧ --> عنوان IP محلي 10.43.145.228 --> Pppd : ȧ --> عنوان IP البعيد 10.64.64.64 --> Pppd : ȧ --> عنوان DNS الابتدائي 193 189 244 225 --> Pppd : ȧ --> عنوان DNS الثانوي 193 189 244 206 --> Pppd : ȧ
بعد هذا هو أكثر من واجهة الهواء لجهاز الإنترنت PPP0 المتاحة التي يمكنك استخدامها الآن للتوجيه وقواعد جدار الحماية.
المصب في مركز دوسلدورف على ما يرام ، يمكن المرجوة المنبع ، ومع ذلك ، جدا :
سرعة التحميل : 2082 كيلوبت / ثانية (260 kByte / ث) سرعة تحميل : 71 كيلوبت / ثانية (9 كيلوبايت / ثانية)
ولكن... لا تبدو حصان هدية في الفم. وأود أن تدفع لهذا الأداء ، ولكن.
تكملة
للأسف ، والاتصال غير مستقر. بعد أقل من ساعة ، لا أكثر البيانات إلى تدفق أكثر من PPP0 ، wvdial يحصل لهم مع الأسف لا شيء ، ويرى أن الاتصال ما تزال نشطة ، اختر واحدا ان لم تكن هي نفسها باستمرار. كان معقدا للغاية لتصحيح هذه المشكلة ، لأن هذا الحل البديل في أي حال سوى أسابيع قليلة حتى أن دائرة عمل DSLers. السيناريو التالي الصغيرة التي يتحقق ما إذا كان الاتصال لا تزال سارية المفعول. إذا لم يكن كذلك ، بدء wvdial قتل والجديدة.
# / بن / سحق www.google.de بينغ - C1> / ديف / لاغية إذا $ [؟ ني 0] ؛ ثم killall wvdial صدى `` تاريخ>> / فار / السجل / connection_lost.log وwvdial فاي
Dieses Skript rufe ich automatisch über einen Cronjob auf und bin jetzt always on:
#/etc/crontab # REDIAL CRAPPY O2 line * * * * * root /root/scripts/redial_ppp
Fallstricke:
- PIN-Schutz der SIM nicht deaktiviert
- Die Verbindung über Mobilfunkprovider ist leider geNATtet. Der eigene Server ist von Außen nicht direkt erreichbar. Serverdienste können nur schwierig angeboten werden.
تسجيل المعلومات على الانترنت في دوسلدورف يجعل انطباعا سيئا
لم أكن واضحا تماما ما هي البيانات الشخصية قد تمر مكتب التسجيل لمن. أنا بعد بعض البحوث على هذا الإجراء دفع القراصنة الذين يعارضون الدعوة إلى الكشف عن البيانات الخاصة به في مكتب التسجيل. توفر العديد من مكاتب تسجيل البيانات التي يتم الآن الجميع! يدفع. لا يمكن إلا أن هذا يمكن تجنبها من خلال التناقض.
وسوف ترسل بيانات من مكتب تسجيل ما يلي :
الدولة السلطات ، في حالة من مصلحة مشروعة في سياق المساعدة
مثل الشرطة والمدعين العامين والمكاتب الإحصائية ، الخ.
وغيث
الاخوة ، ونحن نعلم جيدا بالفعل.
أحزاب وجماعات الناخبين وغيرها من مصادر في الترشيحات تتعلق بالانتخابات البرلمانية والمحلية ، § 35 para.1 MG NRW
للحصول على الحملة الإعلانية لامعة جدا.
إلى المطالبين والأطراف في اتصال مع والعرائض الاستفتاءات مع المواطنين واتخاذ القرارات ؛ § 35 para.2 MG NRW
من أجل الحصول على لمعان عالية وسوف تساعدك على اتخاذ الاستفتاءات المتكررة.
في طريق البحث الآلي على شبكة الإنترنت ؛ § 34 Abs.1b MG NRW
هذه هي النقطة التي لم أكن معروفا في السابق. يمكن أن يكون لها مدخل على الإنترنت
أي شخص يعرف بعض خصائص الشخص تلقائيا عبر الإنترنت
الحصول على الإبلاغ عن المعلومات. الاستعلام التكاليف حاليا 4 € لكل سجل في دوسلدورف.
قانون تسجيل NRW يقول عند هذه النقطة :
§ 34 Abs.1b MG NRW (1B) إذا كان من الممكن إجراء المكالمة ممكن من خلال الإنترنت ، وضمان تطبيق الإجراءات وتوفير المعلومات التي تحملها في شكل مشفرة. ينبغي أن يكون افتتاح الوصول معروفة علنا. لا يسمح للمكالمة إذا كان الفرد قد اعترض على هذا الشكل من أشكال تبادل المعلومات. سلطة تسجيل ملاحظة على آخر شهر واحد قبل افتتاح الوصول إلى الإنترنت عن طريق إشعار الجمهور على حق في الاعتراض. وعلاوة على ذلك ، § 35 الفقرة 6 ، الجملة 2 ينطبق.
طعن في نقل البيانات من الممكن عن طريق ملء نموذج. دوسلدورف لذلك هو هنا : https://formulare.duesseldorf.de/forms/frm/7PRPfAZH5gQA8Ja8AkNGaH1rNpDcHR3 يجوز الإفراج هذه التهمة في المكاتب العامة. ثم لا يستطيعون الحصول على الانترنت هو ممكن على البيانات الخاصة بها أكثر من ذلك. على ما يبدو ، تطلب بيانات من المدن والمقاطعات الإقليمية المنظمة.
عندما سألت يمكن للكاتب (ودية للغاية) في مكتب للمواطنين ،
لم أكن آسف لقول URL للبوابة الاستعلام. وأدى البحث السريع ثم لي ولكن بسرعة على هذا الجانب من مدينة دوسلدورف :
https://www.duesseldorf.de/emra/emra.jsp؟stadt=D FCsseldorf ٪ و نوع = المدينة
وكان المدخل مريبة جدا من الناحية الفنية وأقل ما يقال الانطباع.
بادئ ذي بدء ، لا يبدو أن هناك CAPTCHA أو ما شابه ذلك لإعطاء. استعلام الأرض ويبدو أن من الممكن مع النصوص المناسبة.
بالإضافة إلى ذلك ، وافقت على تطبيق ويب مع الاستعلام التالي في بلدي اختبار القط رسالة خطأ لأنني لم تمكين الكوكيز :
قرأت هذا ولكن بعد ذلك شك على نحو متزايد من تطبيق الاحتراف الذي يوفر الوصول إلى البيانات لجميع المواطنين للعروض المدينة. وينبغي أن لا تعطل النصي إذا كانت الظروف لم تكن موجودة على الجهاز المستخدم (في هذه الحالة كوكي بلدي في عداد المفقودين). رسائل الخطأ النصي من ملقمات ويب التي ليست في الاستخدام المثمر لتعطيل وإهمال لأنها يمكن أن تكشف الكثير عن البيئة النظام المستخدم. لا سيما عندما JSP (كما في الصورة أعلاه) ، اعتمادا على تكوين الخادم وأيضا تعليقات من مبرمج للحصول على Quelltextschnippsel. كان هذا قذرة. ينبغي على واجهة لبيانات شخصية لن يحدث.
اسمحوا لي الجلوس واستخدام الإصدار القط ، والذي يظهر أيضا في رسالة الخطأ أدناه. (اباتشي Tomcat/6.0.24) وهذا هو نسخة قديمة من خادم الويب على 21/01/2010. الإصدار الحالي هو 6.0.33. خادم أربعة تسجيلات لا يتم تحديث الإصدارات طويلة. اذا نظرتم الى نقاط الضعف التي تم تناولها في هذا الإصدار النهائي ، فإن الأمر يزداد غير مريحة. الملقم ومن الواضح ان ليس في أفضل حالة :
http://tomcat.apache.org/security-6.html الثابتة في القط اباتشي 6.0.33 سراح 18 أغسطس 2011 متوسطة : تم اكتشاف نقاط الضعف في مصادقة متعددة DIGEST CVE - HTTP 2011-1184 تنفيذ مصادقة تلخيصية HTTP لدينا العديد من سمح تكرار الهجمات لم تكن التحقق nonces الخادم لم تكن مناسبة حالية العميل التحقق من التهم لم تكن محددة القيم qop لم التحقق عالم القيم هو سر خادم الثابت ترميز إلى سلسلة معروفة نتيجة لنقاط الضعف هذه هو أن المصادقة فقط DIGEST ما على النحو التالي : الضعف كما آمن المصادقة الأساسية. تم إصلاح هذا في المراجعة 1158180 وقد تم تحديد هذا من قبل الفريق الأمني القط في 16 مارس 2011 وتعلن في 26 سبتمبر 2011. يؤثر : 6.0.0-6.0.32 منخفض : الكشف عن المعلومات CVE - 2011-2204 عند استخدام قاعدة بيانات المستخدم الذاكرة (على أساس هر - users.xml) وإنشاء مستخدمين عبر جمك ، وهو استثناء للمستخدم أثناء عملية الخلق قد تؤدي إلى ظهور رسالة خطأ في جمك العميل الذي يتضمن كلمة السر الخاصة بالمستخدم. ثم يتم كتابة هذه الرسالة الخطأ إلى سجلات القط. كلمات مرور المستخدم مرئية لمسؤولي مع وصول جمك و / أو المسؤولين مع حق الوصول للقراءة إلى الملف هر - users.xml. ليس لديك هؤلاء المستخدمين أذونات لكنها قادرة على قراءة ملفات السجل قد تكون قادرة على اكتشاف كلمة السر الخاصة بالمستخدم. تم إصلاح هذا في تنقيح ال 1140071 وقد تم تحديد هذا بواسطة جينوفا بولينا في 14 يونيو 2011 ونشرت يوم 27 يونيو 2011th يؤثر : 6.0.0-6.0.32 منخفض : الكشف عن المعلومات CVE - 2011-2526 القط يوفر الدعم لارسال الملف مع HTTP و HTTP NIO الموصلات في ابريل نيسان. يستخدم لمحتوى sendfile خدم تلقائيا عبر DefaultServlet والتطبيقات المنتشرة قد تستخدم مباشرة عبر الإنترنت طلب سمات الإعداد. ويتم التحقق من صحة هذه الصفات الطلب. يسمح هذا النقص في التحقق من صحة عندما يعمل تحت مدير الأمن ، وتطبيق ويب الخبيثة لفعل واحد أو أكثر من الإجراءات التالية التي عادة ما تكون منعت من قبل مدير الأمن : العودة إلى ملفات المستخدمين أن مدير الأمن ينبغي أن تنتهي لا يمكن الوصول إليها (من خلال حادث تحطم طائرة ) في JVM وبالإضافة إلى ذلك ، فإن هذه الثغرات تحدث فقط عندما تكون كافة الإجراءات التالية صحيحا : يتم استخدام تطبيقات الويب غير الموثوق بها يتم استخدام مدير الأمن للحد من تطبيقات الويب غير الموثوق بها يتم استخدام NIO HTTP أو HTTP موصل أبريل تمكين sendfile للموصل (وهذا هو الافتراضي) تم إصلاح هذا في المراجعة 1146703 وقد تم تحديد هذا من قبل الفريق الأمني القط في 7 تموز 2011 ونشرت يوم 13 يوليو 2011th يؤثر : 6.0.0-6.0.32 هام : الكشف عن معلومات CVE - 2011-2729 نظرا لخلل في القدرات رمز ، jsvc (المجمع خدمة لينكس الذي يعد جزءا من مشروع الشيطان العموم) لا تراجع قدرات السماح للتطبيق الوصول إلى الملفات والدلائل التي تملكها الخارق. هذا الضعف تحدث فقط عندما تكون كافة الإجراءات التالية صحيحا : القط يعمل على نظام التشغيل لينكس المترجمة مع libcap ما يستخدم jsvc المستخدم هر المعلمة إصدارات المتأثرة التي يتم شحنها مع ملفات المصدر لjsvc التي تضمنت هذه الثغرة الأمنية. تم إصلاح هذا في المراجعة 1153824 وقد تم تحديد هذا من قبل وايزمان ويلفريد في 20 تموز 2011 ، وتعلن في 12 آب 2011. يؤثر : 6.0.30-6.0.32 الثابتة في القط اباتشي 6.0.32 سراح 3 فبراير 2011 ملاحظة : تم إصلاح المشكلة التالية في الإصدار 6.0.31 اباتشي القط ولكن التصويت لصالح المرشح الافراج 6.0.31 لم تمر لا. لذا ، على الرغم من أن المستخدمين يجب تحميل 6.0.32 للحصول على الإصدار الذي يتضمن إصلاح هذه المشكلة ، لا يتم تضمين الإصدار 6.0.31 في قائمة الإصدارات المتأثرة. المهم : الحرمان من الخدمة بعد CVE - 2011 - 0534 الرابط NIO يوسع العازلة خطها ما لا نهاية أثناء معالجة الطلب. ويمكن استخدام هذا السلوك عن الحرمان من الخدمة الهجوم باستخدام الطلب بعناية. تم إصلاح هذا في تنقيح 1066313th وقد تم تحديد هذا من قبل الفريق الأمني القط في 27 يناير ، 2011 ونشرت يوم 5 فبراير 2011. يؤثر : 6.0.0-6.0.30 الثابتة في القط اباتشي 6.0.30 سراح 13 يناير 2011 منخفض : عبر موقع البرمجة CVE - 2011-0013 ويب إدارة HTML واجهة التطبيق عرض البيانات المقدمة ، مثل أسماء العرض ، من دون الترشيح. ويمكن أن يؤدي تطبيق الويب الخبيثة تنفيذ البرنامج النصي من قبل المستخدم الإدارية عند عرض صفحات مدير. تم إصلاح هذا في المراجعة 1057270 وقد تم تحديد هذا من قبل الفريق الأمني القط في 12 نوفمبر ، 2010 ونشرت يوم 5 فبراير 2011. يؤثر : 6.0.0-6.0.29 متوسطة : عبر موقع البرمجة CVE - 2010-4172 التطبيق مدير المستخدمة والمستخدم قدمت المعلمات orderBy الفرز مباشرة دون تصفية تسمح بذلك عبر موقع البرمجة. تم إصلاح هذا في المراجعة 1037779 وكان أول تقرير هذا الفريق الأمني القط في 15 نوفمبر ، 2010 وعلى الملأ في 22 نوفمبر 2010. يؤثر : 6.0.12-6.0.29 دنيا : إذن ملف تجاوز SecurityManager CVE 2010-3718 عندما يعمل تحت مدير الأمن ، والوصول إلى نظام الملفات محدودة ولكنها تمنح تطبيقات الويب قراءة / كتابة الأذونات إلى الدليل العمل. ويستخدم هذا الدليل لمجموعة متنوعة من الملفات المؤقتة مثل الملفات وسيطة ولدت عند ترجمة صفحات JSP لالسيرفلتس. تم تحديد موقع دليل العمل سمة ServletContect كان من المفترض أن تكون للقراءة فقط لتطبيقات الويب. ومع ذلك ، ويرجع ذلك إلى خطأ في الترميز ، وكان تطبيق الإعداد للقراءة فقط لا. لذلك ، قد تطبيق ويب الخبيثة تعديل السمة قبل قط ينطبق أذونات الملف. ويمكن استخدام هذا لمنح أذونات القراءة / الكتابة إلى أي منطقة على أي نظام ملفات تطبيق ويب الخبيثة قد يستغرق ثم الاستفادة منه. هذا الضعف لا ينطبق إلا عند استضافة تطبيقات الويب من مصادر غير موثوق بها مثل بيئات استضافة مشتركة. تم إصلاح هذا في المراجعة 1022560 تم اكتشاف ذلك من قبل الفريق الأمني القط في 12 مايو عام 2010 ونشرت يوم 5 فبراير 2011. يؤثر : 6.0.0-6.0.29 الثابتة في القط اباتشي 6.0.28 سراح 9 يوليو 2010 هام : الحرمان النائية من الخدمات والمعلومات حصانة الإفصاح CVE - 2010-2227 تم العثور على العديد من العيوب في التعامل مع رأس "تحويل ترميز" حالت دون ذلك إعادة تدوير منطقة عازلة. ويمكن لمهاجم بعيد الزناد هذا الخلل من شأنه أن يؤدي إلى فشل طلبات اللاحقة و / أو تسرب المعلومات بين الطلبات. هو تخفيف هذا الخلل إذا هو وراء القط وكيل عكسي (مثل Apache HTTPD 2.2) والوكيل يجب أن نرفض نقل ترميز غير صالح رأس. تم إصلاح هذا في تنقيح ال 958977 وكان أول تقرير هذا الفريق الأمني القط في 14 حزيران ، 2010 ونشرت يوم 9 يوليو 2010. يؤثر : 6.0.0-6.0.27 ملاحظة : تم إصلاح المشكلة التالية في الإصدار 6.0.27 اباتشي القط ولكن التصويت لصالح المرشح الافراج 6.0.27 لم تمر لا. لذا ، على الرغم من أن المستخدمين يجب تحميل 6.0.28 للحصول على الإصدار الذي يتضمن إصلاح هذه المشكلة ، لا يتم تضمين الإصدار 6.0.27 في قائمة الإصدارات المتأثرة. منخفض : الكشف عن المعلومات في رؤوس مصادقة CVE - 2010 - 1157 رأس HTTP WWW - مصادقة للمصادقة BASIC DIGEST ويتضمن اسم المجال. إذا كانالعنصر المحدد في web.xml للتطبيق سيتم استخدامها. ومع ذلك ، ثم لم يتم تحديد اسم القط سوف يولد عالم باستخدام رمز request.getServerName مقتطف () + "" + request.getServerPort (). في بعض الحالات وهذا يمكن أن يعرض اسم المضيف المحلي أو عنوان IP لجهاز يعمل قط. تم إصلاح هذا في تنقيح ال 936540 وكان أول تقرير هذا الفريق الأمني القط في 31 مايو 2009 ونشرت يوم 21 أبريل 2010. يؤثر : 6.0.0-6.0.26
كل هذا يبدو غير مؤكد جدا ، وبالنسبة لي هو مثال على إرادة الدولة عاش الخصوصية. وتباع هذه البيانات ، ويكاد يدرك أي شخص. التنفيذ التقني يترك الكثير مما هو مرغوب فيه ، ويعمل على النظم التقنية للغاية التي هي معروفة ليكون هناك خلل وتحتاج إلى تحديث عاجل. ويبدو أيضا أن يكون الفحص النهائي وقبول المؤهلين في مشروعات تكنولوجيا المعلومات (المعروفة للدولة وعادة ما تكون مكلفة جدا) لا يحدث دوما.
النقطة الوحيدة زائد يمكن أن ألاحظ أن هناك لا يبدو أن البوابة المركزية على الصعيد الوطني مع القراءة على الانترنت لجميع البيانات والتقارير. ثم فإننا بالتأكيد ليست بعيدة عن ما حدث مؤخرا للإسرائيليين .
أنا سعيد لأنني عقدت لي ، ولكن اذا كان هناك من لا يفهم بعض الطاقة الجنائية والمعارف التقنية يمكن أن تحدث لا يزال (مجاني) لي (والجميع) ، وأعتقد على الأقل مشكوك فيها. للوهلة الأولى ، فإن النظام لا دوسلدورف صلابة ضد أي هجوم.
سقسقة 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
Die Konfiguration findet zentral in der Datei /etc/dnsmasq.conf statt. Man sollte sich vor den geballten Konfigurationsoptionen in der Datei nicht abschrecken lassen. So gut wie alles dient nur als Beispiel und ist per default auskommentiert. Eine sehr kurze Konfig reicht bereits für ein funktionierendes Setup:
DHCP
# DHCP netmask # Clients bekommen 255.255.255.0 als Netmask dhcp-option=1,255.255.255.0 # default gateway # Clients bekommen als Gateway 192.168.1.251 dhcp-option=3,192.168.1.251 # dns # Clients bekommen als Nameserver 192.168.1.4 # Falls man dnsmasq auch als DNS-Cache benutzen möchte, sollte dies die # IP des Servers sein, auf dem dnsmasq läuft dhcp-option=6,192.168.1.4 # Für bekannte Rechner immer dieselbe IP anhand der MAC-Adresse vergeben: # Hier bekommt der Rechner mit der MAC 00:11:22:33:44:55 die IP 192,168.1.1 für 12 Stunden dhcp-host=00:11:22:33:44:55,lobby,192.168.1.1,12h dhcp-host=00:11:22:33:44:66,lobby2,192.168.1.2,12h # Alle Rechner, die nicht per MAC identifiziert werden können, erhalten IPs # aus dem Pool 192.168.1.120 bis 150 dhcp-range=192.168.1.120,192.168.1.150,12h
DNS
Die DNS-Funktionalität von dnsmasq benötigt eigentlich keine Konfiguration.
dnsmasq besorgt sich seine Nameserver aus /etc/resolv.conf . Hier sollten die
bekannten Nameserver des Providers eingetragen werden und evtl noch als Fallback
die 8.8.8.8 für Googles DNS-Server.
Weitere Hostnames, die im lokalen Netz gelten sollen, können dnsmasq in der Datei
/etc/hosts bekannt gemacht werden. Hier eingetragene Hostnames stehen allen Rechnern
im LAN zur Verfügung.
Fallstricke
dnsmasq muss nach Konfigänderungen seine Konfigurationsdateien neu einlesen
/etc/init.d/dnsmasq restart
Falls Clients noch eine Lease vom alten DHCP-Server haben, kann man sie manuell dazu bringen, einen neuen DHCP-request zu starten.
#Linux dhclient eth0 #Windows ipconfig /RELEASE ipconfig /RENEW
Dringend muss man darauf achten, den bisher genutzen DHCP-Server (meistens im Router zum Internet) zu deaktivieren. 2 DHCP-Server im LAN können viel Chaos generieren.
Wlan für EEE 1000H rt2860 unter Ubuntu
Mit irgendeinem Update in letzter Zeit wurde das WLAN auf meinem EEE PC 1000H unter Ubuntu recht instabil. Dauernde Verbindungsabbrüche, kein WLAN nach Suspend, langsame Verbindung, etc.
Ich bin mir nicht ganz sicher woran es liegt, wahrscheinlich hat der rt2860 Treiber mit irgendeinem Update einen Bug bekommen.
Zum Glück kann das Problem durch die Installation der Windows-Treiber mit ndiswrapper gelöst werden.
Dies ist nur eine etwas verkürzte deutsche Übersetzung der englischen Originalanleitung von nevdelap aus dem Ubuntuforum. (Vielen Dank)
1. Windows Treiber saugen und entpacken (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)
ثان Linux Treiber blacklisten
#/etc/modprobe.d/blacklist.conf blacklist rt2x00lib blacklist rt2x00pci blacklist rt2x00usb blacklist rt2400pci blacklist rt2500pci blacklist rt2500usb blacklist rt2800lib blacklist rt2800pci blacklist rt2800usb blacklist rt61pci blacklist rt73usb blacklist rt2600 blacklist rt2860 # Asus eee 1000H has an rt2860. To be loaded by ndiswrapper. blacklist b43 blacklist b43legacy blacklist ssb blacklist r8192s_usb
3. Mit ndisgtk den Windowstreiber aus drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k installieren
sudo ndisgtk
4 Grub konfigurieren
#/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="pciehp.pciehp_force=1 pciehp.pciehp_poll=1 quiet splash"
sudo update-grub2
5. Powermanagement Rule erstellen
#/etc/pm/sleep.d/ndiswrapper
#!/bin/bash
case "$1" in
hibernate|suspend)
sudo rmmod ndiswrapper
;;
thaw|resume)
sudo modprobe ndiswrapper
;;
*)
;;
esac
exit $?
chmod +x /etc/pm/sleep.d/ndiswrapper
6 Reboot
Danach läuft das WLAN schnell und stabil.
PHP Spickzettel
Hier sammele ich nützliche PHP Codeschnipsel
Pseudo Multithreading mit screen
#!/usr/bin/php5 for ($i=1;$i<50;$i++) { echo "starting $i\n"; exec("screen -d -m /usr/bin/php5 ./thread.php"); } MySQL Server has gone away in lange laufenden PHP-Shellscripten
#/etc/php5/cli/php.ini mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.connect_timeout = -1
Company Connect – Spass mit dem Telekom Vertrieb
Ein Kunde hatte ein Problem. Wegen einer speziellen Applikation, wurde ein schnellerer Ping nach Taiwan benötigt. Ein herkömmlicher Telekom DSLer brachte konstant 290 - 320ms zu Hinet, einem grossen taiwanesischen Provider. Eine streßfreie Nutzung der Applikation war mit diesen Paketlaufzeiten nicht möglich, deshalb forschte man nach Alternativen um eine schnellere Verbindung herzustellen. Ich war von Anfang an skeptisch ob eine Verbesserung der Situation überhaupt möglich war. Mit dem DSLer wurden die Pakete zunächst über das Telekom-Netz nach New York geroutet. Von dort aus ging es mit AT&T weiter quer durch die USA, dann über den Pazifik zu Hinet. Von Kalifornien bis Taiwan entstand der Hauptteil der Paketlaufzeit - fast 200ms. Meiner Meinung nach wäre eine Verbesserung nur möglich gewesen, wenn die Telekom selbst einen Backbone ihres Netzes in Taiwan unterhalten würde. Bei meiner Suche nach Anbietern, die das unmögliche leisten könnten, stieß ich auf das Telekom-Produkt Company Connect , das aus einer Standleitung besteht, die direkt an den Telekom-Backbones hängt. Telefonisch versicherte man mir, dass man mit "CoCo" ohne weiteres einen Ping unter 50ms nach Asien erreicht. Ich war freudig überrascht, aber nach wie vor skeptisch. Einige Tage später kam ein jung-dynamischer Telekom-Vertriebler ins Haus und bestätigte die Behauptung der Hotline erneut. "Ich habe mich für Sie erkundigt, das ist alles kein Problem. Die Telekom unterhält weltweit Backbones." Beim verlassen des Gebäudes erzählte er mir noch, dass er sich gerade einen neuen BMW bestellt hätte. جميلة جدا. Am nächsten Tag kam per E-Mail direkt der Vertrag ins Haus. Wir schickten ihn mit dem Zusatz zurück, dass wir den Vertrag stornieren können, falls keine Pings unter 100ms nach Taiwan erreicht werden könnten. Die Telekom unterschrieb. Danach passierte erst einmal lange nichts mehr. Der Vertriebler hatte eine Schaltung innerhalb eines Monats zugesichert. Nach einem Monat fragten wir nach, der Vertriebler war allerdings ab dann (bis heute) nicht mehr erreichbar. Auch E-Mails an seine Abteilung wurden nicht beantwortet. Nach 2 1/2 Monaten wurden wir ungeduldig und drohten mit einer Stornierung des Auftrags, falls nicht innerhalb einer Woche ein Termin für die Schaltung vereinbart werden könnte. Danach ging es plötzlich sehr schnell. Die "Eskalationsstelle" organisierte einen Termin für uns, die Leitung wurde geschaltet. Für einen ersten Test klemmte ich einen Router und mein Netbook an die brandneue Leitung.
box-ww-11:57:35 ~ -> ping www.hinet.net PING www.hinet.net (202.39.224.7) 56(84) bytes of data. 64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=1 ttl=237 time=306 ms 64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=2 ttl=237 time=306 ms
LOL. Was hätte man anderes erwarten können? Exakt die gleichen Ping-Werte wie zuvor. Exakt die gleiche internationale Route wie zuvor. Kein technisches Problem. Einfach nur viel Bullshit-Blah-Blah. Ich bin gespannt, ob die Kündigung genauso "problemlos" funktionieren wird wie die Schaltung.
XS عصا W14 UMTS مع أوبونتو
Der XS Stick W 14 unter Ubuntu zickte ein wenig herum. Gelegentlich erkannte der Network-Manager ihn als USB-Modem, dann konnte er allerdings trotzdem keine Verbindung herstellen. Nach ein wenig erfolgloser Frickelei bin ich auf das Sakis3G Script gestoßen, das verspricht mit fast allen Sticks eine Verbindung herstellen zu können. Und tatsächlich: Es hat mit Sakis3G sofort funktioniert. Empfehlenswert, wahrscheinlich auch für andere Sticks.
TYPENSCHILD XS Stick W14 P/N 3000.000056.00 www.4g-systems.com
#lsusb Bus 002 Device 006: ID 1c9e:9603
# /var/log/syslog beim Einstecken Jun 19 20:41:04 box kernel: [74186.796148] usb 2-2: new high speed USB device using ehci_hcd and address 7 Jun 19 20:41:04 box kernel: [74186.946031] scsi11 : usb-storage 2-2:1.0 Jun 19 20:41:05 box usb_modeswitch: switching 1c9e:f000 (USB Modem: USB Modem) Jun 19 20:41:06 box kernel: [74189.293850] usb 2-2: USB disconnect, address 7 Jun 19 20:41:07 box kernel: [74189.660069] usb 2-2: new high speed USB device using ehci_hcd and address 8 Jun 19 20:41:07 box kernel: [74189.819348] option 2-2:1.0: GSM modem (1-port) converter detected Jun 19 20:41:07 box kernel: [74189.819577] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0 Jun 19 20:41:07 box kernel: [74189.819802] option 2-2:1.1: GSM modem (1-port) converter detected Jun 19 20:41:07 box kernel: [74189.819950] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1 Jun 19 20:41:07 box kernel: [74189.820220] option 2-2:1.2: GSM modem (1-port) converter detected Jun 19 20:41:07 box kernel: [74189.820395] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB2 Jun 19 20:41:07 box kernel: [74189.821414] scsi12 : usb-storage 2-2:1.3 Jun 19 20:41:07 box modem-manager[10480]:(ttyUSB1) opening serial port... Jun 19 20:41:07 box modem-manager[10480]: (ttyUSB0) opening serial port... Jun 19 20:41:07 box modem-manager[10480]: (ttyUSB2) opening serial port... Jun 19 20:41:08 box usb_modeswitch: switched to 1c9e:9603 (USB Modem: Modem Configuration) Jun 19 20:41:08 box kernel: [74190.823474] scsi 12:0:0:0: Direct-Access USBModem Disk 2.31 PQ: 0 ANSI: 2 Jun 19 20:41:08 box kernel: [74190.825402] sd 12:0:0:0: Attached scsi generic sg3 type 0 Jun 19 20:41:08 box kernel: [74190.833436] sd 12:0:0:0: [sdc] Attached SCSI removable disk
12 Maßnahmen um einen Linux root LAMP Apache MySQL PHP Webserver abzusichern
Die Hacking-Frequenz ist in den letzten Monaten stark angestiegen. Besonders viele Daten werden abgegriffen durch Hacks auf Webserver. Sogar der SONY-PSN-Hack nutzte Schwachstellen in einem ungepatchten Apache-Webserver. Deshalb sammele ich hier Maßnahmen, die den eigenen Server etwas sicherer gegen Angriffe von außen machen können. Natürlich bieten auch diese keinen 100%igen Schutz, aber es ist besser, den bösen Buben das Spiel ein wenig schwieriger zu machen. Einige der Maßnahmen benötigen nur einen minimalen Installations- und Wartungsaufwand. Andere benötigen viel Zeit und Kenntnisse von PHP um zu greifen. Man sollte immer auf das Kosten-Nutzen-Verhältnis bei der Auswahl der Sicherheitsmaßnahmen achten. Es macht keinen Sinn, eine kleine, private Website so abzusichern wie die Federal Reserve Bank. Allerdings können wenige gezielte Änderungen am System bereits ein großes Mehr an Sicherheit bedeuten. Und das sollte man sich schon gönnen, bevor es zu spät ist....
Alle Tipps und Codesnips beziehen sich auf eine aktuelle Debian-Kiste.
الأول Die Firewall - erst einmal alles verbieten
Die meisten Linux-Distributionen öffnen in ihren Standardinstallationen keine Ports nach außen, die nicht unbedingt notwendig sind. Diese Situation kann man jedoch schnell selbst ändern, wenn man am Server
herumspielt und Dinge ausprobiert. Plötzlich lauscht auch der Mediaserver im Internet oder die Datenbank
nimmt Verbindungen aus dem Internet entgegen. Deshalb ist es nicht verkehrt sich selbst zu disziplinieren und eine sehr restriktive Firewall aufzusetzen, die grundsätzlich erst einmal alle Verbindungen von außen verbietet und nur (selbst) ausgewählte Verbindungen gestattet. Zum Glück ist das mit iptables schnell erledigt. Auf diese Art und Weise kann man nicht mehr aus versehen Dienste der Welt zugänglich machen, die dort nichts zu suchen haben. Man bezahlt leider mit etwas Komfort - die Firewall muss jedes Mal angepasst werden, wenn man neue Dienste anbieten möchte. Trotzdem ist der Aufwand klein und der Nutzen groß.
#!/bin/bash # Bestehende Tables löschen iptables -F # Alle eingehenden Verbindungen verbieten iptables -P INPUT DROP iptables -P FORWARD DROP # Alle ausgehenden erlauben iptables -P OUTPUT ACCEPT # SSH erlauben iptables -A INPUT -j ACCEPT -p tcp --dport 22 # HTTP erlauben iptables -A INPUT -j ACCEPT -p tcp --dport 80 # Weiteren Dienst (UDP) erlauben, zum Beispiel Gameserver iptables -A INPUT -j ACCEPT -p udp --dport 4534 # Alles von Localhost erlauben. (Damit der Server selbst ungehindert auf seine Dienste zugreifen kann, # zum Beispiel PHP auf die lokale Datenbank iptables -A INPUT -j ACCEPT -s 127.0.0.1 # Bereits aufgebaute Verbindungen werden an jedem Port akzeptiert # (Notwendig für manche Daemons) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Dieses kleine Grundgerüst kann man einfach weiter ausbauen und eigene Dienste hinzufügen. Bei Arbeiten an der Firewall sollte man immer für den Fall vorsorgen, dass man sich selbst aussperrt. Besonders bei Remote-Servern, auf die man keinen physischen Zugriff hat, ist es sehr ärgerlich, durch eine mißglückte Firewallregel den eigenen Zugriff zu verlieren. Um diesem Problem aus dem Weg zu gehen, kann man bei Arbeiten an der Firewall einfach temporär einen Cronjob starten lassen, der die Firewall alle paar Minuten zurücksetzt oder den Server neu startet. Sind die Regeln später getestet und geliebt, kann der Cronjob wieder deaktiviert werden und die neuen Regeln bleiben permanent aktiv.
Um herauszufinden, welche Dienste gerade auf dem eigenen Server herumlauschen, kann man netstat benutzen:
#Für TCP-Sockets: netstat -lpn | grep tcp #Analog für UDP: netstat -lpn | grep udp
Um zu testen ob die Firewall wirklich funktioniert, kann man den eigenen Server von einem anderen Rechner aus portscannen. Hat alles geklappt, sollten im Ergebnis nur die selbst geöffneten Ports auftauchen:
#Für TCP: nmap -p1-65535 meinserver.de #Für UDP: nmap -sU -p1-65535 meinserver.de
ثان SSH Logins verbieten
Am eigenen root-Server hat man uneingeschränkten SSH-Zugriff. Das ist recht praktisch, da man von jedem SSH-Client aus mal eben auf den Server kann um an ihm zu arbeiten. Der Nachteil davon ist, dass das natürlich auch jeder andere kann, der unglücklicher Weise irgendwie an das eigene Passwort gelangt ist. Es ist viel sicherer SSH-Logins nur mit einer gültigen Schlüsseldatei zu erlauben. Dafür wird der öffentliche Schlüssel des Clients auf den Server kopiert und interaktive Logins per Passworteingabe werden deaktiviert.
# Auf dem Client einen öffentlichen Schlüssel erstellen # Wird bei der Generierung ein Passwort angegeben, benötigt man zum # einloggen später die Schlüsseldatei UND das Passwort. Ansonsten wird # nur der Schlüssel benötigt. ssh-keygen -t rsa # Den erstellten Schlüssel danach auf den Server kopieren ssh-copy-id -i ~/.ssh/id_rsa.pub root@meinserver.de # Danach auf dem Server /etc/ssh/sshd_config anpassen . . PasswordAuthentication no . . # Danach SSh neu starten /etc/init.d/ssh restart
Auch hier sollte man Vorkehrungen treffen, um sich nicht selbst auszusperren, falls etwas nicht funktioniert.
Der Public Key auf einem USB-Stick mit dem dazugehörigen Passwort im eigenen Kopf macht es sehr viel schwerer für böse Buben eine Shell zu erhalten.
3. SSH Bruteforcing verhindern mit denyhosts
Falls Tipp 2 nicht praktikabel ist und man den Komfort von passwortgestützten Logins nicht aufgeben will, kann man zumindest das automatisierte Passwortraten von Angreifern auf dem Server verhindern. Sehr viele Bots im Internet machen den ganzen Tag nichts anderes als nach SSH-Servern zu suchen und bei Ihnen verschiedenste Passwörter durchzuprobieren. Mit einem halbwegs sicheren Passwort ist das kein großes Problem, trotzdem gibt es ein besseres Gefühl, wenn nicht einmal das möglich ist. Außerdem schützt man so auch seine User, falls auf dem Server auch Useraccounts bestehen. Hier kann man sich nicht darauf verlassen, dass die Benutzer sichere Passwörter verwenden. denyhosts überprüft ständig Logins auf dem ssh und sperrt Benutzer für eine gewisse Zeit, die ihr Passwort wiederholt falsch angegeben haben. Die IP's dieser Nutzer landen temporär in /etc/hosts.deny, so dass für sie kein Zugriff mehr möglich ist. Damit wird SSH-Bruteforcing zu einer sehr langwierigen und wenig erfolgversprechenden Aufgabe.
apt-get install denyhosts # denyhosts funktioniert direkt nach der Installation. Man kann es # in der Datei /etc/denyhosts.conf feintunen
4 Blacklisten benutzen, um bekannte Problem-IPs auszusperren
Im Internet werden verschiedene Blacklisten gepflegt, die eine große Anzahl von kriminellen/gehackten/spammenden/betrügerischen Servern auflisten. Diese IP-Listen können direkt in die Firewall eingetragen werden, so dass von diesen bekanntermaßen nicht vertrauenswürdigen Rechnern überhaupt keine Verbindung mehr zum eigenen Server möglich ist. So kann man das Spamaufkommen auf dem eigenen Server drastisch verringern und auch das eine oder andere Script-Kiddie aussperren, weil sein Russland-Proxy plötzlich nicht mehr funktioniert. Wie man das macht habe ich bereits in einem anderen Blog-Artikel am Beispiel der Blacklist von Infiltrated.net beschrieben.
5. Kein FTP benutzen für die Arbeit am Server
FTP ist ein Relikt aus besseren Zeiten in denen das Internet noch ein kleines vertrauenswürdiges Dörfchen war. Viele Admins von Webseiten nutzen nach wie vor FTP um Dateien zum Server zu übertragen oder um an der eigenen Website zu arbeiten. Das ist leider sehr unsicher, da FTP alle Daten ungesichert übertragt. Passwörter und Daten können an jedem Hop zwischen Server und Client ohne Probleme mitgelesen werden. Viel sicherer geht es mit sshfs. Hiermit kann man sich per SSH ein Verzeichnis des Remote-Servers in sein lokales Dateisystem mounten. Man kann danach auf dem Server so arbeiten, als sei er auf dem lokalen Rechner. Alle Dateizugriffe auf Dateien auf dem Server sind komplett transparant, man kann also auch mit dem lokalen Grafikprogramm ein Bild auf dem Server direkt öffnen, bearbeiten und wieder speichern. Mehr Komfort und mehr Sicherheit ohne großen Aufwand.
#sshfs installieren apt-get install sshfs #mountpoint im lokalen Dateisystem anlegen mkdir /media/meinserver #Server ins lokale Dateisystem mounten sshfs www-data@mein-server.de:/var/www /media/meinserver #Nun ist das Verzeichnis /var/www auf meinserver lokal unter /media/meinserver verfügbar
6 Updates installieren
Ein super abgesichertes System hilft nichts, wenn das System selbst fehlerhaft ist und eine bekannte Sicherheitslücke ausgenutzt werden kann. Meist werden diese Sicherheitslücken schnell geschlossen, oft vergessen Admins jedoch regelmäßige Updates des Systems zu machen. Ob man automatische Updates auf Linux-Servern aktivieren sollte oder nicht ist ein strittiges Thema. Einige würden es niemals tun, da es natürlich mit viel Pech auch sein kann, dass die Updates das System unbrauchbar machen. Dies ist mir in über 10 Jahren Arbeit an Debian-Systemen allerdings niemals passiert und ich schätze den Nutzen von zeitnahen und regelmässigen Updates viel höher ein, als die daraus entstehende Gefahr.
#Diese Zeile in der /etc/crontab aktualisiert das System täglich um 6 Uhr morgens 0 6 * * * root apt-get update && apt-get -y upgrade
Diese Quick-and-dirty Methode funktionierte bei mir bisher immer gut. Vor kurzem habe ich gelesen, dass im Debian Repository auch das Paket unattended-upgrades existiert, das die Aufgabe wohl etwas eleganter löst, ich habe es allerdings bisher nicht getestet.
Auch bei diesen vollautomtischen Systemupdates ist man nicht komplett aus dem Schneider. Falls ein Kernel-Update ausgeliefert wurde, muss man das System trotzdem noch per Hand neu booten, da ansonsten die Änderungen nicht aktiv werden.
Benutzt man fremden PHP-Code auf dem Server, wie zum Beispiel ein Open-Source CMS oder ein Forum, ist es natürlich absolut notwendig auch diesen Code mit neuen Versionen aktuell zu halten. Da Debian mit seinen Updates Änderungen an diesen Applikationen in der Regeln nicht abdeckt, ist hier Handarbeit nötig. Am besten liest man die Mailinglisten der entsprechenden Produkte mit um immer auf dem Laufenden zu sein.
7. PHP einsperren mit open_basedir
Viele Hacks basieren darauf, dass eine Sicherheitslücke im PHP-Code ausgenutzt wird, um auf Dateien im Dateisystem zuzugreifen, die nicht zur Website gehören, sondern zum System selbst. Deshalb sollte man PHP einsperren, so dass es nur in explizit erlaubten Verzeichnissen lesen und schreiben darf. Dafür bietet die php.ini die Konfigurationsoption open_basedir. PHP hat nach setzten der Option nur noch Zugriff auf die dort erlaubten Verzeichnisse. Dateien wie /etc/passwd werden unerreichbar. Hostet man auf einem Server mehrere Webseiten sollte man open_basedir in der jeweiligen VirtualHost-Konfiguration pro Seite setzen.
# Global per php.ini: # /etc/php5/apache2/php.ini open_basedir = /var/www/:/tmp/ # Per Site in der VirtualHost Config: php_value open_basedir /var/www/site/:/tmp/
Wichtig ist zu prüfen ob wirklich alle Orte eingetragen wurden, auf die die Skripte normalerweise Zugriff haben müssen, ansonsten kann es sein, dass man auch legitime Funktionen der PHP-Applikation behindert.
8 Für Websites einen eigenen MySQL-Benutzer anlegen
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.";
?>
The Adobe Flash plugin has crashed – Reparieren – Ubuntu – NVidia
Seit einer der letzten Firefox Versionen wollte Flash nicht mehr so richtig. Bei sehr vielen Videos crashte der Adobe Flash Player. Ich habe das Problem gelöst, bin mir aber nicht 100%ig sicher woran es lag. Ich tippe auf 2 Bugs: Einmal auf das Zusammenspiel der Hardwarebeschleunigung von Flash mit meiner Grafikkarte und zum anderen auf das neue Plugin-Crash-Handling von Firefox.
الأول Hardwarebeschleunigung deaktivieren
In ein Flash-Video rechtsklicken. Einstellungen wählen. Haken bei Hardwarebeschleunigung entfernen.
ثان Plugin-Crash-Handling von Firefox deaktivieren
about:config in der Adresszeile eingeben
Die Werte dom.ipc.plugins.processLaunchTimeoutSecs und dom.ipc.plugins.timeoutSecs auf "-1" setzen.
Seitdem habe ich keine Probleme mehr mit Ubuntu 10.10, Firefox 4 und Flash 10.2.153.1









