Wvdial ve O2 Mobil Düz Debian ile UMTS sörf sopa vasıtasıyla çevrimiçi
Benim yeni DSL bağlantısı sadece birkaç hafta aktive olduğundan, "Hızlı Başlat" Alice in kulüpler seçilir. Burada açık mıydı size DSL bağlantısı kadar geçici olarak, 3 ay boyunca ücretsiz olarak sörf bir SIM kart almak.
Tabii ki bir istemciden Internet bağlantı kurmak değildi, ama bir yönlendirici olarak tüm ev ağı için hareket benim ev sunucusu üzerinde her zamanki gibi.
Alice hattı ile yaptığı en büyük sorunları. SIM kart Alice portal üzerinden etkinleştirmek için nasıl kısa bir rehber ile geldi. Ne yazık ki, ne Firefox, Chrome ve Opera site düzgün çalışıyor. Ben SIM kart aktivasyonu kadar gelişmiş değilim.
Yani, ne yazık ki, hattı 01 805 çağırır. 42ct./Min için çok can sıkıcı.
Haritanın Hotline Akivierung Hakkında hızlı yapıldı, neyse ki, orada ilk, ne yazık ki, wvdial yapılandırması için gerekli APN çağrı olamazdı. Ben değerinin yanlış yapılandırma de fahiş faturalar bazı korku vardı emin olmak istedim. Burada teknik mutluluk için bana yardımcı olabilir. Alice / O2 Hızlı Başlangıç Mobil İnternet APN için düz Hattı "internet.partner1" göre vardır. Adı atarken muhtemelen pazarlama dahil hiç kimse oldu ![]()
Bir sonraki adım olarak, aktivasyon ve bunun farkında olanlar için beklemek için bir cep telefonu SIM kartı taktınız. Bu yaklaşık 30 dakika sonra, benim SIM zaten etkin ve ağa oturum, oldukça hızlı bir şekilde gitti. Şaşırtıcı hızlı, Alice aktivasyonu bu yana ilk O2 yükseldi. Net yeni einzubuchen şekilde zorlamak için, yine kapalı ve üzerinde olabilir. Ben bir süre önce wvdial ve PIN ile zaten kötü olan sorunları vardı çünkü telefonun SIM PIN kodu isteğini devre dışı bırakır ile var şimdi.
Gerisi inanılmaz iyi çalıştı.
Ben Huawei Surf Sürücü (T-Mobile Surf Stick ™ III) SIM var
Bus 001 Device 004: ID 12D1: 1003 Huawei Technologies Co, Ltd. E220 HSDPA Modem / E270 HSDPA / HSUPA Modem
eklenmiştir. Güncel bir çekirdek ile bir USB portuna takarak sonra Debian bulunan aygıt / dev/ttyUSB0 sağlar.
Bu wvdial ile itiraz edebilir
# / Etc / wvdial.conf [Dialer Defaults] = ATZ Init1 Init2 = ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 Init3 = AT + CGDCONT = 1, "IP", "internet.partner1" Telefon = * 99 * ** 1 # Şifre = boş Kullanıcı Adı = boş Yeni PPPD = yes Modem = / dev/ttyUSB0 Baud = 460800 Modem Tür = Analog Modem Otomatik = açık Reconnect Sonra bir "wvdial" Bağlantı kurulduğunda ile olabilir:
GBN-root-00: 19:27 ~ -> wvdial -> Wvdial: İnternet çevirici sürüm 1.60 -> Seri port için bilgi alınamıyor -> Modem başlatılıyor. -> Gönderme: ATZ ATZ Tamam -> Gönderme: ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 ATQ0 V1 E1 S0 = 0 & C1 & D2 + FCLASS = 0 Tamam -> Gönderme: AT + CGDCONT = 1, "IP", "internet.partner1" + CGDCONT = 1, "IP", "internet.partner1" AT Tamam -> Modem başlatıldı. -> Gönderme: ATDT * 99 *** 1 # -> Taşıyıcı bekliyorum. ATDT * 99 *** 1 # CONNECT -> Taşıyıcı algılandı. Istemi bekleniyor. -> Ne yapacağını bilmiyor musunuz! Pppd ve en iyi umut başlatılıyor. -> Başlangıç Paz 29 Ocak 2012 00:19:58 de pppd - Pppd of> Pid: 3749 -> Arayüz ppp0 kullanma -> Pppd: ȧ -> Pppd: ȧ -> Pppd: ȧ -> Pppd: ȧ -> Pppd: ȧ -> Pppd: ȧ -> Yerel IP adresi 10.43.145.228 -> Pppd: ȧ -> Uzak IP adresi 10.64.64.64 -> Pppd: ȧ -> Birincil DNS adresi 193 189 244 225 -> Pppd: ȧ -> İkincil DNS adresi 193 189 244 206 -> Pppd: ȧ
Bu artık yönlendirme ve güvenlik duvarı kuralları için kullanabileceğiniz mevcut Internet Cihazı ppp0 için hava arayüzü üzerinden sonra.
Alt sadece iyi Düsseldorf merkezinde, yukarı ÇOK Ancak, istenen olabilir:
2082 kbit / s (260 kByte / s): İndirme hızı 71 kbit / s (9 kbyte / s): Yükleme hızı
Ama ... Üzümünü ye bağını sorma. Ben ancak bu performans için ödeyecekti.
Ek
Ne yazık ki, bağlantı stabil değildir. Bir saatten az sonra, ppp0 üzerinden akış için daha fazla veri, wvdial hiçbir şey ne yazık ki onları alır ve bağlantı hala aktif olduğunu düşünüyor, sürekli kendisi değildir birini seçin. Her durumda bu geçici çözümün devre DSLers çalışmak için yalnızca birkaç hafta kadar çünkü bu sorun hata ayıklamak için çok karmaşık oldu. Bağlantı hala geçerli olup olmadığını kontrol eder küçük bir kabuk programı. Değilse, wvdial öldürdü ve yeni bir başlangıç.
# / Bin / bash www.google.de ping-c1> / dev / null [$ olur? -Ne 0]; o zaman killall wvdial echo `tarih`>> / var / log / connection_lost.log ve wvdial fi
Bir cron üzerinden otomatik olarak bu komut dosyası çağrısı ve artık her zaman hazırım:
# / Etc / crontab # Crappy O2 hat YENİDEN ARAMA * * * * * Root / root / scripts / redial_ppp
Tuzaklar:
- SIM PIN koruması devre dışı bırakılmaz
- Cep telefonu sağlayıcısı üzerinden bağlantı maalesef geNATtet olduğunu. Özel sunucu dışından doğrudan erişilemez. Server hizmetleri sadece zorlukla sunulabilir.
Düsseldorf Online kayıt bilgilerini kötü bir izlenim bırakıyor
Oldukça kişisel verilerin kimlere kayıt ofis geçebilir ne olduğu belli değildi. Biraz araştırma sonra ben değilim bu eylemi kayıt ofisinde kendi veri ifşa karşı çağrı korsanlar itti. Birçok kayıt büroları şimdi herkes! Öder verileri sağlar. Bu sadece bir çelişki ile önlenebilir.
Dairesi verileri iletilir:
Devlet yetkilileri, yardım bağlamında meşru ilgi durumunda
Örneğin polis, savcı, istatistik ofisleri, vb
GEZ
Kardeşler, biz zaten çok iyi biliyorum.
Taraflar, seçmen grupları ve aday diğer kaynakları Parlamento ve yerel seçimler ile ilgili, § 35 paragraf 1. MG NRW
Için oldukça parlak kampanya reklam olsun.
dilekçe ile bağlantılı ve talep sahiplerine ve taraflara Vatandaşlar ve karar verme ile referandum; § 35 para.2 MG NRW
Elde etmek için parlak size sık sık referandum vermenize yardımcı olacaktır.
otomatik arama şekilde internette, § 34 Abs.1b MG NRW
Ben daha önce bilinmiyordu noktasıdır. Internet portalı alabilir miyim
Internet üzerinden otomatik olarak bir kişinin bazı özellikleri bilen herkes
Bilgi rapor alın. Sorgu şu anda Düsseldorf kayıt başına 4 € maliyeti.
Kayıt Yasası Kuzey Ren Vestfalya bu noktada diyor ki:
§ 34 Abs.1b MG NRW Arama internet üzerinden yapılmasının mümkün ise (1b), emin olun uygulama usul ve şifreli olarak yapılan bilgi sağlanması. Erişim açılması genel bilinmelidir. Bireysel bilgi alışverişi bu tür itiraz varsa bir çağrı izin verilmez. Sağdaki kamu duyurusu Internet erişimi açmadan önce son bir ay nota kayıt yetkilisi nesne. Ayrıca, § 35 paragraf 6, cümle 2 de geçerlidir.
Veri aktarımı karşı itiraz bir formu doldurarak mümkündür. Bunun için Düsseldorf burada: https://formulare.duesseldorf.de/forms/frm/7PRPfAZH5gQA8Ja8AkNGaH1rNpDcHR3 Bu ücret devlet daireleri salınıyor olabilir. Sonra hiçbir online erişim daha kendi veri mevcuttur. Görünüşe göre, ilgili bölgesel şehir ve ilçe veri istekleri düzenledi.
Ben vatandaşlara ofiste (çok kolay) memuru, olabilir sorulduğunda
Ben sorgu portalı URL'sini anlatmak için üzgün değildi. Hızlı arama Düsseldorf kentinde bu tarafında sonra ancak hızla götürdü:
https://www.duesseldorf.de/emra/emra.jsp?stadt=D% FCsseldorf & type = şehir
Portal en izlenim söylemek teknik olarak çok şüpheli oldu.
Her şeyden önce, captcha veya vermek benzeri yoktur görünüyor. Bir zemin sorgu uygun komut ile mümkün gibi görünüyor.
Ben çerezler etkin değil çünkü ek olarak, web uygulama benim test Tomcat hata iletisi aşağıdaki sorgu ile onaylı:
Bunu okumak ama sonra giderek kentin sunduğu tüm vatandaşların verilere erişim sağlayan bir uygulama profesyonellik şüpheliyim. Koşulları kullanıcının makinesine (bu durumda benim eksik cookie) mevcut değilse komut kaza gerekir. Devre dışı bırakmak için verimli kullanılmadığı Web sunucularından komut dosyası hata iletileri ihmalkar olduğunu kullanılacağı sistem ortamı hakkında çok şey ortaya çünkü. Bir jsp (Yukarıdaki ekran görüntüsünde olduğu gibi), Quelltextschnippsel almak için sunucu yapılandırmasına bağlı olarak ve aynı zamanda programcı yorumlarına Özellikle. Bu özensiz oldu. Kişisel verilerin bir arayüzde girmemesi gerekir.
Beni oturup da aşağıdaki hata iletisi görünür Tomcat versiyonu kullanalım. (Apache Tomcat/6.0.24) Bu 21/01/2010 tarihinde web sunucusunun eski bir sürümü. Sürümü 6.0.33 olduğunu. Sunucu uzun sürümleri güncelleştirilmez dört kayıt bulunmaktadır. Bu son sürümde ele alındığı güvenlik açıkları bakarsanız, rahatsız gidiyor. Sunucu, en iyi durumda tabii ki değil:
http://tomcat.apache.org/security-6.html , Ağustos 18 serbest Apache Tomcat 6.0.33 Sabit 2011 Orta: HTTP DIGEST kimlik CVE-2011-1184 HTTP DIGEST kimlik uygulaması birden çok zayıf birkaç sahip keşfedildi zayıflıklar: Yeniden gönderme saldırılarını sunucu nonces istemci nonce sayar qop değerleri bölge değerleri sunucu gizli bu zayıflıkları sonucu sadece ne DIGEST kimlik doğrulama olarak bilinen bir dizi için kodlanmış olduğunu kontrol değildi kontrol değildi kontrol değildi kontrol değildi izin verildi TEMEL kimlik denetimi gibi güvenli. Bu revizyon 1158180 giderilmiştir Bu 16 Mart 2011 tarihinde Tomcat güvenlik ekibi tarafından belirlenen ve 26 Eylül 2011 halk yapıldı. Etkileri: 6.0.0-6.0.32 düşük: Bellek kullanıcı veritabanı (tomcat-users.xml göre) kullanarak ve JMX, kullanıcı oluşturma işlemi sırasında bir özel durum üzerinden kullanıcı yaratma bilginin açığa CVE-2011-2204 bir hata iletisi tetikleyebilir kullanıcının parolasını içeren JMX istemci. Bu hata iletisi, sonra Tomcat günlükleri yazılır. Kullanıcı şifreleri tomcat-users.xml dosyaya okuma erişimi ile JMX erişim ve / veya yöneticileri ile yöneticileri tarafından görülebilir. Bu kullanıcıların izinleri var ama günlük dosyaları bir kullanıcının şifresini bulmak mümkün olabilir okuyabilirsunuz yapmak için değil. Bu 1.140.071 inci revizyon giderilmiştir Bu 14 Haziran 2011 tarihinde Polina Genova tarafından belirlenen ve 27 Haziran 2011th kamu yapıldı Etkileri: 6.0.0-6.0.32 düşük: bilginin açığa CVE-2011-2526 Tomcat Nisan ayında HTTP ve NIO HTTP bağlantısı ile dosya göndermek için destek sağlar. sendfile otomatik DefaultServlet üzerinden hizmet ve dağıtılan uygulamalar web ayarı istek öznitelikleri ile doğrudan kullanabilirsiniz içerik için kullanılır. Bu nitelikler isteği geçerli değildi. Bir güvenlik yöneticisi altında çalışırken, doğrulama, bu eksikliği, kötü niyetli bir web uygulaması normal bir güvenlik yöneticisi tarafından önlenen aşağıdakilerden birini veya birkaçını yapın izin: güvenlik yöneticisi erişilemez sona yapmalıdır kullanıcıların dönmek dosyaları (bir kaza ile aşağıdaki tümü doğru olduğunda) JVM Ayrıca, bu güvenlik açıklarından sadece oluşur: güvenilmeyen web uygulamalarının güvenlik yöneticisi bu dosya gönderme (bağlayıcı için etkin HTTP NIO veya HTTP Nisan konektörü kullanılır güvenilmeyen web uygulamaları sınırlamak için kullanılır kullanılıyor varsayılan) Bu revizyon 1146703 giderilmiştir Bu Temmuz 2011 7 Tomcat güvenlik ekibi tarafından belirlenen ve 13 Temmuz 2011th kamu yapıldı Etkileri: 6.0.0-6.0.32 Önemli: Bilgilendirme CVE-2011-2729 kod yetenekleri bir hata, jsvc (Commons Daemon projesinin bir parçasıdır, Linux için hizmet sarıcı) nedeniyle izin yetenekleri damla değil uygulama süper ait dosyalar ve dizinler erişmek için. Aşağıdaki tümü doğru olduğunda bu güvenlik açığı yalnızca oluşur: Tomcat jsvc kullanıcı tomcat parametre bu güvenlik açığından dahil jsvc kaynak dosyaları ile birlikte etkilenen sürümleri kullanılır? Libcap derlenmiş bir Linux işletim sistemi üzerinde çalışıyor. Bu revizyon 1153824 giderilmiştir Bu 20 Temmuz 2011 tarihinde Wilfried Weissmann tarafından belirlenen ve 12 Ağustos 2011 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.30-6.0.32 3 Şubat 2011 Not yayımlanan Apache Tomcat 6.0.32 Sabit: Aşağıdaki sorunu Apache Tomcat 6.0.31 sürümünde giderilmiştir ancak 6.0.31 sürüm adayı için oy geçemedi. Kullanıcıların bu sorunla ilgili bir düzeltme içeren bir sürümünü edinmek için 6.0.32 yüklemeniz gerekiyor rağmen nedenle, sürüm 6.0.31 etkilenen sürümlerinin listesine dahil değildir. Önemli: Hizmet CVE-2011-0534 uzaktan reddi NIO bağlantı isteği işleme sırasında sonsuz çizgisini tampon genişletir. Bu davranış bir özenle hazırlanmış bir istek ile hizmet reddi saldırısı için kullanılabilir. Bu revizyon 1066313th giderilmiştir Bu 27 Ocak 2011 tarihinde Tomcat güvenlik ekibi tarafından belirlenen ve 5 Şubat 2011 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.0-6.0.30 13 Ocak piyasaya Apache Tomcat 6.0.30 Sabit, 2011 Düşük: Cross-site scripting CVE-2011-0013 HTML Yöneticisi web uygulama arayüzü verilerine filtreleme olmadan, böyle görünen adları olarak görüntülenir. Yönetici sayfaları görüntülerken bir kötü niyetli web uygulaması bir yönetici tarafından komut dosyası yürütülmesine tetikleyebilir. Bu revizyon 1057270 giderilmiştir Kasım ayında 12, 2010 tarihinde Tomcat güvenlik ekibi tarafından belirlenen ve 5 Şubat 2011 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.0-6.0.29 Orta: Cross-site scripting CVE-2010-4172 Manager uygulamasını kullanılan ve kullanıcı Böylece cross-site scripting izin filtreleme olmadan doğrudan sıralama OrderBy parametreleri sağladı. Bu revizyon 1037779 giderilmiştir Bu ilk olarak Kasım 15, 2010 tarihinde Tomcat güvenlik ekibi rapor ve 22 Kasım 2010 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.12-6.0.29 Düşük: SecurityManager dosya izin bypass CVE 2010-3718 bir güvenlik yöneticisi altında çalışan, dosya sistemine erişim sınırlıdır ancak web uygulamaları okuma verilen / çalışma dizinine yazma zaman. Bu dizin böyle servlet için JSP'ler derleme sırasında oluşturulan ara dosyaları gibi geçici dosyaları çeşitli için kullanılır. Çalışma dizininin yerini web uygulamaları için salt okunur olması amacıyla bir ServletContect özniteliği tarafından belirtilir. Ancak, bağlı bir kodlama hatası, salt okunur ayarı değil uygulandı. Tomcat dosya izinlerini uygular önce bu nedenle, kötü amaçlı bir web uygulaması nitelik değiştirebilir. Bu kötü niyetli bir web uygulaması daha sonra yararlanmak olabilir dosya sistemi herhangi bir alan için okuma / yazma izinlerini vermek için kullanılabilir. Bu paylaşılan barındırma ortamlarında gibi güvenilir olmayan kaynaklardan gelen web uygulamaları barındıran bu güvenlik açığından geçerlidir. Bu revizyon 1022560 giderilmiştir Bu 12 Mayıs 2010 tarihinde Tomcat güvenlik ekibi tarafından keşfedilen ve 5 Şubat 2011 tarihinde kamuoyuna açıklanmıştır. Etkileri: Servis ve Bilginin Açığa Çıkması Güvenlik Açığı Of Uzaktan Reddi CVE-2010-2227 'Transfer-Encoding' başlığının ele alınmasında bazı kusurları bulunmuştur: 6.0.0-6.0.29 2010 Önemli 9 Temmuz yayımlanan Apache Tomcat 6.0.28 Sabit bir tampon bu geri dönüşüm engelledi. Uzak saldırgan sonraki istekleri başarısız ve / veya istekleri arasında bilgi sızmasına neden olur bu kusur tetikleyebilir. Vekil geçersiz transfer kodlama başlığı reddetmek gerektiği gibi Tomcat ters proxy (örneğin Apache 2.2 gibi) arkasında, bu kusur mitigated. Bu 958.977 inci revizyon giderilmiştir Bu ilk olarak Haziran 14, 2010 tarihinde Tomcat güvenlik ekibi rapor ve 9 Temmuz 2010 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.0-6.0.27 Not: Aşağıdaki sorun Apache Tomcat 6.0.27 sürümünde giderilmiştir ancak 6.0.27 sürüm adayı için oy geçemedi. Kullanıcıların bu sorunla ilgili bir düzeltme içeren bir sürümünü edinmek için 6.0.28 yüklemeniz gerekiyor rağmen nedenle, sürüm 6.0.27 etkilenen sürümlerinin listesine dahil değildir. Düşük: kimlik başlıklarında Bilgilendirme CVE-2010-1157 TEMEL ve DIGEST kimlik doğrulaması için WWW-Authenticate HTTP başlığı Bölge adını içerir. Eğer bireleman kullanılacağı uygulama için web.xml belirtilir. Ancak, Tomcat kod parçacığını request.getServerName () + "" + request.getServerPort () kullanarak bölge adını oluşturur sonra belirtilmez. Bazı durumlarda bu yerel ana bilgisayar adını veya makine çalışırken Tomcat IP adresini açığa çıkarabilir. Bu 936.540 inci revizyon giderilmiştir Bu ilk 31 Mayıs 2009 tarihinde Tomcat güvenlik ekibi rapor ve 21 Nisan 2010 tarihinde kamuoyuna açıklanmıştır. Etkileri: 6.0.0-6.0.26
Bu, tüm çok belirsiz görünüyor ve benim için devlet iradesinin bir örnek gizlilik yaşanır. Veri sattı ve hiç kimse farkında olmasıdır. Teknik uygulama istenen çok yaprakları ve hatalı olduğu bilinen ve acilen güncellenmesi ihtiyacı olan çok teknik sistemler üzerinde çalışır. Ayrıca BT projeleri (genellikle oldukça pahalıdır durumuna da bilinir) her zaman yer almayan nitelikli bir son muayene ve kabul gibi görünüyor.
Tek artı noktası ben tüm raporlama verilerini online okuma ile merkezi bir ülke portalı gibi görünüyor dikkat edebilirsiniz. O zaman kesinlikle uzak ne kaldırıldı olmaz İsrailliler yakın oldu .
Ben bana yapılan ettik sevindim, ama birileri suç enerji ve teknik bilgi de oluşabilir (ücretsiz) bana (ve herkesin) anlamıyor, ben şüpheli en azından düşünüyorum. İlk bakışta, Düsseldorf sistem saldırıya karşı sertleştirilmiş değil.
Tweet Neglector. Twitter'da eski tweets silmek için küçük bir PHP komut dosyası
Tweet Neglector Twitter hesabından eski tweets silme işlemini otomatik hale getirir. Temelde sizin tweets için işlevsellik "expire" sağlar. Bu heyecan kullanmak istiyorsanız ancak yıllardır çevrimiçi kalmak için onların tweets öyküsü istemeyen insanlar için yararlıdır.
TARİH: 20 Kasım 2011 | Sürüm 0.1 İlk sürüm. Siler Tweets 28 Aralık 2011 | Sürüm 0.2 Küçük hata düzeltmeleri. Şimdi siler retweets de. BİLİNEN HATALAR: - Zaman diliminde size tweet 1000'den fazla tweets size tweets tutmak planlıyorsanız çalışmaz. Retweets için de geçerlidir (100 izin verilir). Bunlar benim ATM kullanıyorum GET heyecan API eksiklikleri vardır. Belki sonraki sürümü ile tamir ederim
Tweet Neglector artık gün belirli sayıda önce yazılmıştır o senin tweets tümünü silmek için heyecan API kullanır. Bu sayede örneğin bir hafta veya bir aydan daha eski olan tüm tweets silmek için komut dosyası yapılandırabilirsiniz. Komut dosyası otomatik olarak düzenli aralıklarla bir cron işi ya da başka bir otomasyon mekanizması çalıştırılmalıdır.
Bu komut dosyası, dış Tweet arşiv sizi koruyamaz. Silinen tweets Twitter (ben onlar bahis) tarafından sessizce arşivlenir eğer, bu bilinmiyor. Bu nedenle (her zaman olduğu gibi) Tweeting önce düşünüyorum.
Tweet Neglector betik dili ve demetleri gibi PHP kullanır Matt Harris ve heyecan OAuth kütüphane API Erişimi için.
Montaj
- PHP5 tmhOAuth için gerekli - Istediğiniz bir dizine arşivi açın. - Https://dev.twitter.com/apps de Twitter API Keys Kayıt - İhtiyaçlarınıza uygun komut yapılandırmasını düzenleyin: # Heyecan API tuşları, jeton ve sırları > Https://dev.twitter.com/apps - # azından bu tuşları alın $ Consumer_key = "BURAYA KEY"; $ Consumer_secret = "BURAYA KEY"; $ Access_token = "BURAYA KEY"; $ Access_token_secret = "BURAYA KEY"; # Seans başına tweets sayısı üzerinde çalışmak için Tweets_per_session 1000 $ =; # Heyecan Kullanıcı Adı $ Twitter_username = "BURAYA KULLANICI ADI"; Tweets tutmak için # Gün $ Keep_days = 30; - Cron süreci otomatik olarak tarayıcı, konsol, ya da elle komut dosyasını çalıştırın / Usr / bin / php / var / www / tweetneglector / tweetneglector.php
Tweet Neglector 0.2 indir burada
NASIL: Ubuntu dnsmasq ile hızlı ve kirli DHCP sunucusu ve DNS cache
LAN üzerinde DHCP pratiktir. Bir artık müşterilerine ağ kendilerini her bilgisayarın ağ yapılandırmasını yönetmek gerekiyor, ama her şey sunucuda hoş bir merkezi bir konuma sahiptir. Ana bilgisayar adlarını çözerken sorguları yerel ana önbellekten tanınmış isimleri uygulanan değil, Internet üzerinde bir sunucuya olabilir çünkü biraz zaman, yapılması gereken DNS istemcileri önbelleğe alarak kaydedin.
Küçük bir DHCP sunucusu dnsmasq ile çok hızlı kurulur.
# Dnsmasq yükleyin install dnsmasq apt-get
Yapılandırma dosyası / etc / dnsmasq.conf merkezi olarak yer alır. Dosyasında yoğun yapılandırma seçenekleri engelledi önce bir bırakmamalıdır. Hemen hemen her şey sadece bir örnektir ve varsayılan olarak açıklanır. Çok kısa Yapılandırma zaten çalışan bir kurulum için yeterlidir:
DHCP
# DHCP netmask # Müşteriler ağ maskesi olarak 255.255.255.0 aldı dhcp-option = 1,255.255.255.0 # Varsayılan ağ geçidi # Müşteriler ağ geçidi 192.168.1.251 olarak alabilirsiniz dhcp-option = 3,192.168.1.251 # Dns # İstemciler ad sunucusu 192.168.1.4 olsun DNS önbellek olarak dnsmasq kullanmak istiyorsanız # Eğer bu olmalı Dnsmasq çalıştıran sunucu arasında IP olun dhcp-option = 6,192.168.1.4 # Verilecek MAC aynı IP adresi için Hosts: # Bu 12 saat MAC 00:11:22:33:44:55 IP 192,168.1.1 ile ev sahibi alır dhcp-host = 00:11:22:33:44:55, lobi, 192.168.1.1,12 h dhcp-host = 00:11:22:33:44:66, Lobby2, 192.168.1.2,12 h # MAC tespit edilemeyen herhangi bir bilgisayar IP almak # 192.168.1.120 bir havuzdan 150 dhcp menzilli = 192.168.1.120,192.168.1.150,12 h
DNS
Dnsmasq ve DNS işlevselliği yapılandırma gerekir.
dnsmasq kendi nameservers / etc / resolv.conf ilgilidir. Burada gerekir
sağlayıcının bilinen ad sunucusu kaydedilmiş ve hatta son çare gibidir
Google'ın DNS sunucuları için 8.8.8.8.
Dosyasında, yerel ağ için de dnsmasq başvurmalıdır daha fazla host adı
Be / etc / hosts bilinen yaptı. Burada kayıtlı hostnameler tüm bilgisayarlardır
LAN.
Tuzaklar
dnsmasq yapılandırma dosyalarını Konfigänderungen yeniden okumak gerekir
/ Etc / init.d / dnsmasq yeniden
Istemcileri eski DHCP sunucusundan kira yoksa, el ile yeni bir DHCP isteği başlatmak için getirebilir.
# Linux eth0 dhclient # Windows ipconfig / RELEASE YENİLEME ipconfig /
Acil dikkatli olmak gerekir, şimdiye kadar kullanmak için herhangi bir DHCP sunucusu (genellikle Internet yönlendirici) devre dışı bırakmak için. LAN 2 DHCP sunucusu kaos bir sürü oluşturabilir.
Ubuntu EEE 1000H rt2860 için kablosuz
Herhangi bir güncelleme ile son zamanlarda kablosuz oldukça istikrarsız Ubuntu ile benim EEE PC 1000H vardı. Kalıcı bağlantı kesilmeleri, askıya sonra herhangi bir kablosuz, yavaş bağlantı, vb
Ben ne olduğunu tam emin değilim, belki de herhangi bir güncelleştirme bir hata almak için rt2860 sürücü vardır.
Neyse ki, sorun ndiswrapper ile Windows sürücüsü yükleyerek çözülebilir.
Bu sadece biraz kısaltılmış Almanca tercümesi İngilizce orijinal model Ubuntu foruma nevdelap arasında. (Teşekkür ederim)
İlk Windows sürücüleri emmek ve özü (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)
Ikinci Linux sürücüsü kara liste
# / 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 kara liste rt73usb kara liste rt2600 kara liste rt2860 # Asus 1000H bir rt2860 vardır. Ndiswrapper tarafından yüklenen olmak. blacklist b43 kara liste b43legacy kara liste SSB BlackList r8192s_usb
Üçüncü Ndisgtk drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k ile yükleme Windows sürücüsü
sudo ndisgtk
4 Grub yapılandırmak
# / Etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT = "pciehp.pciehp_force pciehp.pciehp_poll = 1 = 1 sessiz sıçrama"
sudo update-grub2
5 Güç Yönetimi kural oluşturmak
# / Etc / pm / sleep.d / ndiswrapper # / Bin / bash in case "$ 1" hazırda | askıya) sudo rmmod ndiswrapper ;; çözülme | devam) sudo modprobe ndiswrapper ;; *) ;; esac exit $?
chmod + x / etc / pm / sleep.d / ndiswrapper
6 Yeniden Başlatma
Daha sonra kablosuz hızlı ve kararlı çalışır.
PHP Cheat Sheet
Burada yararlı PHP kod parçacıkları toplamak
Ekran Sözde çoklu
# / Usr/bin/php5 için! ($ I = 1; $ i <50; $ i + +) {echo "$ i \ n başlangıç"; konu exec ("ekran-d-m / usr/bin/php5 /. . php ");} MySQL sunucusu uzun süren PHP kabuk komut gidip gitmediğini
# / Etc/php5/cli/php.ini = Mysql.allow_persistent üzerinde mysql.max_persistent = -1 mysql.max_links = -1 mysql.connect_timeout = -1
Şirket Connect - eğlence telekom satış
Bir müşteri bir sorun vardı. 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. Sehr schön. 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.
Ubuntu ile XS Çubuk 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
Linux Apache MySQL PHP web sunucusu kök LAMBA için 12 adım güvenli
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.
Ilk 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
Ikinci 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.
Üçüncü 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.
11. 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
12. 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.
Ilk Hardwarebeschleunigung deaktivieren
In ein Flash-Video rechtsklicken. Einstellungen wählen. Haken bei Hardwarebeschleunigung entfernen.
Ikinci 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









