Neglector Tweet. Ένα μικρό PHP script το για να διαγράψετε παλιά tweets από το Twitter
Tweet αυτοματοποιεί τη διαδικασία της Neglector διαγραφή παλιών tweets από το λογαριασμό σας στο Twitter. Βασικά θα προσφέρει στην "εκπνεύσει" λειτουργικότητα για τα tweets σας. Είναι χρήσιμο για τους ανθρώπους που θέλουν να χρησιμοποιήσουν το Twitter, αλλά δεν θέλουν μια ιστορία tweets τους να μείνουν σε απευθείας σύνδεση για δεκαετίες.
ΙΣΤΟΡΙΑ: 20 Νοέμβρη του 2011 | Έκδοση 0.1 Πρώτη έκδοση. Διαγράφει Tweets 28η Δεκεμβρίου 2011 | Έκδοση 0.2 Μικρές διορθώσεις σφαλμάτων. Τώρα retweets διαγράφει επίσης. Γνωστά σφάλματα: - Δεν θα δουλέψει αν tweet πάνω από 1000 tweets στο χρονικό διάστημα που σχεδιάζετε να κρατήσει tweets. Ίδιο πράγμα για retweets (100 επιτρέπονται). Αυτές είναι ελλείψεις του Twitter API GET Είμαι με τη χρήση ΑΤΜ. Ίσως εγώ θα διορθώσω αυτό με την επόμενη έκδοση
Tweet Neglector χρησιμοποιεί το Twitter API για να διαγράψετε όλα τα tweets σας που στάλθηκαν πριν από ένα συγκεκριμένο αριθμό ημερών από σήμερα. Με αυτό τον τρόπο μπορείτε να ρυθμίσετε τη δέσμη ενεργειών για να διαγράψετε όλα τα tweets που είναι παλαιότερα από μια εβδομάδα ή ένα μήνα, για παράδειγμα. Το σενάριο πρέπει να εκτελείται αυτόματα από μια περιοδική εργασία ή άλλο μηχανισμό αυτοματοποίησης σε τακτική βάση.
Αυτό το σενάριο δεν μπορεί να σας προστατεύσει από τις εξωτερικές αρχεία Tweet. Έτσι είναι άγνωστο αν διαγράφονται tweets αρχειοθετούνται ήσυχα από το Twitter (Πάω στοίχημα ότι είναι). Έτσι (όπως πάντα), ότι πριν από tweeting.
Tweet Neglector χρησιμοποιεί PHP ως γλώσσα δέσμης ενεργειών και τα δέματα Twitter OAuth βιβλιοθήκη από Matt Harris για πρόσβαση API.
Εγκατάσταση
- PHP5 που απαιτούνται για tmhOAuth - Αποσυμπιέστε το αρχείο σε έναν κατάλογο της επιλογής σας. - Εγγραφή στο Twitter τα κλειδιά σας στο API 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, κονσόλα, ή αυτόματα από cronjob / usr / bin / php / var / www / tweetneglector / tweetneglector.php
Tweet Neglector 0,2 κατεβάσετε εδώ
HOWTO: Γρήγορη και βρώμικο DHCP server και DNS cache με dnsmasq στο Ubuntu
DHCP στο LAN είναι πρακτικό. Μία δεν χρειάζεται πλέον να διαχειριστεί τη διαμόρφωση του δικτύου του κάθε υπολογιστή στο δίκτυο οι ίδιοι στους πελάτες, αλλά όλα έχουν μια υπέροχη κεντρική τοποθεσία στο διακομιστή. Εκτός από την προσωρινή αποθήκευση DNS πελάτες λίγο χρόνο πρέπει να γίνει κατά την επίλυση ονόματα κεντρικών υπολογιστών, δεδομένου ότι τα ερωτήματα μπορεί να εφαρμοστεί σε γνωστά ονόματα από την τοπική μνήμη cache υποδοχής και όχι σε ένα διακομιστή στο Internet.
Ένα μικρό διακομιστής DHCP έχει ρυθμιστεί πολύ γρήγορα με dnsmasq.
# Εγκαταστήστε dnsmasq apt-get install dnsmasq
Η διαμόρφωση γίνεται σε κεντρικό επίπεδο στο αρχείο / etc / dnsmasq.conf. Δεν θα πρέπει να φύγω πριν από το συμπυκνωμένο επιλογές ρύθμισης παραμέτρων στο αρχείο αποθαρρύνονται. Σχεδόν τα πάντα είναι μόνο ένα παράδειγμα και είναι εξ 'ορισμού σε σχόλια. Μια πολύ σύντομη 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-host = 00:11:22:33:44:55, λόμπι, 192.168.1.1,12 h dhcp-host = 00:11:22:33:44:66, Lobby2, 192.168.1.2,12 h # Κάθε υπολογιστής που δεν μπορούν να προσδιοριστούν από MAC λάβετε IPs # Από την πισίνα του 192.168.1.120 έως 150 dhcp-range = 192.168.1.120,192.168.1.150,12 h
DNS
Η λειτουργία του DNS dnsmasq δεν χρειάζεται ρύθμιση.
dnsmasq ανησυχεί nameservers του από το / etc / resolv.conf. Εδώ θα πρέπει να
γνωστό το όνομα διακομιστή του φορέα παροχής καταγράφονται και ενδεχομένως ακόμη και ως εφεδρική
8.8.8.8 για τους διακομιστές DNS της Google.
Περισσότερα hostnames ότι θα πρέπει να εφαρμόζονται στο τοπικό δίκτυο μπορεί, dnsmasq στο αρχείο
Να / etc / hosts γίνονται γνωστά. Εδώ είναι όλοι οι υπολογιστές καταχωρηθεί hostnames
στο LAN.
Παγίδες
dnsmasq ανάγκη να ξαναδιαβάσει τις ρυθμίσεις του αρχεία Konfigänderungen
/ Etc / init.d / dnsmasq επανεκκίνηση
Εάν οι πελάτες δεν έχουν μίσθωση από το παλιό διακομιστή DHCP, μπορείτε να το χέρι φέρτε το να ξεκινήσετε μια νέα αίτηση DHCP.
# Linux dhclient eth0 # Των Windows ipconfig / release ipconfig / renew
Επειγόντως πρέπει να είμαστε προσεκτικοί, μέχρι στιγμής για χρήση οπουδήποτε DHCP server (συνήθως στο router με το Διαδίκτυο) για να απενεργοποιήσετε. 2 DHCP server στο LAN μπορεί να δημιουργήσει πολλά χάος.
Wireless για 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 μαύρη λίστα b43legacy μαύρη λίστα 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 ήσυχη splash"
sudo update-grub2
5ο Ισχύς κανόνα Διαχείρισης δημιουργούν
# / Etc / pm / sleep.d / ndiswrapper # / Bin / bash περίπτωση "$ 1" σε αδρανοποίησης | αναστείλει) sudo rmmod ndiswrapper ?? απόψυξης | βιογραφικό) sudo modprobe ndiswrapper ?? *) ?? ESAC έξοδο από $;
chmod + x / etc / pm / sleep.d / ndiswrapper
6ο Επανεκκίνηση
Στη συνέχεια, το ασύρματο τρέχει γρήγορα και σταθερά.
PHP σκονάκι
Εδώ έχω συλλέξει χρήσιμες PHP κώδικα αποσπάσματα
Ψευδο multithreading με οθόνη
# / Usr/bin/php5 για! ($ I = 1? $ I <50? $ I + +) {echo "ξεκινώντας $ i \ n"? Νήμα exec ("οθόνη-d-m / usr/bin/php5 /. . php ")?} MySQL server έχει πάει μακριά σε μακροχρόνια PHP scripts 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 zickt στο Ubuntu γύρω από ένα κομμάτι. Περιστασιακά είδε ο Διαχειριστής Δικτύου ως μόντεμ USB, αλλά και πάλι δεν μπορούσε να συνδεθεί. Μετά από μερικές ανεπιτυχείς Frickelei Είμαι στο σενάριο Sakis3G αντιμετώπισε, το οποίο υπόσχεται να παράγουν σχεδόν όλες τις μονάδες δίσκου μπορεί να συνδεθεί. Και πράγματι: Έχει Sakis3G λειτουργεί αμέσως. Συνιστάται, και πιθανώς για άλλα sticks.
ΠΛΑΚΑ XS Stick W14 P / N 3000.000056.00 www.4g-systems.com
# Lsusb Bus 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 αποσύνδεση, Διεύθυνση 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-port) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819577] usb 2-2: μόντεμ GSM (1-port) μετατροπέα που αποδίδεται σήμερα στην ttyUSB0 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819802] επιλογή 2-2:1.1: μόντεμ GSM (1-port) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.819950] usb 2-2: μόντεμ GSM (1-port) μετατροπέα που αποδίδεται σήμερα στην ttyUSB1 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.820220] επιλογή 2-2:1.2: μόντεμ GSM (1-port) μετατροπέα ανιχνευθεί 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.820395] usb 2-2: μόντεμ GSM (1-port) μετατροπέα που αποδίδεται σήμερα στην ttyUSB2 19 του Ιουνίου 20:41:07 πυρήνα κουτί: [74189.821414] scsi12: usb-storage 2-2:1.3 19 του Ιουνίου 20:41:07 κουτί modem-manager [10 480]:(TtyUSB1) το άνοιγμα σειριακή θύρα .. 19 του Ιουνίου 20:41:07 κουτί modem-manager [10 480]: (TtyUSB0) το άνοιγμα σειριακή θύρα .. 19 του Ιουνίου 20:41:07 κουτί modem-manager [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 USBmod Disk 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 ρίζα ασφαλή
Hacking η συχνότητα έχει αυξηθεί σημαντικά τους τελευταίους μήνες. Ειδικά πολλά δεδομένα για να ενταχθεί από αμυχές στο web servers. Ακόμη και η Sony PSN hack εκμεταλλεύθηκαν μια unpatched ευπάθεια στο διακομιστή Apache Web. Γι 'αυτό συλλέγει δράση εδώ, ο διακομιστής μπορεί να δική ένα κομμάτι ασφαλέστερο από επιθέσεις από το εξωτερικό. Φυσικά, αυτό επίσης δεν παρέχει 100% προστασία, αλλά είναι καλύτερο να κάνουν τους κακούς το παιχνίδι λίγο πιο δύσκολο. Μερικά από τα μέτρα που απαιτούν μόνο μια ελάχιστη εγκατάσταση και συντήρηση. Άλλοι χρειάζονται πολύ χρόνο και τη γνώση της PHP για να πιάσει. Κάποιος πρέπει πάντα να ψάξουν για τη σχέση κόστους-οφέλους για την επιλογή των μέτρων ασφαλείας. Δεν έχει κανένα νόημα για την προστασία της ένα μικρό, ιδιωτικό χώρο όπως η Ομοσπονδιακή Κεντρική Τράπεζα των ΗΠΑ. Ωστόσο, λίγες συγκεκριμένες αλλαγές στο σύστημα έχει ήδη ένα μεγάλο σημαίνουν περισσότερη ασφάλεια. Και αυτό θα πρέπει να αντιμετωπίσει ακόμη και πριν είναι πολύ αργά ....
Όλες οι συμβουλές και Codesnips αναφέρονται σε ένα τρέχον πλαίσιο του Debian.
Πρώτα Το τείχος προστασίας - μια φορά τα πάντα να απαγορεύουν
Οι περισσότερες διανομές Linux σε εγκαταστάσεις προεπιλεγμένες ανοικτές θύρες οποιαδήποτε προς τα έξω ότι δεν είναι απολύτως απαραίτητο. Αυτή η κατάσταση μπορεί να αλλάξει γρήγορα, όμως, ακόμα και όταν ο διακομιστής
παίζοντας γύρω και προσπαθώντας πράγματα. Ξαφνικά το διακομιστή πολυμέσων ακούει στο Διαδίκτυο ή η βάση δεδομένων
δέχεται συνδέσεις από το Internet. Ως εκ τούτου, δεν είναι λάθος να τους πειθαρχία και να δημιουργήσει μια πολύ περιοριστική τείχος προστασίας που ουσιαστικά απαγορεύει τη στιγμή που όλες οι συνδέσεις από το εξωτερικό και επιτρέπει μόνον την (αυτο-) επιλεγμένων ενώσεων. Ευτυχώς, αυτό γίνεται γρήγορα με iptables. Με τον τρόπο αυτό δεν μπορούμε πλέον να παρέχουν υπηρεσίες να καταστούν προσβάσιμα στον κόσμο ότι δεν έχουν καμία επιχειρηματική εκεί. Δυστυχώς, πληρώνετε μια μικρή άνεση - το τείχος προστασίας πρέπει να αναπροσαρμόζονται κάθε χρόνο, όταν θα ήθελαν να προσφέρουν νέες υπηρεσίες. Παρ 'όλα αυτά, η προσπάθεια είναι μικρή και τα οφέλη μεγάλα.
# / Bin / bash # Διαγραφή υπάρχοντες πίνακες iptables-F # Απαγόρευση όλων των εισερχόμενων συνδέσεων iptables-P INPUT DROP iptables-P FORWARD DROP # Αφήστε όλα τα εξερχόμενα iptables-P OUTPUT ACCEPT # Αφήστε 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 state - που έχει δημιουργηθεί, ΣΧΕΤΙΚΑ-j ACCEPT
Αυτό το μικρό κορμό μπορούμε απλά να συνεχίσει να επεκτείνει και να προσθέσετε τις δικές τους υπηρεσίες. Όταν εργάζονται για το τείχος προστασίας, θα πρέπει πάντα διατάξεις για την περίπτωση που κλειδώνει οι ίδιοι. Ειδικά σε απομακρυσμένους διακομιστές για το οποίο δεν έχετε φυσική πρόσβαση, είναι πολύ ενοχλητικό να χάσει από μια ανεπιτυχή δική της πρόσβαση στον κανόνα τείχους προστασίας. Για να αποφευχθεί αυτό το πρόβλημα από τη μέση, μπορεί κανείς να αρχίσει να εργάζεται για το τείχος προστασίας προσωρινά μόνο μια περιοδική εργασία που επαναφέρει το τείχος προστασίας κάθε λίγα λεπτά ή την επανεκκίνηση του διακομιστή. Οι κανόνες είναι αργότερα δοκιμαστεί και αγάπησε, ο cronjob θα απενεργοποιηθεί και οι νέοι κανόνες παραμένουν μόνιμα ενεργό.
Για να μάθετε για το τι υπηρεσίες μόλις ακούσετε το δικό σας διακομιστή, μπορείτε να χρησιμοποιήσετε το netstat:
# Για το TCP sockets: netstat-LPN | grep tcp # Ομοίως για UDP: netstat-LPN | grep UDP
Για να ελέγξετε εάν το τείχος προστασίας λειτουργεί πραγματικά, μπορείτε να σαρώσετε λιμάνι δικό σας διακομιστή από έναν άλλο υπολογιστή. Είναι όλα τα επεξεργαστεί, θα πρέπει να εμφανίζονται στο αποτέλεσμα μόνο της ακόμα και τα λιμάνια που είναι ανοικτά:
# Για το TCP: nmap-P1-65 535 meinserver.de # Για UDP: nmap-SU-P1-65 535 meinserver.de
Δεύτερος SSH απαγόρευση συνδέσεις
Με δική του διακομιστή ρίζα του έχει απεριόριστη πρόσβαση SSH. Αυτό είναι αρκετά βολικό, μπορείτε από οποιοδήποτε πελάτη SSH στο διακομιστή φορές απλά για να εργάζονται σε αυτό. Το μειονέκτημα αυτού είναι ότι η πορεία μπορεί κάποιος ο οποίος δυστυχώς έχει κάπως αναλάβει τις δικές τους κωδικούς τους. Είναι πολύ ασφαλέστερο να επιτρέπουν SSH συνδέσεις μόνο με ένα έγκυρο κλειδί αρχείο. Είναι το δημόσιο κλειδί του πελάτη στο διακομιστή και να αντιγραφούν διαδραστικές συνδέσεις είναι άτομα με ειδικές ανάγκες με την εισαγωγή ενός κωδικού πρόσβασης.
# Στο πελάτης, δημιουργήστε ένα δημόσιο κλειδί # Σε περίπτωση που ορίζεται κατά τη δημιουργία ενός κωδικού πρόσβασης, κάποιος πρέπει να # Είσοδος αργότερα το αρχείο κλειδιού και τον κωδικό πρόσβασης. Αλλιώς # Χρειάζονται μόνο τα βασικά. ssh-keygen-t RSA # Το κλειδί που δημιουργείται στη συνέχεια να αντιγράψετε στο διακομιστή ssh-copy-id-i ~ /. ssh / id_rsa.pub root@meinserver.de Στη συνέχεια, προσαρμόζει # sshd_config στον server / etc / ssh / . . PasswordAuthentication δεν . . # Στη συνέχεια, νέο ξεκίνημα SSH / Etc / init.d / ssh επανεκκίνηση
Ακόμα και εδώ θα πρέπει κανείς να λαμβάνουν προφυλάξεις για να μην αποκλείσει ακόμη και αν κάτι δεν λειτουργεί.
Το δημόσιο κλειδί σε ένα USB stick με τον αντίστοιχο κωδικό πρόσβασης στο κεφάλι σας καθιστά πολύ πιο δύσκολο για τους κακούς να έχετε ένα τερματικό.
Τρίτος SSH Bruteforcing πρόληψη denyhosts
Εάν η συμβουλή δεν είναι πρακτικό και ένα δύο εγκαταλείψουν την άνεση του κωδικού πρόσβασης που βασίζεται συνδέσεις θέλετε, μπορείτε τουλάχιστον να αποτρέψει την αυτόματη ποσοστά κωδικό του επιτιθέμενους στο διακομιστή. Πολλά bots στο διαδίκτυο όλη την ημέρα ψάχνουν να κάνουν τίποτα περισσότερο από το να SSH σας και να δοκιμάσετε σε διάφορους κωδικούς πρόσβασης σας. Με μια αρκετά ασφαλή κωδικό πρόσβασης δεν είναι ένα μεγάλο πρόβλημα, αλλά υπάρχει μια καλύτερη αίσθηση, ακόμα και αν αυτό είναι δυνατόν. Επιπλέον, προστατεύει επίσης τους χρήστες του, αν υπάρχουν σχετικά με τους λογαριασμούς του διακομιστή και του χρήστη. Εδώ, δεν μπορείτε να εμπιστεύεστε ότι οι χρήστες χρησιμοποιούν ασφαλείς κωδικούς πρόσβασης. denyhosts ελέγχεται συνεχώς σε ssh συνδέσεις και κλειδαριές χρήστη για ένα ορισμένο χρονικό διάστημα, οι οποίες έχουν τεθεί τον κωδικό πρόσβασής τους λανθασμένα επαναλαμβάνεται. Η IP των χρηστών προσωρινά πηγαίνετε στο / etc / hosts.deny, ώστε να μπορούν πλέον να έχουν πρόσβαση σε είναι δυνατή. Αυτό το SSH Bruteforcing σε μια πολύ χρονοβόρα και δεν είναι πολύ ελπιδοφόρα εργασία.
apt-get denyhosts εγκατάσταση # Denyhosts λειτουργεί αμέσως μετά την εγκατάσταση. Μπορεί να είναι # Στο αρχείο / etc / denyhosts.conf τελειοποιήσουν
4ο Μαύρες λίστες που χρησιμοποιούνται για να καλύψετε τους γνωστούς IPs πρόβλημα
Σε διάφορες μαύρες λίστες του Internet διατηρούνται, τα οποία απαριθμούν ένα μεγάλο αριθμό εγκληματικών / ψιλοκομμένο / spammy / δόλια servers. Αυτές οι λίστες IP μπορεί να εισαχθεί απευθείας στο τείχος προστασίας, έτσι ώστε όχι από αυτό γνωστό είναι σε αξιόπιστους servers καμία σύνδεση δεν είναι πλέον δυνατή στον δικό σας διακομιστή. Έτσι μπορείτε να μειώσετε την ποσότητα των spam με δική τους server, αλλά και δραστικά ένα πράγμα ή script-kiddie lock out, γιατί ρωσικά μεσολάβησης του σταματά ξαφνικά εργασίας. Πώς να το κάνουμε αυτό έχω σε ένα άλλο άρθρο στο blog περιγράφεται το παράδειγμα της μαύρης λίστας του Infiltrated.net.
5ο Μην χρησιμοποιείτε το FTP για να εργαστούν στο διακομιστή
FTP είναι ένα κειμήλιο καλύτερες μέρες, όταν το Διαδίκτυο ήταν ένα μικρό χωριό ακόμα αξιόπιστες. Πολλοί διαχειριστές των ιστοσελίδων εξακολουθούν να χρησιμοποιούν το FTP για τη μεταφορά αρχείων στον server ή να εργαστούν για το δικό σου site. Δυστυχώς, αυτό είναι πολύ αβέβαιη, επειδή FTP μεταδίδει όλα τα δεδομένα ακάλυπτο. Οι κωδικοί πρόσβασης και τα δεδομένα μπορούν να διαβαστούν χωρίς προβλήματα σε κάθε hop μεταξύ των διακομιστών και των πελατών. Είναι πολύ πιο ασφαλές με sshfs. Σας επιτρέπει να τοποθετήσετε έναν κατάλογο μέσω SSH στο τοπικό σύστημα αρχείων του απομακρυσμένου διακομιστή. Κάποιος μπορεί στη συνέχεια να εργαστούμε στον server σαν να ήταν στον τοπικό υπολογιστή. Η πρόσβαση αρχείων σε αρχεία στον server είναι εντελώς διαφανής, ώστε να μπορείτε επίσης να ανοίξετε το πρόγραμμα, μια τοπική γραφική εικόνα στον server, να επεξεργαστείτε και να αποθηκεύσετε ξανά. Περισσότερη άνεση και ασφάλεια χωρίς πολλή προσπάθεια.
# Εγκαταστήστε sshfs apt-get sshfs εγκατάσταση # Δημιουργία mountpoint στο τοπικό σύστημα αρχείων mkdir / media / ο_διακομιστής_μου # Διακομιστή στο τοπικό mount σύστημα αρχείων www-data@mein-server.de sshfs: / var / www / media / ο_διακομιστής_μου # Τώρα ο κατάλογος / var / www σε τοπικό διακομιστή μου κάτω από το / media / ο_διακομιστής_μου διαθέσιμες
6ο Εγκατάσταση ενημερωμένων εκδόσεων
Ένα super ασφαλές σύστημα δεν θα βοηθήσει εάν το ίδιο το σύστημα είναι ελαττωματική και μια γνωστή ευπάθεια μπορεί να εκμεταλλευθεί. Στις περισσότερες περιπτώσεις, αυτά τα κενά ασφαλείας γρήγορα, συχνά ξεχνάμε, όμως, τακτικές ενημερώσεις του συστήματος admins να κάνουν. Είτε θα πρέπει να ενεργοποιήσετε τις αυτόματες ενημερώσεις σε Linux servers ή δεν είναι ένα επίμαχο ζήτημα. Μερικοί δεν θα το κάνουμε επειδή λειτουργεί φυσικά με πολύ κακή τύχη μπορεί να είναι ότι οι ενημερώσεις να καταστεί το σύστημα άχρηστο. Αυτό συνέβη σε μένα σε πάνω από 10 χρόνια εργασίας σε Debian συστήματα, αλλά ποτέ και εκτιμώ τα οφέλη από την έγκαιρη και τακτική ενημέρωση, πολύ υψηλότερο από την προκύπτουσα κίνδυνο.
# Αυτή η γραμμή στο / etc / crontab, ενημερώνει το ρολόι του συστήματος κάθε μέρα στις 6 π.μ. 0 6 * * * root apt-get update & & apt-get-y αναβάθμιση
Αυτά γρήγορη και βρώμικη μέθοδος λειτούργησε για μένα μέχρι τώρα πάντα καλό. Διάβασα πρόσφατα ότι στο αποθετήριο πακέτων στο Debian υπάρχει και αφύλακτο-αναβαθμίσεις, η οποία λύνει το πρόβλημα μάλλον κάτι πιο κομψό, αλλά δεν έχουν δοκιμαστεί.
Ακόμη και με ένα πλήρως αυτοματοποιημένο σύστημα ενημερώσεων, αυτό δεν είναι εντελώς από το γάντζο. Εάν μια ενημέρωση του πυρήνα έχει παραδοθεί, θα πρέπει να εκκινήσετε το σύστημα για άλλη μια φορά με το χέρι, αλλιώς οι αλλαγές δεν θα γίνει ενεργό.
Αν κάποιος χρησιμοποιεί μη-PHP κώδικα στο διακομιστή, όπως ένα open source CMS ή ένα φόρουμ, είναι απολύτως απαραίτητο, φυσικά, επίσης αυτόν τον κώδικα με νέες εκδόσεις μέχρι σήμερα. Δεδομένου ότι η Debian δεν ενημερώνει με τις αλλαγές στις εφαρμογές της σε αυτές περιλαμβάνει κανόνες, χειρωνακτική εργασία είναι απαραίτητη εδώ. Στην καλύτερη περίπτωση, μπορείτε να διαβάσετε τις λίστες των σχετικών προϊόντων να είναι πάντα ενημερωμένο.
7ο PHP με open_basedir φυλακίζουν
Πολλοί αμυχές με βάση το γεγονός ότι ένα θέμα ευπάθειας στον κώδικα PHP χρησιμοποιείται για την πρόσβαση στα αρχεία όσον αφορά την πρόσβαση σύστημα αρχείων που δεν ανήκουν στην περιοχή, αλλά το ίδιο το σύστημα γιατί θα πρέπει να κλειδώνουν την PHP, έτσι ώστε να διαβάσει μόνο σε ειδικά καθορισμένα καταλόγους και να γράφουν μπορεί. Γι 'αυτό, το php.ini το open_basedir διαμόρφωσης επιλογή. PHP έχει τη δυνατότητα να θέσει μόνο επιτρέπεται η πρόσβαση στους καταλόγους εκεί. Αρχεία όπως το / etc / passwd είναι μακριά. Φιλοξενία πολλαπλές ιστοσελίδες σε ένα διακομιστή, θα πρέπει να θέσετε open_basedir σε κάθε VirtualHost διαμόρφωση για κάθε σελίδα.
# Παγκόσμια php.ini μέσω: # / Etc/php5/apache2/php.ini open_basedir = / var / www /: / tmp / # Ανά ιστοθέση στα config VirtualHost: php_value open_basedir / var / www / site /: / tmp /
Είναι σημαντικό να εξεταστεί αν έχουν όλα τα sites έχουν προστεθεί στην σενάρια συνήθως πρέπει να έχουν πρόσβαση, σε αντίθετη περίπτωση, μπορεί να είναι ότι είστε άτομα με ειδικές ανάγκες και των νόμιμων λειτουργίες της εφαρμογής PHP.
8ο Δημιουργήστε τις δικές σας ιστοσελίδες για τους χρήστες MySQL
Χρησιμοποιεί το δικό PHP-MySQL την εφαρμογή του, θα πρέπει να είναι απολύτως δημιουργήσει για Apllikation ένα ξεχωριστό χρήστη MySQL και σε καμία περίπτωση τη χρήση της MySQL αιτήματα χρήστης root. Θα πρέπει επίσης να περιορίσει τα δικαιώματα του χρήστη, μέχρι τώρα που είναι πραγματικά επιτρέπονται μόνο οι ενέργειες, που απαιτούν το PHP script. CREATE TABLE και TABLE DROP είναι τα κοινά σε SQL ενέσεις χρησιμοποιούνται και στις περισσότερες εφαρμογές PHP δεν απαιτείται. Φιλοξενεί σε διάφορες τοποθεσίες με πολλαπλές βάσεις δεδομένων σε ένα διακομιστή, θα πρέπει να δημιουργήσετε τις δικές σας βάσεις δεδομένων για όλους τους χρήστες. Έτσι, μετά από μια επιτυχημένη επίθεση, ένας εισβολέας έχει πρόσβαση μόνο σε μία από τις βάσεις δεδομένων και όχι απευθείας σε όλα. Εάν δεν θέλετε να δοκιμάσετε τη γραμμή εντολών για τη διαχείριση των λογαριασμών χρηστών της MySQL, της διαχείρισης χρήστη λειτουργίες επίσης αρκετά εύκολο με το phpMyAdmin στο πλαίσιο του "δικαιώματα" καρτέλα.
9ο PHP μηνύματα λάθους off
PHP μηνύματα λάθους, ένας εισβολέας μπορεί να αποκαλύψει πολλά για το δικό σας διακομιστή: δομές καταλόγου, δομές δεδομένων, τα σφάλματα διαμόρφωσης, κλπ. Επίσης, αναζητήστε το χρήστη πολύ αντιεπαγγελματική. Για το λόγο αυτό θα πρέπει να είναι σε ένα ζωντανό διακομιστή Web από βασικά, επειδή είστε ακριβώς πρόκειται να συνεχίσει για να δείτε στα αρχεία καταγραφής.
# Παγκόσμια php.ini μέσω: # / Etc/php5/apache2/php.ini display_errors = Off # Ανά ιστοθέση στα config VirtualHost: php_flag display_errors Off # Μηνύματα λάθους το διαβάσετε οπωσδήποτε: cat / var/log/apache2/error.log | grep php
10α Στόχος για το όριο εισαγωγής SQL με ModSecurity
SQL ενέσεις είναι η πιο συχνά χρησιμοποιούμενη μέθοδος της επίθεσης σε web servers. Άμεση πρόσβαση σε αυτά μέσω της εφαρμογής web και ικανοποιεί ένα πρόγραμμα περιήγησης για να τους εκτελέσουν. Εδώ είναι που μεταδίδονται από τις μεταβλητές χρήστη χτισμένο στείλτε ερωτήσεις SQL στη βάση δεδομένων με τα προνόμια της δικής όλα του χρήστη στη βάση δεδομένων κατά βούληση διαγράψετε διαβάσουν ή να τα επεξεργαστείτε. Μια πραγματική πραγματική προστασία έναντι εισαγωγής SQL υπάρχει μόνο εάν ο κωδικός PHP γράφτηκε στην περιοχή σε σχέση με αυτές τις επιθέσεις. Κάθε μεταβλητή από την είσοδο του χρήστη, η οποία θα μπορούσε να πάει σε ένα ερώτημα SQL, πρέπει να δοκιμαστεί και δραπέτευσε. PHP προσφέρει η 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 servers με τη μαύρη λίστα απάτη / spam / Εγκλήματος της Infiltrated.net
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
??
b)
exit
??
ESAC
done;
Dieses Skript auf dem Steuerungsrechner ergibt dieses spartanische menü:
Video Command s | START p | PAUSE/PLAY z | ZURUECKSPULEN zp | ZURUECKSPULEN + PAUSE f | VOLLBILD AN/AUS b | Beenden Kommando?
Auf den Windowsrechner musste nun nur noch aus der Windows-Konsole heraus VLC im Remote Control Modus gestartet werden:
vlc --extraintf oldrc --rc-host 192.168.0.1:20000
Nun wurde noch das Video in die jeweilige VLC-Playlist eingefügt. Die Fernsteuerung war fertig.
Leider gab es (wie fast immer) einige Fallstricke. Bei unseren Tests zickte zunächst die Windows-Firewall herum. Für die Präsentation musste diese deaktiviert werden. Generell war Windows keine besonders gute Wahl für die Präsentation, da Update-Meldungen, Avira-Popups und andere Nervereien natürlich im Video ziemlich peinlich wirken. Die Windows-Rechner mussten ziemlich kastriert werden. Firewalls, Virenscanner und Automatische Updates wurden deaktiviert. Zahlreiche Programme, die es sich im Tray gemütlich gemacht hatten, wurden deinstalliert. Im Endeffekt würde ich beim nächsten Mal das Abspielen auch mit Linux Clients realisieren, die aber wegen des Zeitdrucks nicht verfügbar waren.
Milestone flashen unter Linux mit sbf_flash
Ich habe bisher Windows nur noch für eine einzige Sache benötigt: Um mein Motorola Milestone mit neuer Firmware zu beflashen . Dafür waren bisher ein spezieller USB-Treiber und ein Flashtool von Motorola notwendig. Diese gab es nur für Windows und aus VirtualBox heraus haben sie nicht funktioniert. [mbm], ein Android Hacker aus #milestone-modding auf irc.freenode.net hat jetzt eine Binary zusammengebastelt, mit der es auch wunderbar unter Linux funktioniert. Getestet wurde es von mir unter Ubuntu 10.10. Leider gibt es keinen Quelltext zu der App, aber es funktioniert einwandfrei. Viele andere User bestätigen das hier in der offiziellen Bekanntmachung: http://blog.opticaldelusion.org/2010/05/sbfflash.html
Download: Original | Lokaler Mirror
So sieht ein Flashvorgang mit sbf_flash aus:
box-root-18:01:33 /home/ww/Desktop -> ./sbf_flash ./GOT_DACH_GERMANY_2_2_1FULL.sbf SBF FLASH 1.08 (mbm) === GOT_DACH_GERMANY_2_2_1FULL.sbf === 00: RDL03 0x82000000-0x8204CFFF 2FC7 AP 01: CG31 0xB01C0000-0xB01C47FF 24FE AP 02: CG33 0xD13FB000-0xD1BB783F E479 AP 03: CG34 0xB03A0000-0xB03A47FF CC19 AP 04: CG35 0xB07A0000-0xB0A607FF 888E AP 05: CG36 0xF0B7D000-0xF0BE083F 6799 AP 06: CG37 0xE4034000-0xE40379BF 9325 AP 07: CG39 0xD1D64000-0xDADE583F 6DA8 AP 08: CG40 0xDD2E4000-0xDD2E483F FDFF AP 09: CG42 0xB06A0000-0xB06DFFFF 73E3 AP 10: CG45 0xB0B20000-0xB0E207FF 79ED AP 11: CG47 0xB0EE0000-0xB12A07FF 679E AP 12: CG53 0xCFD80000-0xCFD807FF FDFF AP 13: CG61 0xB0640000-0xB06607FF 6C74 AP Milestone found. >> uploading RDL03 Uploading: 100% OK >> verifying ramloader -- OK >> executing ramloader Milestone found. >> sending erase >> uploading CG31 Uploading: 100% OK >> uploading CG33 Uploading: 100% OK >> uploading CG34 Uploading: 100% OK >> uploading CG35 Uploading: 100% OK >> uploading CG36 Uploading: 100% OK >> uploading CG37 Uploading: 100% OK >> uploading CG39 Uploading: 100% OK >> uploading CG40 Uploading: 100% OK >> uploading CG42 Uploading: 100% OK >> uploading CG45 Uploading: 100% OK >> uploading CG47 Uploading: 100% OK >> uploading CG53 Uploading: 100% OK >> uploading CG61 Uploading: 100% OK >> verifying CG31 -- OK >> verifying CG33 -- OK >> verifying CG34 -- OK >> verifying CG35 -- OK >> verifying CG36 -- OK >> verifying CG37 -- OK >> verifying CG39 -- OK >> verifying CG40 -- OK >> verifying CG42 -- OK >> verifying CG45 -- OK >> verifying CG47 -- OK >> verifying CG53 -- OK >> verifying CG61 -- OK >> rebooting









