Fiera Calda Vicchio 27-8-2014
giovedì 28 agosto 2014
mercoledì 27 agosto 2014
Cambio port https su Proxmox
A causa di configurazione firewall, una volta montato Proxmox non riuscivo a contattarlo sul protocollo https alla porta 8006 (default) mentre era raggiungibile via SSH
Per aggirare le politiche del firewall si puo' procedere come segue
effettuare un kill del processo pveproxy
editare il file /usr/bin/pveproxy
sostituire nel file il numero di porta 8006 con un altro (io ho usato 8080 in modo da bucare il firewall) all'incirca in corrispondenza della stringa keep_alive
riavviare pveproxy
Per aggirare le politiche del firewall si puo' procedere come segue
effettuare un kill del processo pveproxy
editare il file /usr/bin/pveproxy
sostituire nel file il numero di porta 8006 con un altro (io ho usato 8080 in modo da bucare il firewall) all'incirca in corrispondenza della stringa keep_alive
riavviare pveproxy
martedì 26 agosto 2014
IptabLes (2)
Dopo quanto visto nel precedente post, ho provato un po' a divertirmi con IptabLes
Le dimensioni dei file coinvolti sono piuttosto notevoli
.IptabLes 1103207 bytes
.IptabLex 722392 bytes
con il comando file si vede che il file non e' stato strippato
IptabLes: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, from '@%ebx', not stripped
inoltre entrambi sono linkati staticamente (il che giustifica le dimensioni in quanto si portano dietro tutte le librerie di cui hanno bisogno)
mediante il comando strings si vede che il programma non e' criptato
-----------------------------
rm -f %s
/proc/self/exe
GETFILE_%08X
http://www.yahoo.com.http://www.baidu.com.http://www.china.com.http://www.ifeng.com
abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
/proc
/proc/%s/exe
/delxxaazz
/rc.d/r
/etc%sc%d.d/S55IptabLes
/delallmykkk
/delallmykkk>/dev/null
cp %s %s>/dev/null
/etc/rc.d/init.d/IptabLes
/etc/rc.d/IptabLes
/boot/IptabLes
%d.%d.%d
/boot/.IptabLes
/usr/.IptabLes
xxxx
#!/bin/sh
exit 0
#!/bin/sh
if [ -z $1 ] ; then
ps -f -C .IptabLes |grep .IptabLes | awk '{print $3}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $3}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $2}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $2}' | xargs $0 2
ps -axu | grep .IptabLes | awk '{print $2}' |xargs kill -9
ps -axu | grep .IptabLes | awk '{print $2}' |xargs kill -9
ps -C .IptabLes | xargs kill -9
ps -C .IptabLes | grep .IptabLes |xargs kill -9
rm -f /boot/.stabip
rm -f /boot/.IptabLes
rm -f /etc/rc.d/init.d/IptabLes
rm -f /boot/IptabLes
rm -f /tmp/IptabLes
rm -f /usr/IptabLes
rm -f /usr/.IptabLes
rm -f /boot/.IptabLes
rm -f /.IptabLes
rm -f /boot/IptabLes
rm -f /IptabLes
rm -f /etc/rc.d/rc4.d/*IptabLes
rm -f /etc/rc.d/rc1.d/*IptabLes
rm -f /etc/rc.d/rc2.d/*IptabLes
rm -f /etc/rc.d/rc3.d/*IptabLes
rm -f /etc/rc.d/rc0.d/*IptabLes
rm -f /etc/rc.d/rc5.d/*IptabLes
rm -f /etc/rc.d/rc6.d/*IptabLes
rm -f /etc/init.d/IptabLes
rm -f /etc/rc4.d/*IptabLes
rm -f /etc/rc1.d/*IptabLes
rm -f /etc/rc2.d/*IptabLes
rm -f /etc/rc3.d/*IptabLes
rm -f /etc/rc0.d/*IptabLes
rm -f /etc/rc5.d/*IptabLes
rm -f /etc/rc6.d/*IptabLes
rm -rf "$0"
else
if [ -z $2 ] ; then
exit
else
if [ 1 -ne $2 ] ; then
kill -9 $2
exit
#!/bin/bash
sleep 3
kill %d
sleep 1
rm -f %s
rm -rf "$0"
sh /delxxaazz
/proc/net/dev
face
rrrrrrss
FATAL: exception not rethrown
/proc/sys/kernel/version
/proc/sys/kernel/osrelease
FATAL: kernel too old
FATAL: cannot determine kernel version
/dev/full
set_thread_area failed when setting up thread-local storage
UUUU
?3333
/bin/sh
exit 0
LIBC_FATAL_STDERR_
/dev/tty
-----------------------------
si legge anche chiaramente dove vengono messi i file ed alcuni comandi di shell
Francamente non ho esperienza in Assembler ma mediante il decompilatore RecStudio e' possibile leggere in chiaro il nome delle funzioni tra cui si vede chiaramente SynFlood e DNSFlood che corrisponde a quanto fa effettivamente il programma
Dalla lettura delle stringhe sembra che il programma sia stato compilato su una RedHat con un compilatore GCC 4.1.2 (che se fosse corretto risulta essere una versione piuttosto vecchiotta)
Le dimensioni dei file coinvolti sono piuttosto notevoli
.IptabLes 1103207 bytes
.IptabLex 722392 bytes
con il comando file si vede che il file non e' stato strippato
IptabLes: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, from '@%ebx', not stripped
IptabLex: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, from '@%ebx', not stripped
inoltre entrambi sono linkati staticamente (il che giustifica le dimensioni in quanto si portano dietro tutte le librerie di cui hanno bisogno)
mediante il comando strings si vede che il programma non e' criptato
-----------------------------
rm -f %s
/proc/self/exe
GETFILE_%08X
http://www.yahoo.com.http://www.baidu.com.http://www.china.com.http://www.ifeng.com
abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
/proc
/proc/%s/exe
/delxxaazz
/rc.d/r
/etc%sc%d.d/S55IptabLes
/delallmykkk
/delallmykkk>/dev/null
cp %s %s>/dev/null
/etc/rc.d/init.d/IptabLes
/etc/rc.d/IptabLes
/boot/IptabLes
%d.%d.%d
/boot/.IptabLes
/usr/.IptabLes
xxxx
#!/bin/sh
exit 0
#!/bin/sh
if [ -z $1 ] ; then
ps -f -C .IptabLes |grep .IptabLes | awk '{print $3}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $3}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $2}' | xargs $0 2
ps -f -C .IptabLes |grep .IptabLes | awk '{print $2}' | xargs $0 2
ps -axu | grep .IptabLes | awk '{print $2}' |xargs kill -9
ps -axu | grep .IptabLes | awk '{print $2}' |xargs kill -9
ps -C .IptabLes | xargs kill -9
ps -C .IptabLes | grep .IptabLes |xargs kill -9
rm -f /boot/.stabip
rm -f /boot/.IptabLes
rm -f /etc/rc.d/init.d/IptabLes
rm -f /boot/IptabLes
rm -f /tmp/IptabLes
rm -f /usr/IptabLes
rm -f /usr/.IptabLes
rm -f /boot/.IptabLes
rm -f /.IptabLes
rm -f /boot/IptabLes
rm -f /IptabLes
rm -f /etc/rc.d/rc4.d/*IptabLes
rm -f /etc/rc.d/rc1.d/*IptabLes
rm -f /etc/rc.d/rc2.d/*IptabLes
rm -f /etc/rc.d/rc3.d/*IptabLes
rm -f /etc/rc.d/rc0.d/*IptabLes
rm -f /etc/rc.d/rc5.d/*IptabLes
rm -f /etc/rc.d/rc6.d/*IptabLes
rm -f /etc/init.d/IptabLes
rm -f /etc/rc4.d/*IptabLes
rm -f /etc/rc1.d/*IptabLes
rm -f /etc/rc2.d/*IptabLes
rm -f /etc/rc3.d/*IptabLes
rm -f /etc/rc0.d/*IptabLes
rm -f /etc/rc5.d/*IptabLes
rm -f /etc/rc6.d/*IptabLes
rm -rf "$0"
else
if [ -z $2 ] ; then
exit
else
if [ 1 -ne $2 ] ; then
kill -9 $2
exit
#!/bin/bash
sleep 3
kill %d
sleep 1
rm -f %s
rm -rf "$0"
sh /delxxaazz
/proc/net/dev
face
rrrrrrss
FATAL: exception not rethrown
/proc/sys/kernel/version
/proc/sys/kernel/osrelease
FATAL: kernel too old
FATAL: cannot determine kernel version
/dev/full
set_thread_area failed when setting up thread-local storage
UUUU
?3333
/bin/sh
exit 0
LIBC_FATAL_STDERR_
/dev/tty
-----------------------------
si legge anche chiaramente dove vengono messi i file ed alcuni comandi di shell
Francamente non ho esperienza in Assembler ma mediante il decompilatore RecStudio e' possibile leggere in chiaro il nome delle funzioni tra cui si vede chiaramente SynFlood e DNSFlood che corrisponde a quanto fa effettivamente il programma
Dalla lettura delle stringhe sembra che il programma sia stato compilato su una RedHat con un compilatore GCC 4.1.2 (che se fosse corretto risulta essere una versione piuttosto vecchiotta)
lunedì 25 agosto 2014
Potenza del segnale di CC2541
L'integrato Texas Instruments CC2541 su cui si basano alcuni beacon permette di modificare la potenza di trasmissione da +4 dBm a -23 dBm. Cio' consente di aumentare o diminuire il proprio raggio d'azione
Nell'applicazione che uso i valori di potenza non impostati a 4 valori prefissati
0 dBm : potenza standard
4 dBm : circa il doppio della potenza standard
-6 dBm : un quarto della potenza standard
-23 dBm : un ventesimo della potenza standard
Per vedere se effettivamente le modifiche influenzano il raggio d'azione del beacon ho provato a plottare la potenza contro il valore di rssi (facendo una media e la deviazione standard di una serie di dati a causa della instabilita' intrinseca del segnale). La prova e' stata eseguita mantenendo beacon e telefono a distanza fissa per tutto il tempo
Come si vede dal grafico i casi 0dBm e +4dBm sono praticamente non distinguibili, nel caso di -6dBm il valore di rssi e' di qualita' inferiore a causa della diminuzione del segnale. Quando la potenza del beacon passa a -23dBm il valore di rssi e' praticamente fisso a 95 ovvero il telefono e' praticamente fuori al raggio d'azione del beacon e legge solo un valore di fondo scala
venerdì 22 agosto 2014
Sensore di retromarcia su Fiat QUBO
Mi sono comprato per una venticinquina di euro un sensore per parcheggiare (non ho ancora preso le misure del QUBO) di seguito viene descritto come montarlo
Dato che il sensore si deve attivare in retromarcia e non essendoci informazioni di un connettore speciale ho deciso di collegare l'alimentazione del sensore sulla lampada posteriore di retromarcia
Il faro posteriore si toglie svitando due viti e sfilando il gruppo ottico
A questo punto si accede al connettore
Dato che il sensore si deve attivare in retromarcia e non essendoci informazioni di un connettore speciale ho deciso di collegare l'alimentazione del sensore sulla lampada posteriore di retromarcia
Il faro posteriore si toglie svitando due viti e sfilando il gruppo ottico
A questo punto si accede al connettore
Munito di tester ho identificato il cavo di massa (e' quello nero di maggiore spessore) ed il cavo della lampada della retromarcia che e' identificato dal colore grigio-verde. Il problema e' fare una connessione elettrica stabile. Il connettore e' difficile da smontare ma ho trovato che c'e' un linguetta che blocca tutti i connettori, se si alza si accede alla parte metallica dei connettori e si puo' bloccare il filo con la stessa linguetta una volta rimessa a posto
Per passare il cavo all'interno ho passato l'alimentazione nello scatolare e smontando la cassa dello stereo per accedere all'interno
E questo il montaggio definitivo prima di richiudere il faro
Per non fare buchi nel paraurti i sensori sono stati montati su una barra in plastica avvitata con la targa
mercoledì 20 agosto 2014
Freenas su Virtualbox
Per fare qualche prova con FreeNas, non avendo a disposizione una macchina fisica su cui provarlo, ho deciso di virtualizzarlo ed ho visto che non e' poi cosi' banale
Per prima cosa,visto che FreeNas e' basato su BSD, si deve impostare il sistema operativo
Attenzione: ho provato ad installare la versione a 64 bit ma in fase di boot (dopo l'installazione) andava in kernel panic per cui e' stata impiegata la versione a 32 bit
I dettagli della configurazione sono
Ram almeno 4 Gb per usare ZFS
Scheda di rete in bridge
Ho provato anche a creare due dischi fissi (uno per FreeNas e l'altro per i dati) ma all'interno di Virtualbox viene visto solo il disco di boot
Al termine del boot, nella finestra di shell, viene visualizzato l'indirizzo a cui connettersi con il browser per l'amministrazione
WebAdmin di FreeNas |
al primo login si deve scegliere la password dell'amministratore (root)
Shell di FreeNas |
Dopo aver seguito le istruzioni a questo link ed aver creato un Volume attivo ed un Dataset, dopo aver creato un utente e messo il disco in condivisione, questo compare nella lista delle cartelle condivise
martedì 19 agosto 2014
IBM X3550/7978 per Proxmox
Per un costo tutto sommato accettabile (130 euro) mi sono comprato un server IBM X3550/7978 in formato 1U con un quadcore xeon ed 8 giga di ram per giocare con Proxmox
L'acquisto e' stato necessario perche' l'altra macchina da rack disponibile era un vecchio IServer (sempre IBM) piu' o meno anno 2003-2004 con processori Xeon ma purtroppo a 32 bit e quindi non utili a far girare Proxmox
L'acquisto e' stato necessario perche' l'altra macchina da rack disponibile era un vecchio IServer (sempre IBM) piu' o meno anno 2003-2004 con processori Xeon ma purtroppo a 32 bit e quindi non utili a far girare Proxmox
IptabLes IptabLex Trojan e Apache 2
Qualche giorno fa sono stato contattato da un amico perche' il suo server aveva genericamente dei problemi intermittenti sulla rete. Premettendo che non faccio piu' il sistemista Linux da una decina d'anni ho provato in ogni caso ad dare un'cchiata
La macchina era stata dichiarata per essere una Debian ma in realta' aveva installato una Ubuntu Server 11.04 base e la macchina sostanzialmente non era mai stata gestita. I primi problemi sono nell'ordine
La macchina era stata dichiarata per essere una Debian ma in realta' aveva installato una Ubuntu Server 11.04 base e la macchina sostanzialmente non era mai stata gestita. I primi problemi sono nell'ordine
- apt-get non funzionante quindi impossibile fare gli aggiornamenti di sistema. Peraltro apt-get update (nel caso avesse funzionato) mostrava la necessita' di aggiornare le libc
- non era installato il sistema build-essential quindi era impossibile anche installare programmi da sorgenti
- la macchina aveva solo l'utente root e l'utente di lavoro entrambi con la medesima banale password
- erano esposti senza filtri i servizi sulla porta 22 (SSH permetteva anche il login da root), porta 80 (Apache) 3306 (Mysql) e 21 (FTP)
Eseguendo un iftop la banda era quasi tutta saturata da un traffico in uscita di diverse Megabit su porta 80 verso akamai (un noto servizio olandese a cui si appoggiano su cui si appoggiano praticamente tutti i grandi nomi da Microsoft, Apple, Adobe....), ed un paio di siti cinesi
il primo sito cinese ad una scansione con nmap non dava particolari informazioni mentre il secondo (14.17.x.x) mostrava aperte tutte le seguenti porte (7,9,13,21,22,23,25,26,37,53,79,80,81,88,106,110,111,113,119,135,139,143,144,179 e cosi' via). In pratica il secondo indirizzo sembra essere un honeypot...strano...
usando rootkit hunter non e' stato mostrato niente di strano (tutti i controlli passati)
Memore di un paio di attacchi di 10 anni prima ho provato a cercare delle directory triplo punto (...) in cui erano nascosti file sospetti ma niente. Anche l'occupazione dello spazio disco non mostrava niente di anomalo (ero abituato ad attacchi che installano degli ftp pirata per cercavo l'eventuale directory di upload/download)
Frugando meglio con netstat (netstat -tulpn) mi sono saltate subito all'occhio le chiamate di iptables (vedi immagine sottostante)
ancora di piu' mi e' saltata subito all'occhio la grafia. Non si trattava del normale comando iptables ma di IptabLes (notare le maiuscole!!). in pratica era stato installato un programma da un nome simile ad un legittimo comando nella speranza di nascondersi
Da qui e' partita una breve ricerca che mi ha portato a questo link dove e' spiegato come questo sia un trojan che si installa usando una vulnerabilita' zero day legata ad Apache 2 (il messaggio e' datato maggio 2013)
Leggendo le istruzioni ho trovato i file ospite esattamente dove erano indicati dalla guida
In sostanza il server era usato per effettuare attacchi DDOS verso siti cinesi e verso Akamai
Una analisi completa del programma e' riportata da questo link dove si suppone l'origine cinese
Giusto per vedere se potevo guadagnare un po' di tempo in attesa di mettere su un nuovo server ho provato a killare il programma a mano ed a rimuovere i programmi IptabLes e IptabLex ma il mattino successivo il trojan era di nuovo al suo posto (non avendo potuto aggiornare Apache la macchina era rimasta vulnerabile e probabilmente gli attacchi sono automatizzati)
Sostituzione di batteria di MacBook A1286 Mid 2009
Mi sono trovato a dover cambiare una batteria da un MacBook A1286 Mid 2009 ed ho dovuto ad imparare a mie spese come funzionano i nomi dei computer per Apple
Dopo aver acquistato su Amazon una batteria per A1286 mi sono apprestato a sostituirla quando ho visto che i connettori (non le dimensioni) non erano coincidenti tra l'originale ed il pezzo di ricambio
Di fatto con il codice a1286 non e' indicato un computer ma una intera famiglia di MacBook prodotti nell'arco di diversi anni. In particolare nel 2009 la batteria impiegata e' identificata dal codice A1321 mentre i successivi modelli sono passati alla batteria A1382 (ovviamente non compatibile con la precedente)
Una volta arrivato il ricambio giusto l'apertura del portatile e' semplice perche' basta svitare tutte le viti sul retro (attenzione, tre viti sono diverse da tutte le altre e sono poste sul posteriore in corrispondenza delle aperture di raffreddamento). La batteria sembra essere stata bloccata da ulteriori due viti (ci sono le asole) ma sul modello a me arrivato queste viti non sono presenti forse per precedenti manutenzioni
La sostituzione e' banale e richiede meno di un quarto d'ora
Dopo aver acquistato su Amazon una batteria per A1286 mi sono apprestato a sostituirla quando ho visto che i connettori (non le dimensioni) non erano coincidenti tra l'originale ed il pezzo di ricambio
Di fatto con il codice a1286 non e' indicato un computer ma una intera famiglia di MacBook prodotti nell'arco di diversi anni. In particolare nel 2009 la batteria impiegata e' identificata dal codice A1321 mentre i successivi modelli sono passati alla batteria A1382 (ovviamente non compatibile con la precedente)
La sostituzione e' banale e richiede meno di un quarto d'ora
Collezione di processori (2)
Sono stati aggiunti altri 7 processori alla mia collezione
Particolarmente interessanti (perche' piuttosto rari) i Pentium Pro
mercoledì 6 agosto 2014
Selinux e Apache su CentOs
Cercando di far funzionare l''uploader di JQuery mi sono trovato in un comportamento strano che non era giustificato dai permessi sui file e sulle directory. Nonostate tutti i permessi del file system fossero corretti non veniva scritto niente sul disco del server. Il sospetto e' ricaduto immediatamente su Selinux
questo lo stato (ovvero attivo)
sestatus
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
una occhiata con il seguente comando mostra i permessi di scrittura negati al demone http
aureport --avc | tail
19. 06/08/2014 14:01:08 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 540
20. 06/08/2014 14:01:52 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 542
21. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
22. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir add_name unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
23. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file create system_u:object_r:httpd_sys_content_t:s0 denied 544
24. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file write system_u:object_r:httpd_sys_content_t:s0 denied 544
----------------------------------------------------------------------
per avere qualche suggerimento ho usato
grep httpd_sys_content /var/log/audit/audit.log | audit2allow
questo lo stato (ovvero attivo)
sestatus
----------------------------------------------------------------------
SELinux status: enabledSELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
----------------------------------------------------------------------
se disattivo temporaneamente tutto Selinux i file vengono salvati nella cartella di upload
setenforce 0
non ho voglia pero' di disabilitare tutto Selinux e lo riattivo
setenforce 1
aureport --avc | tail
----------------------------------------------------------------------
18. 06/08/2014 14:01:01 ? system_u:system_r:init_t:s0 0 (null) (null) (null) unset 53519. 06/08/2014 14:01:08 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 540
20. 06/08/2014 14:01:52 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 542
21. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
22. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir add_name unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
23. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file create system_u:object_r:httpd_sys_content_t:s0 denied 544
24. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file write system_u:object_r:httpd_sys_content_t:s0 denied 544
----------------------------------------------------------------------
per avere qualche suggerimento ho usato
grep httpd_sys_content /var/log/audit/audit.log | audit2allow
----------------------------------------------------------------------
#============= httpd_t ==============
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
che indica di abilitare in scrittura httpd
girando un po' per Google e' consigliato di abilitare i seguenti comandi selinux nel caso che sviluppino webapp
setsebool -P httpd_enable_cgi on
setsebool -P httpd_unified on
setsebool -P httpd_builtin_scripting on
a questo punto l'uploader funziona con Selinux attivato
altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux
semodule -i apache_selinux.pp altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux
SD Card su CentOS 7
Al momento di inserire un SD Card nel lettore del mio IBM T61 mi sono accorto che la CentOs 7 non mi mostrava il dispositivo ed ovviamente non lo montava
dal comando lspci il lettore risulta essere un Ricoh
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
La soluzione e' quanto mai semplice
Basta digitare
modprobe sdhci
per fa comparire sul desktop l'icona della SD Card
dal comando lspci il lettore risulta essere un Ricoh
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
La soluzione e' quanto mai semplice
Basta digitare
modprobe sdhci
per fa comparire sul desktop l'icona della SD Card
martedì 5 agosto 2014
Filezilla e Chrome OS su CentOs 7
Per installare Filezilla su CentOs 7 si devono aggiungere i repository mediante il comando
rpm -Uvh http://epel.mirror.net.in/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
fatto cio' si puo' installare il programma semplicemente con
yum install filezilla
Per Chrome la procedura e' leggermente piu' complicata (il supporto di Chrome a CentOs e' limitato alla versione 7)
da linea di comando si crea e popola il file google-chrome.repo
cat << EOF > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub EOF
per installare il browser si digita quindi il comando
yum install google-chrome-stable
rpm -Uvh http://epel.mirror.net.in/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
yum install filezilla
Per Chrome la procedura e' leggermente piu' complicata (il supporto di Chrome a CentOs e' limitato alla versione 7)
da linea di comando si crea e popola il file google-chrome.repo
cat << EOF > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub EOF
per installare il browser si digita quindi il comando
yum install google-chrome-stable
lunedì 4 agosto 2014
LAMP su Centos 7
Mi sono trovato a dover sostituire un server basato su una obsoleta Ubuntu server che era stato bucato e dato l'uso professionale ho cercato di installare un sistema di impostazione piu' seria con un supporto di sicurezza prolungato nel tempo.
Nonostante non lavori su RedHat dal lontano 2004 ho voluto provare CentOS 7 nella speranza di aver un sistema solido (sicuramente la politica di partire da una installazione minimale con tutti i servizi da abilitare e le porte del firewall da aprire a mano ti rende consapevole di cio' che stai facendo). Questa scelta la ho pagata perche' alcuni aspetti di CentOS sono piuttosto peculiari (per esempio lanciare il comando ifoconfig ed avere a che fare con il nuovo firewall basato su firewall-cmd al posto di iptabls)..in ogni caso nel giro di un paio di ore il sistema era in linea
Dopo l'installazione minimale ho controllato la configurazione della rete con
/usr/sbin/ifconfig (non ifconfig, si deve richiamare tutto il path)
per installare i servizi base si usa
yum -y install httpd (per apache)
si installa php e qualche modulo
a questo punto per fare in modo che il servizio http si riavvi al prossimo reboot si deve specificare enable
systemctl enable httpd.service
La porta 80 e' chiusa di default e deve essere abilitata esplcitamente. Per rendere la modifica alle regole del firewalle permanente si deve usare lo switch permanent
firewall-cmd --permanent --add-service=http
Poi si abilita Mysql (solo il pacchetto si chiama MariaDb, i comandi sono i classici mysql)
Nonostante non lavori su RedHat dal lontano 2004 ho voluto provare CentOS 7 nella speranza di aver un sistema solido (sicuramente la politica di partire da una installazione minimale con tutti i servizi da abilitare e le porte del firewall da aprire a mano ti rende consapevole di cio' che stai facendo). Questa scelta la ho pagata perche' alcuni aspetti di CentOS sono piuttosto peculiari (per esempio lanciare il comando ifoconfig ed avere a che fare con il nuovo firewall basato su firewall-cmd al posto di iptabls)..in ogni caso nel giro di un paio di ore il sistema era in linea
Dopo l'installazione minimale ho controllato la configurazione della rete con
/usr/sbin/ifconfig (non ifconfig, si deve richiamare tutto il path)
per installare i servizi base si usa
yum -y install httpd (per apache)
yum -y install mariadb-server mariadb (per mysql)
yum install php php-mysql php-gd php-pear -y
a questo punto per fare in modo che il servizio http si riavvi al prossimo reboot si deve specificare enable
systemctl enable httpd.service
La porta 80 e' chiusa di default e deve essere abilitata esplcitamente. Per rendere la modifica alle regole del firewalle permanente si deve usare lo switch permanent
firewall-cmd --permanent --add-service=http
Poi si abilita Mysql (solo il pacchetto si chiama MariaDb, i comandi sono i classici mysql)
systemctl enable mariadb.service
e si configura la password di root del server Sql
e si configura la password di root del server Sql
mysql_secure_installation
per installa PhpMyAdmin si devono aggiungere i repository di rpmforge con il seguente comando
rpm -Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
e poi installare phpMyAdmin
yum install phpmyadmin
per installa PhpMyAdmin si devono aggiungere i repository di rpmforge con il seguente comando
rpm -Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
e poi installare phpMyAdmin
yum install phpmyadmin
sempre con il concetto di chiusura la pagina di phpmyadmin e' di default visibile al solo localhost. Si deve quindi editare il file
nano /etc/httpd/conf.d/phpMyAdmin.conf
per permettere l'accesso ad altre macchine
yum install net-tools (netstat)
yum install ntfs-3g (per il supporto ad ntfs)
yum install mc (midnight commander)
yum install ntfs-3g (per il supporto ad ntfs)
yum install mc (midnight commander)
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...