Neglector Tweet. Ένα μικρό PHP script να διαγράψετε τα παλιά tweets από το Twitter
Αυτοματοποιεί τη διαδικασία της Neglector τιτίβισμα διαγραφή παλαιών tweets από το λογαριασμό σας στο Twitter. Βασικά να παρέχει "εκπνεύσει" λειτουργικότητα για τα tweets σας. Είναι χρήσιμο για τους ανθρώπους που θέλουν να χρησιμοποιούν το Twitter, αλλά δεν θέλουν μια ιστορία των tweets τους να μείνουν σε απευθείας σύνδεση για δεκαετίες.
ΙΣΤΟΡΙΑ: 20 Νοέμβρη του 2011 | Έκδοση 0.1 Πρώτη έκδοση. Διαγράφει Tweets 28η Δεκεμβρίου 2011 | Έκδοση 0.2 Μικρές διορθώσεις σφαλμάτων. Τώρα retweets διαγράφει επίσης. Γνωστά σφάλματα: - Δεν θα δουλέψει αν τιτίβισμα περισσότερο από 1000 tweets στο χρονικό διάστημα που προγραμματίζετε να κρατήσετε τα tweets. Ίδιο πράγμα για retweets (100 επιτρέπονται). Αυτές είναι οι ανεπάρκειες του Twitter API ΠΑΡΕΙ Είμαι με τη χρήση ΑΤΜ. Ίσως να πάω να το διορθώσω αυτό με την επόμενη έκδοση
Tweet Neglector χρησιμοποιεί το Twitter API για να διαγράψετε όλα τα tweets σας που στάλθηκαν πριν από ένα συγκεκριμένο αριθμό ημερών από σήμερα. Με αυτό τον τρόπο μπορείτε να ρυθμίσετε τη δέσμη ενεργειών για να διαγράψετε όλα τα tweets που είναι παλαιότερα από μια εβδομάδα ή ένα μήνα, για παράδειγμα. Το σενάριο πρέπει να εκτελείται αυτόματα από μια περιοδική εργασία ή άλλο μηχανισμό αυτοματοποίησης σε τακτική βάση.
Αυτό το σενάριο δεν μπορεί να σας προστατεύσει από τις εξωτερικές αρχεία Tweet. Έτσι, είναι άγνωστο αν διαγράφονται τα tweets του Twitter αρχειοθετούνται από ήσυχα (πάω στοίχημα πως θα είναι). Έτσι (όπως πάντα) ότι πριν από tweeting.
Tweet Neglector χρησιμοποιεί την PHP σαν γλώσσα scripting και τα δέματα του Twitter OAuth βιβλιοθήκη από Matt Harris για πρόσβαση API.
Εγκατάσταση
- PHP5 που απαιτούνται για tmhOAuth - Αποσυμπιέστε το αρχείο σε έναν κατάλογο της επιλογής σας. - Εγγραφή στο Twitter κλειδιά σας ΑΡΙ https://dev.twitter.com/apps - Επεξεργαστείτε τις ρυθμίσεις του script για να ταιριάζει στις ανάγκες σας: # Twitter κλειδιά API, τις μάρκες και τα μυστικά να πάρει αυτά τα πλήκτρα # στο -> https:// dev.twitter.com / apps consumer_key $ = "ΚΛΕΙΔΙ ΣΑΣ ΕΔΩ"? consumer_secret $ = "ΚΛΕΙΔΙ ΣΑΣ ΕΔΩ"? access_token $ = "ΚΛΕΙΔΙ ΣΑΣ ΕΔΩ"? access_token_secret $ = "ΚΛΕΙΔΙ ΣΑΣ ΕΔΩ"? # αριθμός των tweets για να εργαστεί για ανά συνεδρία $ tweets_per_session = 1000? # Twitter χρήστη $ twitter_username = "όνομα χρήστη σας ΕΔΩ"? # ημέρες για να κρατήσει τα tweets $ keep_days = 30? - Εκτελέστε το script χειροκίνητα από τον browser, κονσόλα ή αυτόματα από το cron / usr / bin / php / var / www / tweetneglector / tweetneglector.php
Tweet Neglector 0,2 Λήψη εδώ
HOWTO: Γρήγορη και βρώμικα διακομιστή DHCP και DNS cache με dnsmasq στο Ubuntu
DHCP στο LAN είναι πρακτικό. Μπορείτε πλέον να διαχειριστείτε τις ρυθμίσεις του δικτύου του κάθε υπολογιστή στο δίκτυο για τους πελάτες τους, αλλά όλα έχουν μια υπέροχη κεντρική τοποθεσία του διακομιστή. Εκτός από την προσωρινή αποθήκευση DNS πελάτες λίγο χρόνο πρέπει να γίνεται κατά την επίλυση ονομάτων κεντρικών υπολογιστών, δεδομένου ότι τα ερωτήματα μπορεί να εφαρμοστεί σε γνωστά ονόματα υποδοχής από την τοπική μνήμη cache και όχι σε ένα διακομιστή στο Internet.
Ένα μικρό διακομιστή DHCP έχει συσταθεί με το dnsmasq πολύ γρήγορα.
# Εγκαταστήστε dnsmasq apt-get install dnsmasq
Η διαμόρφωση πραγματοποιείται κεντρικά στην dnsmasq.conf αρχείο / etc /. Κάποιος δεν πρέπει να φύγω πριν από τις σφιγμένες επιλογές ρυθμίσεων στο αρχείο αποθαρρύνονται. Σχεδόν τα πάντα είναι μόνο ένα παράδειγμα και είναι εξ ορισμού σχόλια. Μια πολύ σύντομη Config είναι ήδη επαρκείς για μια λειτουργική εγκατάσταση:
DHCP
# DHCP netmask # Πελάτες έλαβε ως netmask 255.255.255.0 dhcp-option = 1,255.255.255.0 # Προεπιλεγμένη πύλη # Πελάτες που εισπράττονται ως πύλη 192.168.1.251 dhcp-option = 3,192.168.1.251 # Dns # Πελάτες πάρει το όνομα του διακομιστή 192.168.1.4 # Εάν θέλετε να χρησιμοποιήσετε το dnsmasq ως μνήμη cache DNS, αυτό πρέπει να είναι η Να # IP του διακομιστή που εκτελεί το dnsmasq dhcp-option = 6,192.168.1.4 # Οικοδεσπότες για την ίδια διεύθυνση IP που εκχωρείται από το MAC: # Αυτό παίρνει τον οικοδεσπότη με την MAC 00:11:22:33:44:55 IP 192,168.1.1 για 12 ώρες dhcp-ξενιστή = 00:11:22:33:44:55, λόμπι, η 192.168.1.1,12 dhcp-ξενιστή = 00:11:22:33:44:66, Lobby2, η 192.168.1.2,12 # Όλοι οι υπολογιστές που δεν μπορεί να προσδιοριστεί από το MAC λάβουν διευθύνσεις IP # Από την πισίνα του 192.168.1.120 έως 150 dhcp-range = 192.168.1.120,192.168.1.150,12 η
DNS
Η λειτουργία του DNS dnsmasq δεν χρειάζεται καμία διαμόρφωση.
dnsmasq ανησυχεί τους nameservers του από το / etc / resolv.conf. Αυτό θα πρέπει να είναι
γνωστό όνομα διακομιστή του φορέα παροχής καταγράφονται και ενδεχομένως ακόμη και ως εφεδρική
8.8.8.8 για διακομιστές DNS της Google.
Για περισσότερες hostnames που πρέπει να εφαρμόζονται στο τοπικό δίκτυο μπορεί, dnsmasq στο αρχείο
Να / etc / hosts γίνουν γνωστές. Εδώ όλοι οι υπολογιστές καταχωρηθεί hostnames
το τοπικό δίκτυο.
Παγίδες
dnsmasq πρέπει να ξαναδιαβάσει αρχεία ρυθμίσεων του Konfigänderungen
/ Etc / init.d / dnsmasq επανεκκίνηση
Εάν οι πελάτες δεν έχουν μίσθωση από το παλιό διακομιστή DHCP, μπορείτε να το χέρι φέρτε το να ξεκινήσετε μια νέα DHCP αίτηση.
# Linux dhclient eth0 # Των Windows ipconfig / release ipconfig / renew
Επειγόντως πρέπει να είστε προσεκτικοί, μέχρι στιγμής για χρήση οπουδήποτε DHCP server (συνήθως ο δρομολογητής στο Διαδίκτυο) για να απενεργοποιήσετε. 2 διακομιστές DHCP στο LAN μπορεί να δημιουργήσει πολλά χάος.
Ασύρματη σύνδεση για EEE 1000H rt2860 στο Ubuntu
Με κάθε ανανέωση τον τελευταίο καιρό η ασύρματη ήταν EEE PC 1000H μου με το Ubuntu πολύ ασταθής. Μόνιμη αποσυνδέσεις, δεν ασύρματο μετά αναστολής, αργή σύνδεση, κλπ.
Δεν είμαι σίγουρος τι είναι, κατά πάσα πιθανότητα έχει ο οδηγός rt2860 πάρει καμία ενημέρωση με ένα bug.
Ευτυχώς, το πρόβλημα μπορεί να λυθεί με την εγκατάσταση του προγράμματος οδήγησης των Windows με ndiswrapper.
Αυτή είναι μόνο μια ελαφρώς συντομευμένη μετάφραση στα γερμανικά του αγγλικό πρωτότυπο μοντέλο της nevdelap από το φόρουμ του Ubuntu. (Ευχαριστώ)
Πρώτη πιπιλίζουν τα Windows οδηγούς και αποσυμπίεσης (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)
Δεύτερος Linux μαύρη λίστα του οδηγού
# / Etc / modprobe.d / blacklist.conf rt2x00lib μαύρη λίστα rt2x00pci μαύρη λίστα rt2x00usb μαύρη λίστα rt2400pci μαύρη λίστα rt2500pci μαύρη λίστα rt2500usb μαύρη λίστα rt2800lib μαύρη λίστα rt2800pci μαύρη λίστα rt2800usb μαύρη λίστα rt61pci μαύρη λίστα rt73usb μαύρη λίστα μαύρη λίστα RT2600 μαύρη λίστα rt2860 # Asus 1000H έχει rt2860. Για να φορτωθεί με ndiswrapper. B43 μαύρη λίστα B43 μαύρη λίστα μαύρη λίστα SSB r8192s_usb μαύρη λίστα
Τρίτος Εγκαταστήστε το πρόγραμμα οδήγησης των Windows με ndisgtk drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k
sudo ndisgtk
4ο Ρύθμιση grub
# / Etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT = "pciehp.pciehp_force pciehp.pciehp_poll = 1 = 1 ήσυχη βουτιά"
sudo update-grub2
5ο Ισχύς κανόνα Διαχείρισης δημιουργούν
# / Etc / μμ / sleep.d / ndiswrapper # / Bin / bash περίπτωση "$ 1" σε αδρανοποίησης | αναστολής) sudo rmmod ndiswrapper ?? απόψυξης | βιογραφικό) sudo modprobe ndiswrapper ?? *) ?? ESAC $ έξοδο;
chmod + x / etc / μμ / sleep.d / ndiswrapper
6ο Επανεκκίνηση
Τότε το ασύρματο τρέχει γρήγορα και σταθερά.
PHP σκονάκι
Εδώ έχω συλλέξει χρήσιμες κώδικα PHP αποσπάσματα
Multithreading με ψευδο-οθόνη
# / Usr/bin/php5 για! ($ I = 1? $ I <50? $ I + +) {echo "ξεκινώντας $ i \ n"? Νήμα exec ("οθόνη-δ-μ / usr/bin/php5 /. . php ")?} MySQL server έχει πάει μακριά σε μακροχρόνια ένα PHP script shell
# / Etc/php5/cli/php.ini = Στις mysql.allow_persistent mysql.max_persistent = -1 mysql.max_links = -1 mysql.connect_timeout = -1
XS Stick W14 UMTS με το Ubuntu
Το XS Stick W14 zickte στο Ubuntu γύρω από ένα κομμάτι. Περιστασιακά, ο διαχειριστής του δικτύου να αναγνωρίσει ως μόντεμ USB, αλλά και πάλι δεν μπορούσε να συνδεθεί. Μετά από μερικές ανεπιτυχείς wackiness Είμαι στο σενάριο Sakis3G συνάντησε, η οποία υπόσχεται να παράγουν σχεδόν όλους τους οδηγούς που μπορούν να συνδεθούν. Και πράγματι, έχει Sakis3G έργων αμέσως. Προτείνεται, και πιθανώς για άλλους δίσκους.
ΠΛΑΚΑ XS Stick W14 P / N 3000.000056.00 www.4g-systems.com
# Lsusb Λεωφορείο 002 Device 006: ID 1c9e: 9603
# / Var / log / syslog όταν συνδέσετε 19 του Ιουνίου 20:41:04 πυρήνα κουτί: [74186.796148] usb 2-2: νέα πλήρη ταχύτητα USB συσκευή, χρησιμοποιώντας uhci_hcd και τη διεύθυνση 7 19 του Ιουνίου 20:41:04 πυρήνα κουτί: [74186.946031] scsi11: usb-storage 2-2:1.0 19 του Ιουνίου 20:41:05 κουτί usb_modeswitch: εναλλαγή 1c9e: F000 (USB modem: USB modem) 19 του Ιουνίου 20:41:06 πυρήνα κουτί: [74189.293850] usb 2-2: USB disconnect, διεύθυνση 7 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.660069] usb 2-2: νέα πλήρη ταχύτητα USB συσκευή, χρησιμοποιώντας uhci_hcd και διεύθυνση 8 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819348] επιλογή 2-2:1.0: μόντεμ GSM (1-λιμάνι) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819577] usb 2-2: μόντεμ GSM (1-λιμάνι) μετατροπέα που αποδίδεται σήμερα στην ttyUSB0 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819802] επιλογή 2-2:1.1: μόντεμ GSM (1-λιμάνι) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819950] usb 2-2: μόντεμ GSM (1-λιμάνι) μετατροπέα που αποδίδεται σήμερα στην ttyUSB1 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.820220] επιλογή 2-2:1.2: μόντεμ GSM (1-λιμάνι) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.820395] usb 2-2: μόντεμ GSM (1-λιμάνι) μετατροπέα που αποδίδεται σήμερα στην ttyUSB2 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.821414] scsi12: usb-storage 2-2:1.3 19 του Ιουνίου 20:41:07 κουτί μόντεμ-διευθυντής [10 480]:(TtyUSB1) το άνοιγμα σειριακή θύρα .. 19 του Ιουνίου 20:41:07 κουτί μόντεμ-διευθυντής [10 480]: (TtyUSB0) το άνοιγμα σειριακή θύρα .. 19 του Ιουνίου 20:41:07 κουτί μόντεμ-διευθυντής [10 480]: (TtyUSB2) το άνοιγμα σειριακή θύρα .. 19 του Ιουνίου 20:41:08 κουτί usb_modeswitch: ενεργοποιημένο να 1c9e: 9603 (USB μόντεμ: ρύθμιση παραμέτρων του μόντεμ) 19 του Ιουνίου 20:41:08 πυρήνα κουτί: [74190.823474] scsi 12:0:0:0: Απευθείας πρόσβαση 2:31 USBModem δίσκου PQ: 0 ANSI: 2 19 του Ιουνίου 20:41:08 πυρήνα κουτί: [74190.825402] sd 12:0:0:0: Attached SCSI γενική SG3 τύπου 0 19 του Ιουνίου 20:41:08 πυρήνα κουτί: [74190.833436] sd 12:0:0:0: [SDC] Attached SCSI αφαιρούμενο δίσκο
12 μέτρα σε Linux Apache MySQL PHP τον web server LAMP ρίζα εξασφαλίσει
Η συχνότητα της πειρατείας έχει αυξηθεί δραματικά τους τελευταίους μήνες. Ειδικά πολλά στοιχεία που πρέπει να διαβαστεί από αμυχές στο web servers. Ακόμη και η Sony PSN αμυχή εκμεταλλεύτηκε μια ευπάθεια στο unpatched εξυπηρετητή Apache. Έτσι, εδώ είμαι μέτρα ευαισθητοποίησης ότι ο server μπορεί να κατέχει ένα κομμάτι ασφαλέστερο απέναντι σε επιθέσεις από το εξωτερικό. Φυσικά, αυτό δεν παρέχει 100% προστασία, αλλά είναι καλύτερο να κάνουν τους κακούς το παιχνίδι λίγο πιο δύσκολο. Ορισμένα από τα μέτρα που απαιτούν μόνο μια ελάχιστη εγκατάσταση και συντήρηση. Άλλοι χρειάζονται πολύ χρόνο και τη γνώση της PHP για να πιάσει. Πρέπει πάντα να δίνετε προσοχή στη σχέση κόστους-οφέλους για την επιλογή των μέτρων ασφαλείας. Δεν έχει κανένα νόημα να προστατεύσει ένα μικρό, ιδιωτικό χώρο όπως η Ομοσπονδιακή Κεντρική Τράπεζα των ΗΠΑ. Ωστόσο, λίγες συγκεκριμένες αλλαγές στο σύστημα έχει ήδη ένα μεγάλο σημαίνουν περισσότερη ασφάλεια. Και ότι θα πρέπει να αντιμετωπίζει ακόμη και πριν είναι πολύ αργά ....
Όλες οι συμβουλές και Codesnips αναφέρεται σε μια τρέχουσα θέση του Debian.
Πρώτα Το τείχος προστασίας - να απαγορεύουν τη στιγμή που τα πάντα
Οι περισσότερες διανομές Linux προεπιλογή σε εγκαταστάσεις τους να ανοίξει τις θύρες προς τα έξω που δεν είναι απολύτως απαραίτητο. Αυτή η κατάσταση μπορεί να αλλάξει γρήγορα, όμως, ακόμα και όταν ο διακομιστής
παίζοντας γύρω και προσπαθώντας πράγματα. Ξαφνικά, ακόμη και ο διακομιστής πολυμέσων ακούει στο Διαδίκτυο ή της βάσης δεδομένων
δέχεται συνδέσεις από το Internet. Ως εκ τούτου, δεν είναι λάθος για να πειθαρχήσει και να τεθεί σε ένα πολύ περιοριστικό τείχος προστασίας που ουσιαστικά απαγορεύει τη στιγμή όλες τις συνδέσεις από το εξωτερικό και επιτρέπει μόνο (αυτο-) επιλεγμένων ενώσεων. Ευτυχώς, αυτό γίνεται γρήγορα με iptables. Με αυτόν τον τρόπο δεν μπορούν πλέον να παρέχουν υπηρεσίες για να κάνουν προσιτό στον κόσμο που δεν έχουν δουλειά εκεί. Δυστυχώς, πληρώνετε μια μικρή άνεση - το τείχος προστασίας πρέπει να προσαρμόζεται κάθε φορά, όταν επιθυμούν να προσφέρουν νέες υπηρεσίες. Ωστόσο, η προσπάθεια είναι μικρή και τα οφέλη μεγάλα.
# / Bin / bash # Διαγραφή υπάρχοντες πίνακες iptables-F # Απαγόρευση όλων των εισερχόμενων συνδέσεων iptables-P INPUT DROP iptables-P FORWARD DROP # Αφήστε όλα τα εξερχόμενα iptables-P OUTPUT ΑΠΟΔΕΧΟΜΑΙ # Αφήστε SSH iptables-A INPUT-j ACCEPT-p TCP - dport 22 # Αφήστε HTTP iptables-A INPUT-j ACCEPT-p TCP - dport 80 # Περαιτέρω υπηρεσία (UDP) επιτρέπουν, για παράδειγμα, το διακομιστή παιχνιδιών iptables-A INPUT-j ACCEPT-p TCP - dport 4534 # Αφήστε τα πάντα απο το localhost. (Για να επιτρέψουν την ανεμπόδιστη πρόσβαση στον ίδιο το διακομιστή, οι υπηρεσίες της, # Για παράδειγμα, η PHP στην τοπική βάση δεδομένων iptables-A INPUT-s 127.0.0.1-j ACCEPT # Ήδη εγκατεστημένες συνδέσεις θα γίνονται δεκτές σε κάθε λιμάνι # (Για κάποιους δαίμονες) iptables-A INPUT-m κράτους - που έχει δημιουργηθεί, ΣΧΕΤΙΚΑ-j ACCEPT
Αυτό το μικρό κορμό μπορούμε απλά να συνεχίσει να επεκτείνει και να προσθέσετε τις δικές τους υπηρεσίες. Όταν εργάζονται για το τείχος προστασίας, θα πρέπει πάντα διατάξεις για την περίπτωση που κλειδώνει τον εαυτό σας. Ειδικά για τους απομακρυσμένους διακομιστές για τα οποία δεν έχετε φυσική πρόσβαση, είναι πολύ ενοχλητικό να χάσει από ένα τείχος προστασίας δεν αποκλείουν τη δική τους πρόσβαση. Για να αποφύγετε αυτό το πρόβλημα έξω από το δρόμο, μπορείτε να αφήσετε να αρχίσουν οι εργασίες στο τείχος προστασίας προσωρινά μόνο μια περιοδική εργασία που επαναφέρει το τείχος προστασίας κάθε λίγα λεπτά ή επανεκκίνηση του διακομιστή. Είναι οι κανόνες που αργότερα δοκιμαστεί και αγάπησε, ο cronjob θα απενεργοποιηθεί και οι νέοι κανόνες παραμένουν μόνιμα ενεργό.
Για να μάθετε ποιες υπηρεσίες ακριβώς ακούγοντας στον δικό σας διακομιστή, μπορείτε να χρησιμοποιήσετε το netstat:
# Για το TCP sockets: netstat-LPN | grep tcp # Ομοίως για UDP: netstat-LPN | grep UDP
Για να ελέγξετε εάν το τείχος προστασίας λειτουργεί πραγματικά, μπορείτε να σαρώσετε λιμάνι δικό σας server από έναν άλλο υπολογιστή. Τα πάντα λειτούργησαν έξω και θα πρέπει να οδηγήσει σε ακόμη μόνο τα λιμάνια που είναι ανοικτά:
# Για το TCP: nmap-P1-65 535 meinserver.de # Για UDP: nmap-SU-P1-65 535 meinserver.de
Δεύτερος SSH απαγόρευση συνδέσεις
Με δική του εξυπηρετητή έχετε πλήρη πρόσβαση SSH. Αυτό είναι αρκετά βολικό, δεδομένου ότι μπορείτε από οποιοδήποτε πρόγραμμα-πελάτη SSH για την εποχή διακομιστή μόνο για να εργάζονται σε αυτό. Το μειονέκτημα αυτού είναι ότι η πορεία μπορεί κάποιος ο οποίος δυστυχώς έχει κάπως αναλάβει τις δικές τους κωδικούς τους. Είναι πολύ ασφαλέστερο να επιτρέπουν SSH συνδέσεις μόνο με ένα έγκυρο κλειδί αρχείο. Ως εκ τούτου, το δημόσιο κλειδί του client στον server και αντιγραφή διαδραστικές συνδέσεις έχουν απενεργοποιηθεί από την εισαγωγή ενός κωδικού πρόσβασης.
# Την πελάτης, δημιουργήστε ένα δημόσιο κλειδί # Αν έχει καθοριστεί κατά τη δημιουργία ενός κωδικού πρόσβασης, πρέπει κανείς να # Σύνδεση αρχείο αργότερα, το κλειδί και ο κωδικός πρόσβασης. Αλλιώς # Χρειάζεται μόνο το κλειδί. ssh-keygen-t RSA # Αντιγράψτε το κλειδί που δημιουργείται στο διακομιστή ssh-copy-id-i ~ /. ssh / id_rsa.pub root@meinserver.de # Τώρα ρυθμίστε το sshd_config στον server / etc / ssh / . . PasswordAuthentication δεν . . # Στη συνέχεια, ξεκινήστε πάλι RearBBpos / Etc / init.d / ssh επανεκκίνηση
Ακόμα και εδώ θα πρέπει να λαμβάνουν προφυλάξεις για να μην αποκλείσει ακόμη και αν κάτι δεν λειτουργεί.
Το δημόσιο κλειδί σε ένα USB stick με τον αντίστοιχο κωδικό πρόσβασης στο κεφάλι σας καθιστά πολύ πιο δύσκολο για τους κακούς για να πάρει ένα κέλυφος.
Τρίτος SSH Bruteforcing πρόληψη denyhosts
Εάν οι συμβουλές δεν είναι πρακτικό 2 και να μην εγκαταλείψουν την άνεση του θέλουν κωδικό πρόσβασης που βασίζεται συνδέσεις, μπορείτε τουλάχιστον να αποτρέψει τις αυτοματοποιημένες κωδικό ποσοστά των επιτιθέμενων στο διακομιστή. Πολλά bots στο διαδίκτυο όλη την ημέρα θέλει να κάνει τίποτα περισσότερο από το να SSH σας και να δοκιμάσετε σε διάφορους κωδικούς πρόσβασης σας. Με ένα αρκετά ασφαλή κωδικό πρόσβασης δεν είναι ένα μεγάλο πρόβλημα, αλλά υπάρχει μια καλύτερη αίσθηση, έστω και αν αυτό είναι δυνατόν. Επιπλέον, προστατεύει τους χρήστες του, αν υπάρχουν σχετικά με τους λογαριασμούς χρήστη και διακομιστή. Εδώ, δεν μπορείτε να βασιζόμαστε στους χρήστες να χρησιμοποιούν ασφαλείς κωδικούς πρόσβασης. denyhosts συνεχώς αξιολόγηση και ssh συνδέσεις στο χρήστη κλειδώνει για μια στιγμή που έχουν εισέλθει κωδικό τους λανθασμένα επαναλαμβάνεται. Η IP των χρηστών του προσωρινά στο / etc / hosts.deny, έτσι ώστε να μην έχουν πλέον πρόσβαση σε είναι δυνατή. Αυτό το SSH Bruteforcing σε μια πολύ χρονοβόρα και δεν είναι πολύ ελπιδοφόρα εργασία.
apt-get install denyhosts # Denyhosts λειτουργεί αμέσως μετά την εγκατάσταση. Μπορεί να είναι # Στο αρχείο / etc / denyhosts.conf τελειοποιήσουν
4ο Μαύρες λίστες που χρησιμοποιούνται για να μπλοκάρει διευθύνσεις IP γνωστό πρόβλημα
Σε διατηρούνται διάφορες μαύρες λίστες του Internet, η οποία απαριθμεί ένα μεγάλο αριθμό ποινικών / ψιλοκομμένο / spammy / δόλια διακομιστές. Αυτές οι λίστες IP μπορεί να εισαχθεί απευθείας στο τείχος προστασίας, έτσι ώστε από αυτή δεν είναι γνωστή η αξιόπιστους υπολογιστές δεν μπορούν να συνδεθούν καθόλου στο δικό του server. Έτσι, μπορείτε να μειώσετε το ποσό spam με δική τους server δραματικά και το ένα ή το άλλο παιδάκι σενάριο ανταπεργία, επειδή ρωσική μεσολάβησης του σταματά ξαφνικά να λειτουργεί. Πώς να το κάνουμε αυτό είμαι σε ένα άλλο άρθρο στο blog περιγράφεται το παράδειγμα της μαύρης λίστας των Infiltrated.net.
5ο Μην χρησιμοποιείτε το FTP για να εργαστούν στον server
FTP είναι ένα απομεινάρι της καλύτερης φορές, όταν το Διαδίκτυο ήταν ένα μικρό χωριό ακόμα αξιόπιστες. Πολλοί διαχειριστές των ιστοσελίδων εξακολουθούν να χρησιμοποιούν το FTP για να μεταφέρετε τα αρχεία στον server ή να αναπτύξουν τη δική τους ιστοσελίδα. Δυστυχώς, αυτό είναι πολύ αβέβαιη, επειδή FTP μεταδίδει όλα τα δεδομένα ακάλυπτο. Οι κωδικοί πρόσβασης και τα δεδομένα μπορούν να διαβαστούν χωρίς προβλήματα σε κάθε λυκίσκου μεταξύ των διακομιστών και των πελατών. Πολύ πιο ασφαλές να πάμε με sshfs. Σας επιτρέπει να τοποθετήσετε έναν κατάλογο μέσω ssh στο τοπικό σύστημα αρχείων του απομακρυσμένου διακομιστή. Μπορείτε έπειτα να εργαστούν στον server σαν να ήταν στον τοπικό υπολογιστή. Η πρόσβαση αρχείων σε αρχεία στον server είναι απολύτως διαφανή, ώστε να μπορείτε να ανοίξετε με το τοπικό πρόγραμμα γραφικών για να επεξεργαστείτε μια εικόνα στο διακομιστή άμεσα, και στη συνέχεια, αποθηκεύστε. Περισσότερη άνεση και ασφάλεια χωρίς πολλή προσπάθεια.
# Εγκαταστήστε sshfs apt-get install sshfs # Δημιουργία σημείο προσάρτησης στο τοπικό σύστημα αρχείων mkdir / media / ο_διακομιστής_μου # Διακομιστή στο τοπικό σύστημα αρχείων βουνό sshfs www-data@mein-server.de :/ var / www / media / ο_διακομιστής_μου # Τώρα ο κατάλογος είναι / var / www σε τοπικό server μου στο / media / ο_διακομιστής_μου διαθέσιμα
6ο Εγκατάσταση ενημερωμένων εκδόσεων
Ένα σούπερ ασφαλές σύστημα δεν θα βοηθήσει εάν το ίδιο το σύστημα είναι προβληματικό και ένα γνωστό θέμα ευπάθειας μπορεί να αξιοποιηθεί. Στις περισσότερες περιπτώσεις, αυτά τα τρωτά σημεία κλείνουν γρήγορα, αλλά συχνά ξεχασμένο διαχειριστή τακτική ενημέρωση του συστήματος να κάνει. Είτε θα πρέπει να ενεργοποιήσετε τις αυτόματες ενημερώσεις για Linux servers ή δεν είναι ένα αμφιλεγόμενο ζήτημα. Μερικοί δεν θα κάνει, γιατί φυσικά με πολύ κακή τύχη μπορεί να είναι ότι οι ενημερώσεις να καταστεί το σύστημα άχρηστο. Αυτό συνέβη σε μένα, πάνω από 10 χρόνια εργασίας σε Debian συστήματα, αλλά ποτέ και εκτιμώ τα οφέλη από την έγκαιρη και τακτική ενημέρωση, πολύ υψηλότερο από την προκύπτουσα κίνδυνο.
# Αυτή η γραμμή στο / etc / crontab, ενημερώνει το ρολόι του συστήματος κάθε μέρα στις 6 π.μ. 0 6 ρίζα *** apt-get update && apt-get-y αναβάθμιση
Αυτά γρήγορη και βρώμικη μέθοδος λειτούργησε για μένα μέχρι τώρα πάντα καλό. Διάβασα πρόσφατα ότι το repository του Debian και το πακέτο χωρίς επίβλεψη-υπάρχει αναβαθμίσεις που λύνει το πρόβλημα ίσως πιο κομψά, αλλά δεν έχουν δοκιμαστεί.
Ακόμη και με αυτές τις ενημερώσεις του συστήματος vollautomtischen δεν είναι εντελώς από το γάντζο. Αν μια ενημερωμένη έκδοση του πυρήνα έχει παραδοθεί, θα πρέπει να εκκινήσετε το σύστημα και πάλι με το χέρι, αλλιώς οι αλλαγές δεν θα είναι ενεργό.
Αν χρησιμοποιήσουμε τρίτους PHP κώδικα στο διακομιστή, όπως ένα open source CMS ή ένα φόρουμ, είναι βέβαια απολύτως αναγκαία και αυτό κώδικα με νέες εκδόσεις μέχρι σήμερα. Δεδομένου ότι το Debian δεν ενημερώνει τις αλλαγές του σε εκείνες τις εφαρμογές των κανόνων που διέπουν αυτή την χειρωνακτική εργασία που απαιτείται. Ο καλύτερος τρόπος για να διαβάσετε τις λίστες αλληλογραφίας σας με τα αντίστοιχα προϊόντα, ώστε να είναι πάντοτε ενημερωμένα.
7ο PHP με open_basedir φυλακίζουν
Πολλοί αμυχές με βάση το γεγονός ότι μια ευπάθεια στον κώδικα PHP χρησιμοποιείται για την πρόσβαση στα αρχεία της πρόσβασης στο σύστημα αρχείων που δεν ανήκουν στην περιοχή, αλλά το ίδιο το σύστημα είναι γιατί θα πρέπει να κλειδώσει την PHP, έτσι ώστε να διαβάζεται μόνο σε ειδικά καθορισμένα καταλόγους και να γράψουν επιτρέπονται. Για το σκοπό αυτό, το php.ini η επιλογή διαμόρφωσης open_basedir. Η PHP έχει τη δυνατότητα να θέσει μόνο επιτρέπεται η πρόσβαση στους καταλόγους εκεί. Αρχεία όπως το / etc / passwd είναι μακριά. Φιλοξενία πολλαπλές ιστοσελίδες σε ένα διακομιστή, πρέπει να ορίσετε τις ρυθμίσεις open_basedir σε κάθε εικονική διαμόρφωση υποδοχής σε κάθε πλευρά.
# Παγκόσμια php.ini μέσω: # / Etc/php5/apache2/php.ini open_basedir = / var / www / tmp :/ / # Ανά ιστοθέση στα config VirtualHost: php_value open_basedir / var / www / τοποθεσία / tmp :/ /
Είναι σημαντικό να εξεταστεί κατά πόσον όλες οι τοποθεσίες που έχουν προστεθεί στα σενάρια που συνήθως πρέπει να έχουν πρόσβαση, αλλιώς μπορεί να είναι ότι είστε άτομα με ειδικές ανάγκες και νόμιμες λειτουργίες της εφαρμογής της PHP.
8ο Δημιουργήστε το δικό σας ιστοσελίδες για τους χρήστες MySQL
Χρησιμοποιήστε το δικό PHP-MySQL την αίτησή σας, θα πρέπει να δημιουργήσει απόλυτα για τη δική Apllikation χρήστη MySQL και σε καμία περίπτωση χρήση των αιτημάτων της MySQL χρήστης root. Θα πρέπει επίσης να περιορίσει τα δικαιώματα του χρήστη μέχρι τώρα ότι επιτρέπονται μόνο οι ενέργειες που πραγματικά, η οποία απαιτεί την PHP script. Δημιουργία πίνακα και ΠΙΝΑΚΑΣ DROP έχουν ως κοινό σε SQL ενέσεις και χρησιμοποιούνται στις περισσότερες εφαρμογές PHP δεν απαιτείται. Φιλοξενεί πολλαπλές ιστοσελίδες με πολλαπλές βάσεις δεδομένων σε ένα διακομιστή, θα πρέπει να δημιουργήσετε τις δικές σας βάσεις δεδομένων για όλους τους χρήστες. Έτσι, μετά από μια επιτυχημένη επίθεση, ένας εισβολέας έχει πρόσβαση μόνο σε μία από τις βάσεις δεδομένων και δεν είναι άμεσα καθόλου. Εάν δεν θέλετε να δοκιμάσετε τη γραμμή εντολών για τη διαχείριση των λογαριασμών των χρηστών της MySQL, διαχείριση χρηστών λειτουργεί επίσης αρκετά εύκολο με το phpMyAdmin στο πλαίσιο των "δικαιωμάτων" καρτέλα.
9ο PHP μηνύματα λάθους από
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.";
?>
USB Spickzettel: So sehen USB Stecker aus
Im Bild zu sehen von links nach rechts: Micro USB "B" - Mini USB "B" - Mini USB "B" 5 Pin - USB "A" weiblich - USB "A" männlich - USB "B" männlich
Out of the box mit Ubuntu – LogiLink WL0049A Wireless N USB Wifi WLAN Stick
Es ist mal wieder an der Zeit für Out-Of-The-Box Hardware für Ubuntu. Der Low-Budget USB WLAN-Stick von LogiLink funktioniert sofort ohne Konfiguration und Treiberinstallation unter einem aktuellen Ubuntu 10.10. Nach dem Einstecken ist im Netzwerkmanager sofort die Liste der verfügbaren WLANs verfügbar. Nicht schlecht für einen absoluten Low-Budget Stick (ca. 10 Euro). Mit den teureren von Netgear und Konsorten hat man leider einige Probleme mehr. Lediglich die Empfangsstärke ist nicht berauschend. Falls sich der Accesspoint oder Router im selben Raum befindet, hat man jedoch keine Probleme.
So meldet sich der Stick nach dem Einstecken:
Jan 27 15:15:48 box kernel: [50425.764049] usb 2-1: new high speed USB device using ehci_hcd and address 7 Jan 27 15:15:48 box kernel: [50425.916061] === pAd = f89cc000, size = 472668 === Jan 27 15:15:48 box kernel: [50425.916063] <-- RTMPAllocAdapterBlock, Status=0 Jan 27 15:15:48 box kernel: [50426.212122] <-- RTMPAllocTxRxRingMemory, Status=0 Jan 27 15:15:48 box kernel: [50426.214376] -->RTUSBVenderReset Jan 27 15:15:48 box kernel: [50426.214495] <--RTUSBVenderReset Jan 27 15:15:48 box kernel: [50426.495844] 1. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.495847] 2. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.495849] NVM is Efuse and its size =2d[2d0-2fc] Jan 27 15:15:48 box kernel: [50426.556586] RTMPSetPhyMode: channel is out of range, use first channel=1 Jan 27 15:15:48 box kernel: [50426.573077] 3. Phy Mode = 0 Jan 27 15:15:48 box kernel: [50426.578953] MCS Set = 00 00 00 00 00 Jan 27 15:15:48 box kernel: [50426.638326] <==== rt28xx_init, Status=0 Jan 27 15:15:48 box kernel: [50426.639953] 0x1300 = 00073200 Jan 27 15:15:49 box kernel: [50426.924845] ---> RTMPFreeTxRxRingMemory Jan 27 15:15:49 box kernel: [50426.924866] <--- RTMPFreeTxRxRingMemory Jan 27 15:15:49 box kernel: [50427.195749] <-- RTMPAllocTxRxRingMemory, Status=0 Jan 27 15:15:49 box kernel: [50427.198006] -->RTUSBVenderReset Jan 27 15:15:49 box kernel: [50427.198133] <--RTUSBVenderReset Jan 27 15:15:49 box kernel: [50427.484608] 1. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.484610] 2. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.484612] NVM is Efuse and its size =2d[2d0-2fc] Jan 27 15:15:49 box kernel: [50427.557222] 3. Phy Mode = 0 Jan 27 15:15:49 box kernel: [50427.563097] MCS Set = 00 00 00 00 00 Jan 27 15:15:49 box kernel: [50427.625962] <==== rt28xx_init, Status=0 Jan 27 15:15:49 box kernel: [50427.627588] 0x1300 = 00073200 Jan 27 15:15:54 box kernel: [50432.648580] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 483 Jan 27 15:15:59 box kernel: [50437.679264] ===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 308 Jan 27 15:15:59 box kernel: [50437.679356] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
Mehrere Videos synchron ferngesteuert übers Netzwerk starten mit VLC
Eine befreundete Designstudentin wollte für die Präsentation ihrer Diplomarbeit eine Videoinstallation aufbauen. Auf im Raum angeordneten Fernsehern sollten parallel 3 von ihr erstellte Filme laufen und gleichzeitig gestartet werden. Die 3 Filme sind so geschnitten, dass sie gemeinsam ein Gesamtkunstwerk (und hoffentlich eine gute Abschlussnote) ergeben. Ein Veranstaltungsunternehmen verlangte für den Aufbau einige 1000 Euro. Das überstieg das Budget meiner Bekannten leider um einige 1000 Euro, deshalb haben wir den Aufbau selbst mit Open Source Software zusammengefrickelt. 3 (Windows)-Notebooks wurden per HDMI an die jeweiligen Fernseher angeschlossen und über einen Switch vernetzt. Ein viertes (Linux)-Notebook diente als zentraler Steuerrechner. Der VLC Media-Player bietet neben einer hervorragenden Unterstützung fast aller Videoformate auch viele weitere nützliche Funktionen. In diesem Aufbau kam das Remote Control Interface des VLC zum Einsatz, das es ermöglicht, den Player übers Netzwerk oder das Internet komplett fernzusteuern.
Die Windows Rechner bekamen die IP's 192.168.0.1 bis 192.168.0.3. Der Linux-Steuer-Rechner die IP 192.168.0.100.
Das Fernsteuerungsskript ist angelehnt an das Tutorial von Markus Berg (vielen Dank).
#/bin/bash
ip[0]="192.168.0.1"
ip[1]="192.168.0.2"
ip[2]="192.168.0.3"
port=20000
function send_cmd {
for address in ${ip[@]}
κάνω
echo "$1" | nc $address $port &
done
}
while ( [ 1 ] )
κάνω
καθαρίσετε
echo "Video Command"
echo
echo " s | START"
echo " p | PAUSE/PLAY"
echo " z | ZURUECKSPULEN"
echo " zp | ZURUECKSPULEN + PAUSE"
echo " f | VOLLBILD AN/AUS"
echo " b | Beenden"
echo
echo
echo
echo -n "Kommando? "
read command
case "$command" in
s)
send_cmd play
;;
p)
send_cmd pause
;;
z)
send_cmd prev
;;
zp)
send_cmd prev
perl -e 'select(undef,undef,undef,.3)'
send_cmd pause
;;
f)
send_cmd fullscreen
;;
β)
έξοδος
;;
esac
done;
Dieses Skript auf dem Steuerungsrechner ergibt dieses spartanische menü:
Video Command s | START p | PAUSE/PLAY z | ZURUECKSPULEN zp | ZURUECKSPULEN + PAUSE f | VOLLBILD AN/AUS b | Beenden Kommando?
Auf den Windowsrechner musste nun nur noch aus der Windows-Konsole heraus VLC im Remote Control Modus gestartet werden:
vlc --extraintf oldrc --rc-host 192.168.0.1:20000
Nun wurde noch das Video in die jeweilige VLC-Playlist eingefügt. Die Fernsteuerung war fertig.
Leider gab es (wie fast immer) einige Fallstricke. Bei unseren Tests zickte zunächst die Windows-Firewall herum. Für die Präsentation musste diese deaktiviert werden. Generell war Windows keine besonders gute Wahl für die Präsentation, da Update-Meldungen, Avira-Popups und andere Nervereien natürlich im Video ziemlich peinlich wirken. Die Windows-Rechner mussten ziemlich kastriert werden. Firewalls, Virenscanner und Automatische Updates wurden deaktiviert. Zahlreiche Programme, die es sich im Tray gemütlich gemacht hatten, wurden deinstalliert. Im Endeffekt würde ich beim nächsten Mal das Abspielen auch mit Linux Clients realisieren, die aber wegen des Zeitdrucks nicht verfügbar waren.
Milestone flashen unter Linux mit sbf_flash
Ich habe bisher Windows nur noch für eine einzige Sache benötigt: Um mein Motorola Milestone mit neuer Firmware zu beflashen . Dafür waren bisher ein spezieller USB-Treiber und ein Flashtool von Motorola notwendig. Diese gab es nur für Windows und aus VirtualBox heraus haben sie nicht funktioniert. [mbm], ein Android Hacker aus #milestone-modding auf irc.freenode.net hat jetzt eine Binary zusammengebastelt, mit der es auch wunderbar unter Linux funktioniert. Getestet wurde es von mir unter Ubuntu 10.10. Leider gibt es keinen Quelltext zu der App, aber es funktioniert einwandfrei. Viele andere User bestätigen das hier in der offiziellen Bekanntmachung: http://blog.opticaldelusion.org/2010/05/sbfflash.html
Download: Original | Lokaler Mirror
So sieht ein Flashvorgang mit sbf_flash aus:
box-root-18:01:33 /home/ww/Desktop -> ./sbf_flash ./GOT_DACH_GERMANY_2_2_1FULL.sbf SBF FLASH 1.08 (mbm) === GOT_DACH_GERMANY_2_2_1FULL.sbf === 00: RDL03 0x82000000-0x8204CFFF 2FC7 AP 01: CG31 0xB01C0000-0xB01C47FF 24FE AP 02: CG33 0xD13FB000-0xD1BB783F E479 AP 03: CG34 0xB03A0000-0xB03A47FF CC19 AP 04: CG35 0xB07A0000-0xB0A607FF 888E AP 05: CG36 0xF0B7D000-0xF0BE083F 6799 AP 06: CG37 0xE4034000-0xE40379BF 9325 AP 07: CG39 0xD1D64000-0xDADE583F 6DA8 AP 08: CG40 0xDD2E4000-0xDD2E483F FDFF AP 09: CG42 0xB06A0000-0xB06DFFFF 73E3 AP 10: CG45 0xB0B20000-0xB0E207FF 79ED AP 11: CG47 0xB0EE0000-0xB12A07FF 679E AP 12: CG53 0xCFD80000-0xCFD807FF FDFF AP 13: CG61 0xB0640000-0xB06607FF 6C74 AP Milestone found. >> uploading RDL03 Uploading: 100% OK >> verifying ramloader -- OK >> executing ramloader Milestone found. >> sending erase >> uploading CG31 Uploading: 100% OK >> uploading CG33 Uploading: 100% OK >> uploading CG34 Uploading: 100% OK >> uploading CG35 Uploading: 100% OK >> uploading CG36 Uploading: 100% OK >> uploading CG37 Uploading: 100% OK >> uploading CG39 Uploading: 100% OK >> uploading CG40 Uploading: 100% OK >> uploading CG42 Uploading: 100% OK >> uploading CG45 Uploading: 100% OK >> uploading CG47 Uploading: 100% OK >> uploading CG53 Uploading: 100% OK >> uploading CG61 Uploading: 100% OK >> verifying CG31 -- OK >> verifying CG33 -- OK >> verifying CG34 -- OK >> verifying CG35 -- OK >> verifying CG36 -- OK >> verifying CG37 -- OK >> verifying CG39 -- OK >> verifying CG40 -- OK >> verifying CG42 -- OK >> verifying CG45 -- OK >> verifying CG47 -- OK >> verifying CG53 -- OK >> verifying CG61 -- OK >> rebooting









