Tweet Neglector. Twitter'da eski tweets silmek için küçük bir PHP betiği
Twitter hesabınızı eski tweets silme tweet Neglector sürecini otomatikleştirir. Temelde twitter'ınız için işlevsellik "expire" sağlar. Şimdi Twitter kullanmak istiyor, ancak on yıllar boyunca online kalmak için onların tweets bir geçmişi istemiyorum 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 yanı. BİLİNEN HATALAR: - Eğer tweets tutmak için planladığınız süre içinde size tweet 1000'den fazla tweets eğer çalışmaz. Retweets (100 izin) için de geçerlidir. Bu Twitter API eksiklikleri Ben ATM kullanıyorum GET vardır. Belki bir sonraki sürümünde bu tamir edeceğim
Tweet Neglector artık gün belirli bir sayıda önce yazılmıştır o twitter'ınız tümünü silmek için Twitter API kullanır. Bu şekilde, örneğin bir hafta veya bir aydan daha eski olan tüm tweets silmek için komut dosyası yapılandırabilirsiniz. Script otomatik bir cron işi veya düzenli bir kaide üzerinde başka bir otomasyon mekanizması çalıştırılmalıdır.
Bu script dış Tweet arşivler sizi koruyamaz. Silinen tweets (Ben onlar bahis) sessizce Twitter'da tarafından arşivlenir Yani eğer bilinmemektedir. Yani (her zaman olduğu gibi) Tweeting önce düşünmek.
Tweet Neglector betik dili ve demetleri gibi PHP kullanır Matt Harris gelen Twitter OAuth kütüphane API Erişimi için.
Montaj
- PHP5 tmhOAuth için gerekli - Sizin seçtiğiniz bir dizine arşivi açın. - Https://dev.twitter.com/apps de Twitter API anahtarlarının Kayıt - İhtiyaçlarınıza göre script yapılandırma düzenleyin: # Heyecan API tuşları, jeton ve sırları > Https://dev.twitter.com/apps - # azından bu anahtarları 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; # Oyun Kullanıcı Adı $ Twitter_username = "BURAYA KULLANICI ADI"; Tweets tutmak için # Gün $ Keep_days = 30; - Cronjob tarafından otomatik olarak tarayıcı, konsol veya el ile komut dosyasını çalıştırın / Usr / bin / php / var / www / tweetneglector / tweetneglector.php
Tweet Neglector 0.2 İndir buraya
NASIL: Ubuntu dnsmasq Hızlı ve kirli DHCP sunucusu ve DNS cache
LAN üzerinde DHCP pratiktir. Artık müşteriler kendilerini ağdaki her bilgisayarın ağ yapılandırmasını yönetmek, ama her şey hoş bir merkezi bir konuma sunucusu vardır. Konak adlarını çözerken sorguları yerine Internet üzerindeki bir sunucuya daha yerel önbellekten tanınmış konak isimleri uygulanabilir beri biraz zaman, yapılması gereken DNS istemcileri önbelleğe alarak kaydedin.
Küçük bir DHCP sunucusu çok çabuk ile dnsmasq ayarlandı.
# Dnsmasq yükleyin install dnsmasq apt-get
Konfigürasyon dosyası / etc / dnsmasq.conf merkezi olarak yer alır. Dosyasında sıkılı 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 halihazırda ç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 # İstemciler bir ağ geçidi 192.168.1.251 olarak alınan dhcp-option = 3,192.168.1.251 # Dns # İstemciler ad sunucusu 192.168.1.4 olsun DNS önbellek olarak dnsmasq kullanmak istiyorsanız #, bu olmalıdır Dnsmasq çalıştıran sunucu arasında IP olun dhcp-option = 6,192.168.1.4 # MAC tarafından atanan aynı IP adresi için Hosts: # Bu 12 saat boyunca 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 tarafından tespit edilemeyen tüm bilgisayarların IP almak # 192.168.1.120 arasında havuzundan 150 dhcp-aralık = 192.168.1.120,192.168.1.150,12 h
DNS
Dnsmasq ve DNS işlevselliği bir yapılandırma gerekir.
dnsmasq kendi nameservers gelen / etc / resolv.conf ilgilidir. Bu olmalı
sağlayıcının bilinen adı sunucusu kaydedilir ve hatta son çare olarak uygulanır
Google'ın DNS sunucuları için 8.8.8.8.
Dosyasında, yerel ağ tenekesine dnsmasq başvurmalıdır daha fazla host adı için
Bilinen yaptı olun / etc / hosts. İşte bütün bilgisayarlar konak kayıtlı
LAN.
Tuzaklar
dnsmasq kendi yapılandırma dosyalarını Konfigänderungen yeniden okumak gerekiyor
/ Etc / init.d / dnsmasq restart
Istemcileri eski DHCP sunucusundan kira yoksa, el ile yeni bir DHCP isteği başlatmak için getirebilir.
# Linux eth0 dhclient # Windows ipconfig / RELEASE RENEW ipconfig /
Acilen şimdiye kadar kullanım için herhangi bir yere DHCP sunucusu (genellikle Internet yönlendirici) devre dışı bırakmak için, dikkatli olmak zorunda. LAN üzerinde 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 kararsız Ubuntu ile benim EEE PC 1000H vardı. Sürekli kesintiler, askıya alma, yavaş bağlantıdan sonra hiçbir kablosuz, vb
Ne olduğunu tam olarak emin değilim, belki rt2860 sürücüsü bir hata ile herhangi bir güncelleme elde etti.
Neyse ki, sorun ndiswrapper ile Windows sürücüsü yükleyerek çözülebilir.
Bu sadece hafif bir kısaltılmış Almanca çevirisi ise İngilizce orijinal desen Ubuntu forumdan nevdelap arasında. (Teşekkür ederim)
İlk Windows sürücüleri emmek ve unpack (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)
Ikinci Linux sürücüsü kara liste
# / Etc / modprobe.d / blacklist.conf kara rt2x00lib kara rt2x00pci kara rt2x00usb kara rt2400pci kara rt2500pci kara rt2500usb kara rt2800lib kara rt2800pci kara rt2800usb kara rt61pci kara rt73usb kara RT2600 kara rt2860 # Asus 1000H bir rt2860 vardır. Ndiswrapper tarafından yüklenecek. blacklist b43 blacklist b43 kara SSB kara r8192s_usb
Üçüncü Ndisgtk drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k ile yükleyin Windows sürücüsü
sudo ndisgtk
4. Grub yapılandırma
# / 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 case "$ 1" hazırda | askıya) sudo rmmod ndiswrapper ;; çözülme | resume) sudo modprobe ndiswrapper ;; *) ;; esac exit $?
chmod + x / etc / pm / sleep.d / ndiswrapper
6. Reboot
Sonra kablosuz hızlı ve stabil çalışır.
PHP Cheat Sheet
İşte yararlı PHP kod parçacıkları toplamak
Sözde ekran Multithreading
# / Usr/bin/php5 için! ($ I = 1; $ i <50; $ i + +) {echo "i \ n $ başlayan"; konu exec ("screen-d-m / usr/bin/php5 /. . php ");} MySQL sunucusu uzun soluklu PHP kabuk komut uzağa gitti
# / Etc/php5/cli/php.ini = Mysql.allow_persistent On mysql.max_persistent = -1 mysql.max_links = -1 mysql.connect_timeout = -1
Ubuntu ile XS Stik W14 UMTS
Biraz etrafında Ubuntu XS Çubuk W14 zickte. Bazen, Network Manager, bir USB modem olarak tanıması, ancak yine de hala bağlanamadı. Birkaç başarısız wackiness sonra ben olduğumu komut Sakis3G hemen hemen tüm sürücüler bağlayabilirsiniz üretmek için vaat karşılaştı. Ve gerçekten, bu olmuştur Sakis3G hemen çalışır. Önerilen ve muhtemelen diğer sürücüler için.
PLAKA XS Çubuk W14 P / N 3000.000056.00 www.4g-systems.com
# Lsusb Bus 002 Device 006: ID 1c9e: 9603
# / Var / log / syslog taktığınız Haziran 19 20:41:04 kutusu çekirdeği: [74.186,796148] usb 2-2: uhci_hcd ve adres 7 kullanan yeni tam hızlı USB aygıtı Haziran 19 20:41:04 kutusu çekirdeği: [74.186,946031] scsi11: usb-storage 2-2:1.0 Haziran 19 20:41:05 usb_modeswitch kutusu: anahtarlama 1c9e: F000 (USB modem: USB modem) Haziran 19 20:41:06 kutusu çekirdeği: [74189,293850] usb 2-2: USB disconnect, adres 7 Haziran 19 20:41:07 kutusu çekirdeği: [74.189,660069] usb 2-2: uhci_hcd ve adres 8 kullanarak yeni tam hızlı USB aygıtı 19 Haziran 20:41:07 kutusu çekirdeği: [74189,819348] seçeneği 2-2:1.0: GSM modem (1-port) dönüştürücü tespit Haziran 19 20:41:07 kutusu çekirdeği: [74189,819577] usb 2-2: GSM modem (1-port) dönüştürücü artık ttyUSB0 bağlı Haziran 19 20:41:07 kutusu çekirdeği: [74189,819802] seçeneği 2-2:1.1: GSM modem (1-port) dönüştürücü tespit Haziran 19 20:41:07 kutusu çekirdeği: [74.189,819950] usb 2-2: GSM modem (1-port) dönüştürücü artık ttyUSB1 bağlı Haziran 19 20:41:07 kutusu çekirdeği: [74189,820220] seçeneği 2-2:1.2: GSM modem (1-port) dönüştürücü tespit Haziran 19 20:41:07 kutusu çekirdeği: [74.189,820395] usb 2-2: GSM modem (1-port) dönüştürücü artık ttyUSB2 bağlı Haziran 19 20:41:07 kutusu çekirdeği: [74.189,821414] scsi12: usb-storage 2-2:1.3 Haziran 19 20:41:07 kutusu modem yöneticisi [10 480]:Seri port açma (TtyUSB1) .. Haziran 19 20:41:07 kutusu modem yöneticisi [10 480]: Seri port açma (TtyUSB0) .. Haziran 19 20:41:07 kutusu modem yöneticisi [10 480]: Seri port açma (TtyUSB2) .. Haziran 19 20:41:08 kutusu usb_modeswitch: 1c9e geçti: 9603 (USB modem: Modem Yapılandırması) Haziran 19 20:41:08 kutusu çekirdeği: [74.190,823474] scsi 12:0:0:0: Doğrudan Erişim 02:31 USBModem Disk PQ: 0 ANSI: 2 Haziran 19 20:41:08 kutusu çekirdeği: [74.190,825402] sd 12:0:0:0: Eklenmiş scsi genel SG3 tipi 0 Haziran 19 20:41:08 kutusu çekirdeği: [74.190,833436] sd 12:0:0:0: [sdc] Attached SCSI çıkarılabilir disk
Bir Linux Apache MySQL PHP web sunucusu kök LAMBA 12 tedbirler güvence altına
Hack sıklığı son aylarda önemli ölçüde artmıştır. Özellikle çok miktarda veri web sunucularında kesmek tarafından duyulabilir. Hatta Sony PSN hack Apache Web Sunucusu bir yamanmamış güvenlik açığı yararlandı. Yani burada sunucu dışarıdan gelen saldırılara karşı biraz daha güvenli sahip olabilmesi artırma önlemleri ediyorum. Tabii ki, bu da% 100 koruma sağlamaz, ama kötü adamlar biraz daha zor bir oyun yapmak daha iyidir. Önlemlerin bazıları sadece minimal bir kurulum ve bakım gerektirir. Diğerleri zaman ve yakalamak için PHP, bir çok bilgi gerekiyor. Her zaman güvenlik önlemlerinin seçiminde fayda-maliyet oranı dikkat etmelidir. Bu, Federal Rezerv Bankası gibi küçük, özel sitesi korumak için hiçbir mantıklı. Ancak, sistem birkaç belirli değişiklikler zaten büyük bir anlamı daha fazla güvenlik vardır. Ve sen çok geç bile önce tedavi gerektiğini ....
Tüm ipuçları ve Codesnips güncel bir Debian kutusuna bakın.
Ilk Güvenlik duvarı - Her şeyi yasaklamak
Varsayılan kurulumlarda Çoğu Linux dağıtımı kesinlikle gerekli değildir dışındaki herhangi bir bağlantı noktalarını açın. Bu durum, bununla birlikte, hızlı bir şekilde değiştirebilir bile sunucusu
oynamak ve yapılacak çalışıyorum. Aniden, hatta medya sunucusu Internet veya veritabanı dinlediği
İnternet bağlantıları kabul eder. Bu nedenle, kendilerini disipline ve temelde sadece (kendi kendine) seçilmiş bileşikler dışından sonra tüm bağlantıları yasaklayan sağlar ve çok kısıtlayıcı bir güvenlik duvarı koymak yanlış olmaz. Neyse ki, bu iptables ile hızlı bir şekilde yapılır. Bu şekilde bir orada artık hiçbir iş var dünya için erişilebilir hale getirmek hizmetleri sağlayabilir. Ne yazık ki, biraz konfor ödemek - Güvenlik duvarı, yeni hizmetler sunmak isteyen her zaman ayarlanması gerekir. Bununla birlikte, efor küçük ve büyük faydalar.
# / Bin / bash # Varolan tabloları sil iptables-F # Gelen tüm bağlantıları engelle iptables-P INPUT DROP iptables-P FORWARD DROP # Tüm giden İzin iptables-P OUTPUT ACCEPT # SSH İzin iptables-A INPUT-j ACCEPT-p tcp - dport 22 # HTTP İzin iptables-A INPUT-j ACCEPT-p tcp - dport 80 # Ilave servisi (UDP), örneğin, oyun sunucusu izin iptables-A INPUT-j ACCEPT-p tcp - dport 4534 # Localhost her şeyi verin. (Sunucu kendisini, hizmetlerine engelsiz erişim izni vermek için, Yerel veritabanı # Örneğin, PHP iptables-A INPUT-s 127.0.0.1-j ACCEPT # Zaten kurulan bağlantıları her limanda kabul edilecektir # (Bazı servisleri için gereklidir) iptables-A INPUT-m devlet - devlet KURULU, İLGİLİ-j ACCEPT
Bu küçük omurga biz sadece kendi hizmetleri genişletmek ve eklemeye devam edebilirsiniz. Güvenlik duvarı üzerinde çalışırken, her zaman kendinizi dışarı kilitler vaka için düzenlemeler yapmalı. Özellikle fiziksel erişimi olmayan uzak sunucular için, başarısız bir güvenlik duvarı kendi erişim kural kaybedecek çok sinir bozucudur. Şekilde bu problemi önlemek için, güvenlik duvarının azından geçici olarak sadece bir cron işi başlatmak için çalışma bırakabileceği sıfırlar güvenlik duvarı her birkaç dakika veya sunucu yeniden başlatılır. Kuralları daha sonra test ve sevilen, cronjob bırakır ve yeni kurallar sürekli aktif kalır.
Hizmetleri sadece etrafında kendi sunucunuza dinleyen bulmak için, netstat kullanabilirsiniz:
# TCP yuva için: netstat-LPN | grep tcp # Aynı şekilde UDP: netstat-LPN | grep udp
Güvenlik duvarı gerçekten inşaat test etmek için, başka bir bilgisayardan kendi sunucu port taraması yapabilirsiniz. Her şey dışarı çalıştı ve açık sadece bile limanlar sebep olmalıdır:
# TCP için: nmap-p1-65 535 meinserver.de # UDP için: nmap-sü-p1-65 535 meinserver.de
Ikinci SSH giriş yasağı
Kendi kök sunucu üzerinde size tam SSH erişimi vardır. Sunucu kez herhangi bir SSH istemci sadece üzerinde çalışmak gibi bu oldukça kullanışlıdır. Bu olumsuz seyri maalesef bir şekilde kendi şifrelerini ele kimin kimseye olabilir. Sadece geçerli bir anahtar dosya ile SSH bağlantısına izin çok daha güvenlidir. Bu nedenle, sunucu ve kopyalanan interaktif oturumlar için istemci ortak anahtar bir şifre girerek devre dışı bırakılır.
# Istemci, bir ortak anahtar oluşturmak Bir şifre oluştururken belirtilen # ise, tek bir ihtiyaç # Tuşuna VE parola, daha sonra dosyayı açın. Aksi halde # Sadece anahtar gerekli. ssh-keygen-t rsa # Sunucuya oluşturulan anahtar kopyalama ssh-copy-id-i ~ /. ssh / id_rsa.pub root@meinserver.de # Şimdi sunucuda sshd_config ayarlamak / etc / ssh / . . PasswordAuthentication yok . . # Ardından RearBBpos yeniden başlamak / Etc / init.d / ssh yeniden
Burada bile bir şey işe yaramazsa bile sokmamak değil için önlem almalısınız.
Kafanın içinde gelen şifre ile bir USB çubuk üzerinde ortak anahtar bir kabuk elde etmek kötü adamlar için çok daha zor hale getirir.
Üçüncü SSH Bruteforcing denyhosts önlemek
Tavsiye 2 pratik değildir ve parola tabanlı oturumların istiyorsanız size kolaylık vazgeçmek istemiyorsanız, en azından sunucu üzerinde saldırganların otomatik şifre oranları önleyebilir. Internet botlara Bir sürü bütün gün SSH sunucularına başka bir şey yapmak ve çeşitli şifreleri denemek için arıyorum. Makul güvenli bir şifre ile bu mümkün değil olsa bile, büyük bir sorun değil, daha iyi bir his var. Sunucusu ve kullanıcının hesapları üzerinde bulunmaktadır, buna ek olarak, aynı zamanda, kullanıcılarının korur. Burada, güvenli parolalar kullanmalarını güvenemez. denyhosts sürekli olarak gözden geçirilmeli kullanıcı ssh oturum açma hatalı yinelenen kendi şifrenizi girdikten bir süre için kilitler. IP kullanıcılarının geçici olarak artık erişim mümkün olması için, / etc / hosts.deny girer. Bu SSH çok umut verici çok uzun değil, görev Bruteforcing.
install denyhosts apt-get # Denyhosts sağ kurulumdan sonra çalışır. Bu olabilir # / Etc / denyhosts.conf ince ayar olarak
4. Karalisteleri bilinen bir sorun IP'leri çıkışı engellemek için kullanılır
Çeşitli internet blacklists tutulur olarak, hangi liste doğranmış / suç / spam / sahte sunucular çok sayıda. Bu IP listeleri bu güvenilen bilgisayarlar için kendi sunucusuna hiç bağlanamıyor olmadığı bilinmektedir, böylece güvenlik duvarı doğrudan girilebilir. Böylece büyük ölçüde kendi sunucusunda spam miktarı azaltabilir ve Rus vekil aniden durması nedeniyle bir veya diğer script kiddie, lokavt. Ben olmuştur bunu nasıl başka bir blog makalesinde Infiltrated.net ve kara örnek nitelendirdi.
5. Sunucu üzerinde çalışmak için FTP kullanmayın
FTP Internet hala güvenilir küçük bir köy idi daha iyi kez bir kalıntıdır. Web sitelerinin çoğu yöneticileri hala sunucuya dosya aktarmak için ya da kendi web sitesi üzerinde çalışmak için FTP kullanabilirsiniz. FTP tüm verilerin güvenliksiz iletir Ne yazık ki, bu, çok belirsizdir. Şifreler ve veri sunucular ve istemciler arasında her hop herhangi bir problem olmaksızın okunabilir. Çok daha güvenli sshfs ile gitmek. Uzak sunucunun yerel dosya sisteminde ssh ile bir dizine mount sağlar. O yerel bilgisayarda sanki Daha sonra sunucu üzerinde çalışabilirsiniz. Sunucudaki dosyaların tüm dosya erişimi tamamen şeffaf, böylece tasarruf daha sonra doğrudan sunucu üzerinde bir görüntü düzenlemek için yerel grafik programı ile açabilirsiniz. Çok çaba olmadan daha fazla konfor ve güvenlik.
# Sshfs yükleyin install sshfs apt-get # Yerel dosya sistemi bağlama noktasını oluştur mkdir / media / myserver Yerel dosya sistemi monte etmek # Sunucu sshfs www-data@mein-server.de :/ var / www / media / myserver # Şimdi dizin benim yerel sunucu altında / media / kullanılabilir myserver / var / www
6. Güncelleştirmeleri Yükle
Bir süper güvenli bir sistem sistemin kendisi kusurludur ve bilinen bir güvenlik açığından yararlanılabilir eğer yardımcı olmayacaktır. Çoğu durumda, bu açıkları hızla kapattı, ama sık sık yapmak için sistem admin düzenli güncellemeler unutuldu. Linux sunucularda otomatik güncellemeleri etkinleştirmek ya da tartışmalı bir konudur olmamalıdır olsun. Doğal olarak kötü şans bir çok güncellemeleri sistemi kullanılamaz hale olabilir, çünkü bazıları, işe yaramazdı. Bu Debian sistemlerinde çalışma 10 yıl içinde başıma, ama asla ve sonuçtaki risk çok daha yüksek, zamanında ve düzenli güncellemeler faydalarını takdir ediyorum.
/ Etc / crontab içerisinde bu hat, saat 6 da her gün sistem saatini günceller 0 6 *** kök apt-get update && apt-get-y yükseltme
Bu hızlı-ve-kirli yöntemi şimdiye kadar hep iyi benim için çalıştı. Geçenlerde Debian depo ve paket içinde katılımsız-yükseltmeleri muhtemelen daha zarif sorunu çözer ki var, ama test edilmemiş olması okuyun.
Hatta bu vollautomtischen sistemi güncellemeleri ile tamamen kurtulmuş değil. Bir çekirdek güncelleme teslim edilmiş olursa, el ile yine sistem önyükleme zorunda, aksi takdirde değişiklik etkin olmayacaktır.
Böyle bir açık kaynak CMS veya bir forum olarak sunucu, üçüncü taraf PHP kodu kullanırsanız, elbette güncel yeni sürümleri kadar kesinlikle gerekli ve bu kodudur. Debian bu el emeği kapsayan kuralları bu uygulamaları kendi değişikliklerini güncel olmadığından gereklidir. Her zaman güncel olması için ilgili ürünleri ile posta listeleri okumak için en iyi yolu.
7. Open_basedir ile PHP hapseden
Birçok hack PHP kodu bir güvenlik açığı sitesine ait olmayan dosya sistemi erişim dosyalara erişmek için kullanılan gerçeğine dayalı, ama bunu özellikle belirlenmiş dizinler salt okunur böylece PHP kilitlemek ve yazmak niçin sistemin kendisi izin verdi. Bunun için, php.ini open_basedir yapılandırma seçeneği. PHP orada dizinleri sadece izin verilen erişim koymak seçeneği vardır. Gibi / etc / passwd gibi dosyaları ulaşamayacağı vardır. Tek bir sunucu üzerinde birden fazla web sitesi barındırma her tarafında her sanal konak yapılandırması open_basedir ayarlamanız gerekir.
: Via # Küresel php.ini # / Etc/php5/apache2/php.ini / open_basedir = / var / www / :/ tmp VirtualHost config # Site Başına: php_value open_basedir / var / www / site / :/ tmp /
Tüm siteler genellikle erişimi olması gerekir komut eklenmiştir olmadığını dikkate almak önemlidir, aksi takdirde sizin PHP uygulama özürlü ve meşru işlevleri olabilir.
8. MySQL kullanıcılar için kendi web oluşturun
Kendi PHP-MySQL uygulamasını kullanın, kesinlikle Apllikation kendi MySQL kullanıcı için oluşturmak ve hiçbir koşul altında MySQL root istekleri kullanmalısınız. Ayrıca PHP gerektiren, şimdiye kadar gerçekten sadece hareketine izin verilmez kullanıcı haklarını kısıtlamak gerekir. TABLE ve DROP TABLE CREATE SQL enjeksiyon gibi yaygın ve gerekli asla en PHP uygulamalarında kullanılmaktadır. Bir sunucu üzerinde birden fazla veritabanı ile birden fazla web sitesi barındıran, tüm kullanıcılar için kendi veritabanları oluşturmanız gerekir. Böylece, başarılı bir saldırıdan sonra, bir saldırganın sadece veritabanlarından birine erişimi vardır ve doğrudan at all. Eğer kullanıcı yönetimi Ayrıca sekme "haklar" altında phpMyAdmin ile oldukça kolay işlevleri MySQL kullanıcı hesaplarını yönetmek için komut satırı denemek istemiyorsanız.
9. PHP hata mesajları kapalı
PHP hata mesajları, bir saldırganın kendi sunucusu hakkında çok şey ortaya çıkarabilir: dizin yapıları, veritabanı yapıları, yapılandırma hataları, vb Onlar da çok profesyonelce kullanıcı arayın. Bu nedenle de sadece günlüklerde görmeye devam edeceğiz, çünkü her zaman kapatın, canlı bir web sunucusunda olmalıdır.
: Via # Küresel php.ini # / Etc/php5/apache2/php.ini = Kapalı display_errors VirtualHost config # Site Başına: php_flag display_errors Kapalı # Hata mesajları yine de okuyun: cat / var/log/apache2/error.log | grep php
10. ModSecurity ile SQL enjeksiyon sınırı için hedef
SQL enjeksiyonu web sunucuları üzerinde saldırı en sık kullanılan yöntemdir. Web uygulaması üzerinden doğrudan erişilebilir ve bunları gerçekleştirmek için bir tarayıcı karşılamaktadır. Burada kendi veri tabanına tüm bunları okumak veya düzenlemek silecektir veritabanı kullanıcı ayrıcalıklarını gönderilen SQL sorguları inşa kullanıcı değişkenleri tarafından iletilir. PHP kodu bu saldırılara ilişkin sitesi yazılmıştır sadece SQL enjeksiyon karşı gerçek bir gerçek korumaları mevcuttur. SQL sorgusunun içine alabilir kullanıcı girişi, her değişken, test edilmeli ve öncelenmesi gerekir. PHP işlevi real_mysql_escape_string () sunuyor.
Kod temiz olup olmadığından emin değilseniz, Apache için mod_security zaten bu saldırıların, büyük miktarda da önler. mod_security sürekli gözden tüm Web sunucusuna istek ve birçok SQL enjeksiyon saldırıları bloke edilebilir öncesi desen yanıt verir. Ne yazık ki, sadece mod_security manuel çaba ile çalışır. Bir taze install mod_security blokları da tam uygulama yüklemeyi yeniden test etmek gibi bir, başka çaresi vardır, böylece PHP kodu (düzenli) işlevleri, gerekli Genellikle sonra. Ancak o zaman bir mod_security bile fonksiyonları bloke istemeyebilirsiniz öğrenmek yok. Eğer öyleyse, ayarlanmasını filtre listesi yalancı-pozitif ve böylece kaybolmaya.
Mod_security yapılandırması biraz karmaşık ve bu makalenin kapsamı dışındadır, ancak Internet mod_security iyi öğreticiler ton vardır edilir.
11. Kimlik kontrolü - Apache onun kim olduğunu bilmiyor
Bu gerçekten kesmek karşı etkili bir yöntem değil, sunucu sürümleri arıyorsanız, otomatik komut yapar, ama biraz ağır. Hata mesajları (örneğin 404 Bulunamadı) kendi sunucularında imza ile sayfalara Genellikle Apache puan.
Www.daniel-ritter.de Liman 80 Apache/2.2.16 (Unix) Sunucu
Bu, herhangi bir potansiyel saldırgan eigesetzten Web sunucusu ve sürüm seviyesi hakkında daha önce en az bir kez alacaksınız ortadan kaldırır. Imza sunucu hızla kapatılır:
# / Etc/apache2/conf.d/security Kapalı ServerSignature
12. Apache modülleri devre dışı kullanmayın
Varsayılan olarak, Apache ihtiyaç hemen hemen hiç bazı modüller yüklendikten. Debian yüklenen modüller bulabilirsiniz
/ yumuşak bir bağlantı olarak etc/apache2/mods-enabled.
Neredeyse her zaman çıkarılabilir:
mod_cgi
CGI betikleri çalıştırmak için kullanılır. Bu teknik, Web şafağı kadar uzanır ve dinamik web siteleri için izin vermek, modern programlama dillerine atası oldu. mod_cgi PHP sitelerinin% 99 için gereksiz ve hatalı bir Apache config potansiyel bir güvenlik açığıdır,
a2dismod cgi
mod_status
Apache durum bilgileri okumak için tarayıcılar verir. Neredeyse "normal" siteler için asla kullanılmaz, ancak saldırganların Apache hakkında durum bilgileri sağlar.
a2dismod durumu
mod_autoindex
mod_autoindex uygun dizine geçerli bir indeks sayfası yoksa dizinler, web sunucusu üzerinde yer edilebilmesini sağlar. Bu işlevsellik istenmiyorsa o web sunucusu üzerinde bütün dizin ağaçları dışarıdan görünür olabilir yana, onu devre dışı bırakmanız gerekir.
a2dismod autoindex
Infiltrated.net bir aldatmaca / spam / Suç kara ile Linux Sunucu Güvenliği
Dolandırıcılar, hacker, Viagra tezgahları, script çocukları, vb: İnternette kötü adamlar çok var
Infiltrated.net bariz sunucusu haline gelmiştir oldukça kapsamlı bir listesini tutar http://www.infiltrated.net/blacklisted~~V .
Eğer kendi sunucuları, hatta askıya alınması bu IP'nin onun ev ağınıza erişiminiz varsa, biri zaten Rus vekiller, spam ve diğer ayaktakımı bir sürü kilitledi.
Aşağıdaki komut dosyası otomatik olarak geçerli listesini çizer ve güvenlik duvarı ana iletir olacaktır.
Düzenli olarak bir cronjob ile başladı, o kendi hizmetleri için güvenlik bir nebze sağlar.
# / Usr / bin / php <? Çalışan # Birincisi, mevcut (kişisel) güvenlik duvarı kuralları exec ("/ root / scripts / meine_standard_firewall_rules"); # Emmek Karaliste exec ("wget-O / tmp / infiltrated_blacklist http://www.infiltrated.net/blacklisted~~V"); $ Listesi = file ("/ tmp / infiltrated_blacklist"); $ I = 1; Iptables içerisinde biraz auseinanderschnibbeln ve aşağı foreach ($ line olarak $ liste) { $ Hattı = trim ($ satir); $ Hattı = str_replace ("\ t", "", $ satir); $ Hattı = explode ("", $ satir); $ Hattı = $ satir [0]; $ Firstchar = substr ($ hattı, 0,1); devam (is_numeric ($ firstchar)) varsa; exec ("iptables-I INPUT-s $ line-j DROP"); $ I + +; } echo "i kuralları set $ yapılır.."; ?>
USB Cheat Sheet: USB konnektörü, göz
Resimde soldan sağa gösterir: Mikro USB "B" - mini-USB "B" - mini-USB "B" 5 pin - USB "A" Erkek - USB "A" erkek - Kadın USB "B"
Belkin N Kablosuz USB WiFi Wi WL0049A Stick - Ubuntu ile kutunun dışında
Ubuntu için Out-Of-The-Box donanım için tekrar tekrar bu zamanı. Belkin düşük bütçeli kablosuz USB stick 10.10 güncel bir Ubuntu altında herhangi bir yapılandırma ve sürücü kurulumu yapmadan hemen çalışır. Mevcut kablosuz ağların listesini bir kez ağ yöneticisi bağladıktan sonra. Değil mutlak bir düşük bütçeli sürücü (yaklaşık 10 €) için kötü. Daha pahalı Netgear ve şirket ile, ne yazık ki, biraz daha sorunlar var. Sadece sinyal gücü büyük değildir. Erişim noktası veya aynı odada yönlendirici varsa, ancak herhangi bir sorunları var.
Böylece, sonra azot durumu tıkama:
Ocak 27 15:15:48 kutusu çekirdeği: [50425,764049] usb 2-1: uhci_hcd ve adres 7 kullanan yeni tam hızlı USB aygıtı Ocak 27 15:15:48 kutusu çekirdeği: [50425,916061] === pad = f89cc000, size = 472 668 === 27 Ocak 15:15:48 kutusu çekirdeği: [50425,916063] <- RTMPAllocAdapterBlock, status = 0 Ocak 27 15:15:48 kutusu çekirdeği: [50.426,212122] <- RTMPAllocTxRxRingMemory, status = 0 Ocak 27 15:15:48 kutusu çekirdeği: [50426,214376] -> RTUSBVenderReset Ocak 27 15:15:48 kutusu çekirdeği: [50.426,214495] <- RTUSBVenderReset Ocak 27 15:15:48 kutusu çekirdeği: [50.426,495844] 1 Phy Mode = 0 Ocak 27 15:15:48 kutusu çekirdeği: [50.426,495847] 2 Phy Mode = 0 Ocak 27 15:15:48 kutusu çekirdeği: NVM ve boyutu [50.426,495849] eFUSE = 2d [2D0-2fc] Ocak 27 15:15:48 kutusu çekirdeği: [50426,556586] RTMPSetPhyMode: kanal aralığı dışında, ilk kanal = 1 kullanabilirsiniz Ocak 27 15:15:48 kutusu çekirdeği: [50.426,573077] 3 Phy Mode = 0 Ocak 27 15:15:48 kutusu çekirdeği: [50.426,578953] MCS Set = 00 00 00 00 00 Ocak 27 15:15:48 kutusu çekirdeği: [50426,638326] <==== rt28xx_init, status = 0 Ocak 27 15:15:48 kutusu çekirdeği: [50.426,639953] 0x1300 = 00.073.200 Ocak 27 15:15:49 kutusu çekirdeği: [50.426,924845] ---> RTMPFreeTxRxRingMemory Ocak 27 15:15:49 kutusu çekirdeği: [50426,924866] <--- RTMPFreeTxRxRingMemory Ocak 27 15:15:49 kutusu çekirdeği: [50427,195749] <- RTMPAllocTxRxRingMemory, status = 0 Ocak 27 15:15:49 kutusu çekirdeği: [50427,198006] -> RTUSBVenderReset Ocak 27 15:15:49 kutusu çekirdeği: [50427,198133] <- RTUSBVenderReset Ocak 27 15:15:49 kutusu çekirdeği: [50427,484608] 1 Phy Mode = 0 27 Ocak 15:15:49 kutusu çekirdeği: [50427,484610] 2 Phy Mode = 0 Ocak 27 15:15:49 kutusu çekirdeği: NVM ve boyutu [50427,484612] eFUSE = 2d [2D0-2fc] Ocak 27 15:15:49 kutusu çekirdeği: [50427,557222] 3 Phy Mode = 0 Ocak 27 15:15:49 kutusu çekirdeği: [50.427,563097] MCS Set = 00 00 00 00 00 Ocak 27 15:15:49 kutusu çekirdeği: [50.427,625962] <==== rt28xx_init, status = 0 Ocak 27 15:15:49 kutusu çekirdeği: [50427,627588] 0x1300 = 00.073.200 Ocak 27 15:15:54 kutusu çekirdeği: [50432,648580] === rt_ioctl_giwscan>. 3 (3) BSS veri-> uzunluğu = 483, iade Ocak 27 15:15:59 kutusu çekirdeği: [50.437,679264] === rt_ioctl_giwscan>. 2 (2) BSS veri-> uzunluğu = 308, iade Ocak 27 15:15:59 kutusu çekirdeği: [50437,679356] ==> rt_ioctl_siwfreq :: SIOCSIWFREQ [cmd = 0x8b04] (Kanal = 1)
Eşzamanlı VLC ile başlatmak için ağ üzerinden uzaktan kumanda daha fazla video
Bir dostu tasarım öğrencinin tez sunumu, bir video yükleme için inşa etmek istedim. Televizyonda odasında oluşturulan filmlerde üç paralel olarak çalıştırmak üzere düzenlenmiş ve aynı anda başlatıldı. Üç film de bir sanat eseri (ve umarım iyi bir final notu) sonucu paylaşmak böylece kesilir. Bir olay, şirketin bazı 1.000 € inşa etmek istedim. Bu yaklaşık 1000 € ', ne yazık ki, arkadaşım bütçeyi aşmıştır, bu yüzden açık kaynak yazılım zusammengefrickelt kendinizi oluşturmamız gerekiyor. 3 (Windows) dizüstü TV'ye HDMI ile bağlı ve her biri bir şalter üzerinden bağlanır. Dördüncü (Linux) laptop bir merkezi kontrol bilgisayarı olarak görev yaptı. VLC Media Player mükemmel bir destek hemen hemen tüm video formatlarını ve diğer birçok kullanışlı fonksiyonlar sunuyor. Bu ayarda, Uzaktan Kumanda uzaktan VLC arayüzü olan tamamen bir ağ veya internet üzerinden oyuncu olanak veren kullanılır.
Windows makine 192.168.0.3 için IP'nin 192.168.0.1 var. Linux-kontrol bilgisayarı, IP 192.168.0.100.
Uzaktan komut dosyası öğretici dayanmaktadır Markus Berg (teşekkür ederim).
# / Bin / bash ip [0] = "192.168.0.1" ip [1] = "192.168.0.2" ip [2] = "192.168.0.3" port = 20000 fonksiyonu {send_cmd $ {ip [@]} in adresi do echo "$ 1" | nc $ adres $ port & yapılmış } ederken ([1]) do temizlemek "Komut Video" echo yankı "| ANA s" echo echo "p | PAUSE / PLAY ' echo "z | GERİ BOBİN" echo "cp | GERİ COIL + PAUSE" echo "f | ON / OFF FULL EKRAN" echo "b | Çıkış" yankı yankı yankı echo-n "komutu?" oku komutu in case "$ komut" s) send_cmd oyun ;; p) send_cmd molası ;; z) send_cmd önceki ;; zp) send_cmd önceki perl-e 'select (undef, undef, undef, .3)' send_cmd molası ;; f) fullscreen send_cmd ;; b) çıkmak ;; esac yapılır;
Kontrol bilgisayarında Bu komut dosyası bu Spartan menü:
Video Komutanlığı s | ANA SAYFA p | PAUSE / PLAY z | GERİ BOBİN zp | GERİ BOBİN + PAUSE f | ON / OFF FULL EKRAN b | Çıkış Komuta?
Windows makinede artık sadece Windows konsol VLC Uzaktan Kumanda modundan başlatılabilir vardı:
vlc - extraintf oldrc - rc-host 192.168.0.1:20000
Şimdi, ilgili VLC çalma bile, video eklenmiştir. Uzaktan kumanda yapıldı.
Maalesef, bazı tuzaklar (neredeyse her zaman olduğu gibi) vardı. İlk testlerde Windows Güvenlik Duvarı etrafında zickte. Sunumu devre dışı edilmesi gerekiyordu. Genellikle, Windows güncelleme mesajları, çünkü Avira pop-up'ları ve video diğer Nervereien elbette oldukça utanç verici görünüyor, sunum için özellikle iyi bir seçim değildi. Windows makinede oldukça kısırlaştırmasından gerekiyordu. Güvenlik duvarları, virüs tarama ve otomatik güncellemeleri devre dışı bırakılır. Tepsiye kendilerini rahat yapmıştı Birçok program, çıkarıldı. Sonunda, ben Linux istemcileri ile oynayarak sonraki gerçekleştirmek istiyorsunuz, ancak çünkü zaman kısıtlamaları mevcut değildi.
Sbf_flash Linux ile Milestone flaş
: Ben tek bir şey için Windows ihtiyacım vardı benim Motorola Milestone için yeni bir firmware ile beflashen için . Bu daha önce özel bir USB sürücü ve gerekli Motorola Flash aracı oldu. Bu sadece Windows için yapılmış ve VirtualBox çalışmamış. [MBM], irc.freenode.net üzerinde bilgisayar korsanları bir android # kilometre taşı-modding şimdi de Linux üzerinde harika çalışıyor hangi ile, ikili bir araya koymuştur. Bu 10.10 Ubuntu beni test edildi. Ne yazık ki, uygulama için hiçbir kaynak kodu vardır, ama sorunsuz çalışır. Burada pek çok diğer kullanıcılara bildirimde resmi onaylayın: http://blog.opticaldelusion.org/2010/05/sbfflash.html
Download: Orijinal | Yerel Ayna
Bu sbf_flash ile nasıl bir flash süreçtir:
kutu-kök-18: 01:33 / home / ww / desktop -> / sbf_flash ./GOT_DACH_GERMANY_2_2_1FULL.sbf. SBF FLASH 1.08 (mbm) GOT_DACH_GERMANY_2_2_1FULL.sbf ====== 00: 0x82000000 RDL03 0x8204CFFF 2FC7-AP 01: CG31 0xB01C0000 0xB01C47FF 24FE-AP 02: CG33 0xD13FB000 0xD1BB783F E479-AP 03: CG34 0xB03A0000 0xB03A47FF CC19-AP 04: CG35 0xB07A0000 0xB0A607FF 888E-AP 05: CG36-0xF0B7D000 0xF0BE083F 6799 AP 06: CG37 0xE4034000-0xE40379BF 9325 AP 07: CG39 0xD1D64000 0xDADE583F-6DA8 AP 08: CG40-0xDD2E4000 0xDD2E483F FDFF AP 09: CG42 0xB06A0000-73E3 0xB06DFFFF AP 10: CG45 0xB0B20000 0xB0E207FF 79ED-AP 11: CG47 0xB0EE0000 0xB12A07FF 679E-AP 12: CG53-0xCFD80000 0xCFD807FF FDFF AP 13: CG61 0xB0640000 0xB06607FF 6C74-AP Milestone bulundu. RDL03 yükleme >> Yükleme: 100% OK Ramloader >> doğrulanıyor - Tamam Ramloader >> Executing Milestone found. >> sending erase >> uploading CG31 Uploading: 100% OK >> uploading CG33 Uploading: 100% OK >> uploading CG34 Uploading: 100% OK >> uploading CG35 Uploading: 100% OK >> uploading CG36 Uploading: 100% OK >> uploading CG37 Uploading: 100% OK >> uploading CG39 Uploading: 100% OK >> uploading CG40 Uploading: 100% OK >> uploading CG42 Uploading: 100% OK >> uploading CG45 Uploading: 100% OK >> uploading CG47 Uploading: 100% OK >> uploading CG53 Uploading: 100% OK >> uploading CG61 Uploading: 100% OK >> verifying CG31 -- OK >> verifying CG33 -- OK >> verifying CG34 -- OK >> verifying CG35 -- OK >> verifying CG36 -- OK >> verifying CG37 -- OK >> verifying CG39 -- OK >> verifying CG40 -- OK >> verifying CG42 -- OK >> verifying CG45 -- OK >> verifying CG47 -- OK >> verifying CG53 -- OK >> verifying CG61 -- OK >> rebooting









