środa, 28 grudnia 2011

Przekierowanie X na root z zwykłego usera

dniemczok@bt:~$ su -
Password:
root@bt:~# xhost+
root@bt:~# export DISPAY=0.0
root@bt:~# wine

czwartek, 10 listopada 2011

ngrep

ngrep -itq -W byline

Watching all traffic on eth1:

ngrep -d eth1 -itq -W byline

Watching all traffic on the default interface while searching for the string “testing”.

ngrep -itq -W byline testing

Watching all traffic on the default interface originating from 192.168.1.1:

ngrep -itq -W byline src 192.168.1.1

Watching all traffic on the default interface destined for 192.168.1.2:

ngrep -itq -W byline dst 192.168.1.2

Watching all traffic on the default interface with the gateway of 192.168.1.100

ngrep -itq -W byline gateway 192.168.1.100

See more examples at http://ngrep.sourceforge.net/usage.html

czwartek, 3 listopada 2011

Disable the first time user registration wizard OpenOffice 3

"C:\Program Files\OpenOffice.org 3.0\program\sbase.exe" -nofirststartwizard
"C:\Program Files\OpenOffice.org 3.0\program\scalc.exe" -nofirststartwizard

środa, 26 października 2011

Cyberoam iview Debian 6

Cyberoam Iview adalah software Intelligent Logging dan Reporting. Software ini bersifat open source dan dapat kita download dan gunakan gratis tanpa membayar lisensi, fitur software ini sangat bagus dimana banyak software sejenis lainnya di develop secara lisensi. Cyberoam iView merupakan keluaran terbaru setelah perusahaan Cyberoam mengeluarkan devices untuk network security dan router. Traffic pemakaian setiap user dapat kita monitor melalui iView, Devices dan software Cyberiam sangat cocok bagi internet service provider dimana dapat menempatkan router cyberoam di clientnya dan memberikan user login ke usernya melalui server iView untuk dapat melihat dan memantau aktifitas internet user tersebut. Software ini dapat saya katakan gabungan dari beberapa software lain seperti Untangle, Cacti, SARG, Bandwidth Management, QOS, Filtering,dan sebagainya.

Instalasi software versi Linux Cyberoam-iView agak sulit tetapi dengan waktu yang cukup akhirnya saya berhasil menginstall software ini dan memasukkan puluhan cyberoam devices ke dalam server ini untuk dapat dimonitor dan diberikan ke client. Bagaimana proses instalasi dan konfigurasinya ?

Saya menggunakan iView-Linux-0.111, sistem operasi Debian GNU Linux 5.0.8 Lenny, PostgreSQL 8.4, Java 1.5 untuk server menggunakan Supermicro Computer, Inc dengan memory 2 GB

Pastikan sistem operasi debian sudah di install dengan standart system, tanpa GUI, biar lite dan ringan.

PRI-IVIEW1:/home/gtoms# cat /etc/debian_version
5.0.8

PRI-IVIEW1:/home/gtoms# uname -a
Linux NGLAEM1 2.6.26-2-686 #1 SMP Thu Jan 27 00:28:05 UTC 2011 i686 GNU/Linux

apt-get install syslog-ng

vi /etc/syslog-ng/syslog-ng.conf

options {
long_hostnames(off);
sync(0);
stats(43200);
dns_cache(yes);
use_fqdn(no);
keep_hostname(yes);
use_dns(yes);
};

source gateway {
unix-stream("/dev/log");
internal();
udp(ip(0.0.0.0) port(514));
};

source tcpgateway {
unix-stream("/dev/log");
internal();
tcp(ip(0.0.0.0) port(514) max_connections(1000));
};

destination hosts {
file("/var/log/syslog-ng/$HOST/$FACILITY"
owner(root) group(root) perm(0600) dir_perm(0700)
create_dirs(yes));
};

log {
source(gateway); destination(hosts);
};

log {
source(tcpgateway); destination(hosts);
};

/etc/init.d/syslog-ng restart

Untuk memudahkan instalasi PostgreSQL 8.4 saya edit sources.list :

PRI-IVIEW1:~# apt-get install postgresql
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdb4.8 libexpat1 libpq5 libssl0.9.8 lsb-release openssl
openssl-blacklist php5-common php5-pgsql postgresql-client-8.4 postgresql-client-common postgresql-common postgresql-doc postgresql-doc-8.4 ssl-cert
Suggested packages:
lsb ca-certificates postgresql slony1-bin oidentd ident-server
The following NEW packages will be installed:
libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdb4.8 libexpat1 lsb-release openssl openssl-blacklist
php5-common php5-pgsql postgresql-8.4 postgresql-client-8.4 postgresql-client-common postgresql-common postgresql-doc postgresql-doc-8.4 ssl-cert
The following packages will be upgraded:
libpq5 libssl0.9.8
2 upgraded, 24 newly installed, 0 to remove and 30 not upgraded.
Need to get 26.0MB of archives.
After this operation, 66.8MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://security.debian.org lenny/updates/main php5-common 5.2.6.dfsg.1-1+lenny10 [366kB]
Get:2 http://backports.debian.org lenny-backports/main libssl0.9.8 0.9.8o-4~bpo50+1 [3063kB]
Get:3 http://ftp.us.debian.org lenny/main openssl-blacklist 0.4.2 [6338kB]
Get:4 http://security.debian.org lenny/updates/main libapache2-mod-php5 5.2.6.dfsg.1-1+lenny10 [2485kB]
12% [2 libssl0.9.8 1910056/3063kB 62%] [3 openssl-blacklist 786029/6338kB 12%] [4 libapache2-mod-php5 213989/2485kB 8%]———————————skip————————————————————-
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Enabling module reqtimeout.
Setting up libpq5 (8.4.7-0squeeze1~bpo50+1) ...
Setting up php5-pgsql (5.2.6.dfsg.1-1+lenny10) ...
Setting up postgresql-client-common (111~bpo50+1) ...
Setting up postgresql-client-8.4 (8.4.7-0squeeze1~bpo50+1) ...
Setting up ssl-cert (1.0.23) ...
Setting up postgresql-common (111~bpo50+1) ...
Adding user postgres to group ssl-cert
Building PostgreSQL dictionaries from installed myspell/hunspell packages…
Setting up postgresql-8.4 (8.4.7-0squeeze1~bpo50+1) ...
Creating new cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main)...
Moving configuration file /var/lib/postgresql/8.4/main/postgresql.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_hba.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_ident.conf to /etc/postgresql/8.4/main…
Configuring postgresql.conf to use port 5432…
Starting PostgreSQL 8.4 database server: main.
Setting up postgresql-doc-8.4 (8.4.7-0squeeze1~bpo50+1) ...
Setting up postgresql-doc (8.4.7-0squeeze1~bpo50+1) ...
Setting up lsb-release (3.2-20) ...

PRI-IVIEW1:~# ln -s /etc/init.d/postgresql /etc/init.d/postgresql-8.4

PRI-IVIEW1:~# ln -s /var/lib/postgresql/8.4/main /var/lib/postgresql/8.4/main/data

PRI-IVIEW1:~#

PRI-IVIEW1:~# mkdir /iviewdb/

PRI-IVIEW1:~# chown -R postgres.postgres /iviewdb

postgres@PRI-IVIEW1:/root$

PRI-IVIEW1:~# su postgres

postgres@PRI-IVIEW1:/root$ /usr/lib/postgresql/8.4/bin/initdb -D /iviewdb
The files belonging to this database system will be owned by user “postgres”.
This user must also own the server process.

The database cluster will be initialized with locale en_NG.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to “english”.

fixing permissions on existing directory /iviewdb … ok
creating subdirectories … ok
selecting default max_connections … 100
selecting default shared_buffers … 28MB
creating configuration files … ok
creating template1 database in /iviewdb/base/1 … ok
initializing pg_authid … ok
initializing dependencies … ok
creating system views … ok
loading system objects’ descriptions … ok
creating conversions … ok
creating dictionaries … ok
setting privileges on built-in objects … ok
creating information schema … ok
vacuuming database template1 … ok
copying template1 to template0 … ok
copying template1 to postgres … ok

WARNING: enabling “trust” authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

/usr/lib/postgresql/8.4/bin/postgres -D /iviewdb
or
/usr/lib/postgresql/8.4/bin/pg_ctl -D /iviewdb -l logfile start

postgres@PRI-IVIEW1:/root$ createuser pguser
Shall the new role be a superuser? (y/n) y
postgres@PRI-IVIEW1:/root$ psql postgres
psql (8.4.7)
Type “help” for help.

postgres=# template1=# \password pguser;
Enter new password:
Enter it again:

postgres-# \q

postgres@PRI-IVIEW1:/root$ exit
exit

PRI-IVIEW1:/etc/postgresql/8.4/main# su – postgres

postgres@PRI-IVIEW1:~$ createdb iviewdb;

postgres@PRI-IVIEW1:~$ psql -c -d template1

postgres:~$ ALTER USER postgres WITH PASSWORD 'passworddb';

postgres@PRI-IVIEW1:~$ exit

PRI-IVIEW1:~# cd /etc/postgresql/8.4/main

PRI-IVIEW1:/etc/postgresql/8.4/main# ls
environment pg_ctl.conf pg_hba.conf pg_ident.conf postgresql.conf start.conf

PRI-IVIEW1:/etc/postgresql/8.4/main# mkdir data

PRI-IVIEW1:/iviewdb#chmod 777 /etc/postgresql/8.4/main/data

PRI-IVIEW1:/iviewdb#chmod 777 /var/lib/postgresql/8.4/main/data

PRI-IVIEW1:/iviewdb# cp /var/lib/postgresql/8.4/main/PG_VERSION /etc/postgresql/8.4/main/data

PRI-IVIEW1:/iviewdb#cp /var/lib/postgresql/8.4/main/PG_VERSION /var/lib/postgresql/8.4/main/data/

PRI-IVIEW1:/home/gtoms# nano /etc/postgresql/8.4/main/pg_hba.conf

Database administrative login by UNIX sockets
local all postgres trust

TYPE DATABASE USER CIDR-ADDRESS METHOD

“local” is for Unix domain socket connections only
local all all trust
IPv4 local connections:
host all all 127.0.0.1/32 trust
IPv6 local connections:
host all all ::1/128 trust

/etc/init.d/postgresql restart

Selesai menginstall PostgreSQL 8.4 saya menginstall JAVA 1.5 sesuai syarat iView agar bisa berjalan, edit kembali sources.list untuk dapat mencari paket instalasi Java 1.5 :

nano /etc/apt/sources.list

deb http://ftp.us.debian.org/debian/ lenny main non-free
deb-src http://ftp.us.debian.org/debian/ lenny main non-free

deb http://security.debian.org/ lenny/updates main non-free
deb-src http://security.debian.org/ lenny/updates main non-free

PRI-IVIEW1:/home/gtoms# apt-get install openjdk-6-jdk openjdk-6-jre
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
avahi-daemon dbus dbus-x11 defoma gsfonts gsfonts-x11 java-common libasound2 libavahi-common-data libavahi-common3 libavahi-core5 libdaemon0 libdbus-1-3 libfontenc1 libfreetype6 libice6 libltdl3
libnss-mdns libsm6 libxfont1 libxi6 libxt6 libxtst6 odbcinst1debian1 sun-java5-bin sun-java5-demo sun-java5-jre unixodbc xfonts-encodings xfonts-utils
Suggested packages:
avahi-autoipd defoma-doc dfontmgr psfontmgr x-ttcidfont-conf equivs libasound2-plugins libfreetype6-dev sun-java5-doc sun-java5-source sun-java5-plugin ia32-sun-java5-plugin sun-java5-fonts ttf-baekmuk
ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming libmyodbc odbc-postgresql libct1
Recommended packages:
libft-perl
The following NEW packages will be installed:
avahi-daemon dbus dbus-x11 defoma gsfonts gsfonts-x11 java-common libasound2 libavahi-common-data libavahi-common3 libavahi-core5 libdaemon0 libdbus-1-3 libfontenc1 libfreetype6 libice6 libltdl3
libnss-mdns libsm6 libxfont1 libxi6 libxt6 libxtst6 odbcinst1debian1 sun-java5-bin sun-java5-demo sun-java5-jdk sun-java5-jre unixodbc xfonts-encodings xfonts-utils
0 upgraded, 31 newly installed, 0 to remove and 0 not upgraded.
Need to get 51.8MB of archives.
After this operation, 130MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://security.debian.org lenny/updates/main libavahi-common-data 0.6.23-3lenny3 [31.4kB]
Get:2 http://ftp.us.debian.org lenny/main libice6 2:1.0.4-1 [46.6kB]
Get:3 http://security.debian.org lenny/updates/main libavahi-common3 0.6.23-3lenny3 [48.0kB]
Get:4 http://security.debian.org lenny/updates/main libavahi-core5 0.6.23-3lenny3 [115kB]
Get:5 http://ftp.us.debian.org lenny/main libsm6 2:1.0.3-2 [22.3kB]
———————————————-skip——————————————————————-

Selesai instalasi Java 1.5 tiba saatnya menginstall iView, download iView di :

http://sourceforge.net/projects/cyberoam-iview/files/

PRI-IVIEW1:/home/gtoms#mkdir /iview

PRI-IVIEW1:/home/gtoms#mkdir /iview/archive

PRI-IVIEW1:/home/gtoms#chmod 755 iView-Linux-0.111-Setup.bin

PRI-IVIEW1:/home/gtoms# ./iView-Linux-0.111-Setup.bin

Enter Directory path to install iView
: /iview
Enter Directory path to store archived logs
: /iview/archive
Path values
IVIEW_HOME:/iview
ARCHIVE_HOME:/iview/archive
Checking kernel version compatibility …Done
Enter Postgresql 8.4 Home directory path
(Absolute path of directory that contains PostgreSQL data folder)
:/var/lib/postgresql/8.4/main/
Checking PG_version (PG 8.4 is required)...Done
searching psql client…Done
Enter JAVA 1.5 Home path
:/usr/lib/jvm/java-6-openjdk
Setting up JAVA for Cyberoam-iView (jdk 1.5 or greater is required)Java…Done
Creating IVIEW_HOME directory…Done
Copying GUI files…Done
Copying system files…Done
Updating PostgreSQL database parameters according to hardware configuration…Done
Setup starting service postgre
./iview_linux_installer/setup: line 373: /etc/init.d/postgresql-8.4: No such file or directory
please wait creating database
25%
50%
75%
100%...Done
Updating Cyberoam-iView parameters in database…Done
Specify password for default Cyberoam-iView administrator â “admin”
Administrator Username is: admin
Specify Password:
Re-enter Password:
Administrator’s Email id
henry@gultom.or.id
Registering Cyberoam-iView as a service…Done
Starting iviewd service
PRI-IVIEW1:/home/gtoms#

Ada error /etc/init.d/postgresql-8.4: No such file or directory tidak masalah, kita bisa merestart kembali dengan #/etc/init.d/postgresql restart

Cek status iview :

NGLAEM1:/home/gtoms# /etc/init.d/iviewd status
iView Web application is Running
iView Syslog server is Running

Kita bisa login ke webase iView :

http;//hostnameip:8000

Install Postgres-8.4 Debian 6

apt-get update
apt-get install debian-backports-keyring
apt-get install -t lenny-backports postgresql-8.4 phppgadmin

You'll notice that I've added phppgadmin (a Php written frontend for the DB, somewhat similar to the mysql one), remove it in case you didn't need it or hadn't Apache installed).
Let's go on with the shell! (commented lines will briefly explain what happens)

#let's stop the main daemon to avoid mess
/etc/init.d/postgresql-8.4 stop

# now let's login as the postgres user (in order to start interacting with the db)
# By default uses the same pwd as root, maybe better changing it (for clarity I'll add postgres$ before the commands)

su postgres

# this command will allow us to initiate a new database in a custom location (/my/db/path/ has to be replaced with your personal one)

postgres$ /usr/lib/postgresql/8.4/bin/initdb -D /my/db/path/

# once created our shiny new base, let's create a user to start using it (give it admin rights when prompted)

postgres$ createuser pguser

# let's change the new user's password. psql command connects to the new db and allows to manage it

postgres$ psql postgres

# once logged into the db use this command to change new user's passphrase

template1=# \password pguser;
template1=# \q

#let's get back to our root

postgres$ exit

#this passage is fundamental to get things working, it links our custom db's conf to the one the daemon will read

ln -s /my/db/path/postgresql.conf /etc/postgresql/8.4/main/postgresql.conf

Don't forget to replace ConfigDir with your personal one, on /my/db/path/postgresql.conf

Now, in order to use Phppgadmin safely, we've to change the default security behavior (if not Phppgadmin will accept random passwords to login)
On our /my/db/path/pg_hba.conf we'll have to look for the last lines where the hosts are listed and change METHOD to md5 (default should be trust)
Let's finally start the DB

/etc/init.d/postgresql-8.4 start

poniedziałek, 24 października 2011

Convert *.vhd to *.vmdk

Winimage przynajmniej 8.5

Xenserver - export obraz maszyny

winimage 8.5 przekonwertowanie do vmdk

ESX tworzymy new VM tylko nie tworzymy nowego dysku tylko podpinamy istniejacy wysłany na macierz

czwartek, 20 października 2011

Vmtools i Xentools Debian 6

Vmware

echo deb http://debian.uchicago.edu/debian/ squeeze main contrib >> /etc/apt/sources.list
echo deb-src http://debian.uchicago.edu/debian/ squeeze main contrib >> /etc/apt/sources.list

apt-get update
apt-get install open-vm-tools open-vm-source

module-assistant auto-install open-vm -i

XenServer

apt-get install xen-tools


I used this to install VMware tools to CentOS 6.2 on ESXi 4.1
Add VMware GPG keys:
rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-DSA-KEY.pub
rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
Edit /etc/yum.repos.d/vmware-tools.repo:
[vmware-tools]
name=VMware Tools
baseurl=http://packages.vmware.com/tools/esx/4.1latest/rhel6/$basearch
enabled=1
gpgcheck=1
Install VMware Tools:
yum install vmware-open-vm-tools-nox

środa, 19 października 2011

VBS podstawy

http://msdn.microsoft.com/en-us/library/7w5tbs5z(v=VS.85).aspx


skrypt

set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "\\fs\NETLOGON\dot4.exe"
WScript.Sleep 15000
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys " " <-- SPACE :)
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"

Debian gnome root

/etc/gdm3/daemon.conf:


[security]
AllowRoot=true


disable 5 line in /etc/pam.d/gdm3:


#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
#auth required pam_succeed_if.so user != root quiet_success
@include common-auth
auth optional pam_gnome_keyring.so
@include common-account
session required pam_limits.so
@include common-session
session optional pam_gnome_keyring.so auto_start
@include common-password

czwartek, 13 października 2011

Network miner Ubuntu

shell>sudo apt-get install wine wine-dev cabextract

Configure Wine -

shell>winecfg

In Application tab, change windows version to Windows 2000

shell>wget http://kegel.com/wine/winetricks

Install cofefronts and .net framework 2.0 -

shell>sh winetricks corefonts dotnet20

Download NetworkMiner -

shell>wget \
http://sourceforge.net/project/showfiles.php?group_id=189429

Unzip it and run -

shell>wine NetworkMiner.exe

MBR dd i W7

full hard disk copy

dd if=/dev/hdx of=/dev/hdy
dd if=/dev/hdx of=/path/to/image
dd if=/dev/hdx | gzip > /path/to/image.gz

Hdx could be hda, hdb etc. In the second example gzip is used to compress the image if it is really just a backup.

Restore Backup of hard disk copy

dd if=/path/to/image of=/dev/hdx

gzip -dc /path/to/image.gz | dd of=/dev/hdx

MBR backup

In order to backup only the first few bytes containing the MBR and the partition table you can use dd as well.

dd if=/dev/hdx of=/path/to/image count=1 bs=512

MBR restore

dd if=/path/to/image of=/dev/hdx

Add "count=1 bs=446" to exclude the partition table from being written to disk. You can manually restore the table.

WINDOWS 7

bootrec /fixmbr

bootrec /fixboot

bootrec /rebuildbcd

wtorek, 20 września 2011

wtorek, 6 września 2011

PowerShell

powershell.exe -noexit c:\scripts\test.ps1


---------------------------------------------------

VBScript

Set objShell = CreateObject("Wscript.Shell")
vPSscrIpt = "powershell.exe -noexit c:\eventlog.ps1"
objShell.Run vPSscrIpt

sobota, 27 sierpnia 2011

mount iso linux

mount -o loop file.iso /mnt/test

piątek, 26 sierpnia 2011

Wyświetl linie bez komentarza

np:
grep -v ^# /etc/squid/squid.conf | sed -e '/^$/d'

czwartek, 25 sierpnia 2011

Szybki router linux+iptables

ifconfig eth1 up
ip a a 192.168.1.1/24 dev eth1
iptables -A FORWARD -i eth1 -o eth0
iptables -A FORWARD -i eth0 -o eth1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

piątek, 1 lipca 2011

How to get flash player working on BT5 Gnome / KDE x64

1. Remove flash player and library
apt-get purge flashplugin-nonfree flashplugin-installer gnash gnash-common mozilla-plugin-gnash swfdec-mozilla
rm -f /usr/lib/firefox/plugins/libflashplayer.so
rm -f /usr/lib/mozilla/plugins/libflashplayer.so
rm -f /usr/lib/mozilla/plugins/flashplugin-alternative.so
rm -f /usr/lib/mozilla/plugins/npwrapper*flash*so
rm -f ~/.mozilla/plugins/*flash*so
2. Download Flash Player and Flash Square
wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz

Get from http://get.adobe.com/flashplayer/completion/?installer=Flash_Player_10.2_for_Linux_%28.tar.gz%29
Link: http://labs.adobe.com/downloads/flashplayer10_square.html
Link: http://get.adobe.com/flashplayer/otherversions/


3. Install Flash Square
tar xvfz flashplayer10_2_p3_64bit_linux_111710.tar.gz
chown root:root libflashplayer.so
chmod 0644 libflashplayer.so
cp -f libflashplayer.so /usr/lib/mozilla/plugins/
rm -rf libflashplayer.so
ln -s /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox/plugins


4. Install Flash Player again.
tar xvfz install_flash_player_10_linux.tar.gz
mkdir ~/.mozzila/plugins
mv -f libflashplayer.so ~/.mozilla/plugins/

BT5 start KDE

vi /etc/rc.local
na koncu ma być tak:

kdm
exit 0

czwartek, 30 czerwca 2011

Polonizacja Ubuntu

Aby włączyć wsparcie dla języka polskiego:

sudo dpkg-reconfigure locales

Należy wybrać pl_PL.ISO-8559-2 (Warty) pl_PL.UTF-8 UTF-8 (Hoary i późniejsze)

Można ustawić wybrane locale jako domyślne.

Ubuntu 5.04 Hoary

Aby uzyskać polskie tłumaczenia większości aplikacji w tej wersji ubuntu należy doinstalować pakiety language-pack-pl i language-pack-pl-base:

sudo apt-get install language-pack-pl language-pack-pl-base

Jeśli chcemy aby spolonizowane zostały również takie aplikacje jak openoffice.org (z polskimi słownikami), mozilla-firefox/thunderbird wystarczy doinstalować metapakiet language-support-pl:

sudo apt-get install language-support-pl

KDE

W przypadku środowiska KDE należy zainstalować odpowiedni pakiet i18n:

sudo apt-get install kde-i18n-pl

OpenOffice.org

Aby uzyskać polski interfejs użytkownika:

sudo apt-get install openoffice.org-l10n-pl

Aby korzystać z polskiego słownika ortograficznego:

sudo apt-get install myspell-pl

Mozilla Firefox

Aby uzyskać polski interfejs użytkownika trzeba zainstalowac odpowiedni plik lokalizacyjny:

sudo apt-get install mozilla-firefox-locale-pl-pl

środa, 22 czerwca 2011

Szyfrowanie partycji /home w Linuxie przy użyciu TrueCrypt

Zaczynając pisać poprzedni post w zasadzie miałem zamiar napisać o szyfrowaniu katalogu domowego przy użyciu TrueCrypt.
W czym zatem jest problem? Ano TrueCrypt nie wspiera dla Linuxa ‘full disk encryption’, czyli zaszyfrowania całego dysku twardego (partycji), włączając system operacyjny. Pod Windows podobno działa to dobrze choć sam nie sprawdzałem. Przy odrobinie wysiłku można sobie jednak z tą niedogodnością poradzić.

Na przykład na moim laptopie dysk jest podzielony w następujący sposób:
sda1 – Windows (ntfs)
sda5 – /
sda6 – /home
sda7 – /media/data (multimedia, itp.)
Na sda1 nie trzymam nic ważnego, no chyba że komuś będzie zależało na save’ach mojej ulubionej gry ;)

sda5 to root filesystem. A więc w zasadzie same pliki dystrybucyjne, nic co można było by uznać za warte zabezpieczenia przed osobami trzecimi.

sda6 to partycja /home, a więc tutaj trzymane są między innymi e-maile, historia komunikatorów, ustawienia przeglądarki (zapamiętane hasła..), i inne różne pliki używane do codziennej pracy. Zaszyfrowanie sda6 w całości to zdecydowanie dobry pomysł.

Zostaje jeszcze sda7 na którym ląduje np. muzyka czy zdjęcia. Generalnie też warto zaszyfrować, zwłaszcza że tutaj nie ma takiego problemu jak z /home. /media/data można sobie spokojnie montować kożystając z GUI będąc już zalogowanym do systemu, dokładnie tak jak w przypadku pamięci flash.

Problem z partycją /home polega na tym że trzeba ją podmonotować przed zalogowaniem użytkownika do systemu. Można to zrobić podczas startu systemu. W ten sposób że ładowanie poszczególnych usług zostaje przerwane i pojawia się prośba o podanie hasła do zaszyfrowanych partycji. Oczywiście nie zadziała to dobrze jeśli jest używany domyślny splash screen (Ubuntu). Ja akurat i tak go zawsze wyłączam bo lubię widzieć co się dzieje podczas startu. Bardziej eleganckie było by zintegrowanie tej funkcjonalności z managerem logowania, lub montowanie bezpośrednio przed zalogowaniem użytkownika na podstawie hasła systemowego. Mi jednak wystarcza takie naprostsze rozwiązanie jak opisane poniżej.

Żeby wyłączyć splash screen – w /boot/grub/menu.lst wystarczy skasowac słowo ‘splash’ przy definicji jądra z którego korzystamy.

Następnie żeby nie stracić danych które aktualnie znajduą się na /home, warto przeżucić je na drugą partycję. Stary dobry tar nam w tym pomoże.

cd /media/data/backups/
tar -cpf home.tar /home/

Kolejny krok to utworzenie nowego wolumenu TrueCrypt na partycji sda6. Uwaga: dane znajdujące się na partycji zostaną skasowane. Dlatego pierwszym krokiem była archiwizacja wszystkiego z /home. Po odpaleniu systemu, na ekranie logowania przełączamy się na konsolę kombinacją klaszy , logujemy i odmontowujemy partycję /home i zamieniamy na wolumen TrueCrypt.

# umount /dev/sda6

# truecrypt -c /dev/sda6

Obecnie TrueCrypt podczas tworzenia wolumenu zaoferuje sformatowanie go w FAT. My oczywiście wolimy coś lepszego, np. ext3. Dlatego można spokojnie wybrać „None”. Po zakończeniu tworzenia podłączamy wolumen i formatujemy go na ext3.

# truecrypt --filesystem=none /dev/sda6 /home

# truecrypt -l

1: /dev/sda7 /dev/mapper/truecrypt1 /media/data

2: /dev/sda6 /dev/mapper/truecrypt2 -

‘truecrypt -l’ wyświetlił nam listę podłączonych wolumenów. Wnioskujemy z niej, że urządzenie które chcemy sformatować to ‘/dev/mapper/truecrypt2′

# mkfs.ext3 /dev/mapper/truecrypt2

Dalej pozostaje już tylko podmontowanie zaszyfrowanego systemu plików pod /home i przekopiowanie plików z przygotowanego w pierwszym kroku archiwum

# truecrypt -d /dev/sda6

# truecrypt /dev/sda6 /home

# cd /

# tar -xpf /media/data/backups/home.tar

Po zakończeniu można wrócić do ekranu logowania i zalogować się jak zazwyczaj.

Niedogodność polega na tym że przy ponownym uruchomieniu komputera trzeba będzie ponownie podmontować partycję /home. Przełączanie się na konsole tekstowe i wpisywanie ręcznie komend za każdym razem to średnio fajny pomysł, dlatego uprościmy sobie życie dodając to do skryptów startowych.

W /etc/init.d wystarczy utworzyć nowy skrypt, np. truecrypt_mount o treści (skopiowanej z rc.local)

#! /bin/sh
### BEGIN INIT INFO
# Provides: truecrypt_mount
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: Run truecrypt_mount
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start() {
truecrypt -t -k „” –protect-hidden=no /dev/sda6 /home
truecrypt -t -k „” –protect-hidden=no /dev/sda7 /media/data
}

case „$1″ in
start)
do_start
;;
restart|reload|force-reload)
echo „Error: argument ‘$1′ not supported” >&2
exit 3
;;
stop)
;;
*)
echo „Usage: $0 start|stop” >&2
exit 3
;;
esac

Taki skrypt trzeba uczynić wykonywalnym i dodać do skryptów startowych

# chmod 666 truecrypt_mount

# update-rc.d truecrypt_mount start 99 S .

W procedurze do_start() wpisujemy polecenia które chcemy aby wykonały się podczas startu systemu.

Teraz podczas startu komputera, jeszcze przed odpaleniem trybu graficznego zostaniemy poproszeni przez TrueCrypt o podanie haseł do naszych zaszyfrowanych wolumenów.

poniedziałek, 30 maja 2011

Zmiana mac-a

ifconfig wlan0 down

ifconfig wlan0 hw ether 00:00:00:00:00:01

ifconfig wlan0 up

czwartek, 19 maja 2011

Bridge

#!/bin/sh
#Zaladowanie modulu mostka tak na wszelki wypadek :)
/sbin/modprobe bridge

#Musimy zresetować adresy na kartach sieciowych
ifconfig eth0 up 0.0.0.0
ifconfig eth1 up 0.0.0.0


# Tworzymy mostek o nazwie 'br0'.
brctl addbr br0

# Dodajmy do mostka br0 obie karty sieciowe
brctl addif br0 eth0
brctl addif br0 eth1

# Przydzielmy mostkowi adres ip, żeby komputer na eth0 i eth1 widział serwer na którym jest mostek
ifconfig br0 up 192.168.1.1 netmask 255.255.255.0

wtorek, 10 maja 2011

Certyfikat SSL - jak to działa ?

Podstawy SSL (Secure Socket Layer)

SSL jest protokołem sieciowym używanym do bezpiecznych połączeń internetowych. Został opracowany przez firmę Netscape i powszechnie go przyjęto jako standard szyfrowania na WWW.

Normalnie strony z serwerów oraz formularze do serwera są przesyłane przez sieć otwartym tekstem, który stosunkowo łatwo przechwycić (szczególnie w sieci lokalnej). Jeśli serwer używa protokołu SSL do komunikacji z przeglądarką, wówczas informacja w obie strony (między serwerem www i przeglądarką) jest przesyłana przez sieć w sposób zaszyfrowany.

SSL realizuje szyfrowanie, uwierzytelnienie serwera (ewentualnie użytkownika również) i zapewnienie integralności oraz poufności przesyłanych informacji. W momencie nawiązania połączenia z bezpieczną (stosującą protokół SSL) stroną www następuje ustalenie algorytmów oraz kluczy szyfrujących, stosowanych następnie przy przekazywaniu danych między przeglądarką a serwerem www.

Protokół SSL jest jedną z metod zapewniających bezpieczeństwo w transakcjach finansowych.

Moc szyfrowania

Ważną sprawą dla bezpieczeństwa zaszyfrowanych informacji jest długość używanych kluczy (np. 128 bitów). Im klucze są dłuższe, tym trudniej jest informacje odszyfrować. Powszechnie się uważa, że:

dla kluczy asymetrycznych: 512 - to zbyt mało, 768 - stosunkowo bezpiecznie, 1024 - silne bezpieczeństwo.
dla kluczy symetrycznych: 40 - to zbyt mało, 56 - stosunkowo bezpiecznie, 128 - silne bezpieczeństwo.

Łamanie kluczy metodą brute force (sprawdzanie po kolei możliwych kluczy).

Złamanie klucza 40 bitowego zajęło 3 godziny sieci komputerów.
Złamanie klucza 56 bitowego (w algorytmie RC5) zajęło 250 dni w ramach jednego z projektów distributed.net. Eksperyment został przeprowadzony przez sieć komputerów, których moc obliczeniowa była równoważna 26 tysięcom komputerów klasy Pentium 200.
Złamanie klucza 128 bitowego zajęłoby 1 bilion x 1 bilion lat (za pomocą pojedynczego superkomputera).

Powszechnie używa się takich skrótów myślowych:

SSL 128 bitów - transmisja danych szyfrowana z użyciem klucza symetrycznego o długości 128 bitów.
SSL 40 bitów - transmisja danych szyfrowana z użyciem klucza symetrycznego o długości 40 bitów.

Certyfikat SSL

W pierwszej fazie nawiązywania połączenia SSL serwer i przeglądarka wymieniają tzw. certyfikaty. Certyfikat jest odpowiednikiem dokumentu tożsamości dla serwera WWW oraz dla klienta banku. Certyfikat zawiera następujące składniki:

nazwę właściciela certyfikatu,
nazwę wydawcy certyfikatu,
publiczny klucz właściciela dla algorytm asymetrycznego,
cyfrowy podpis wystawcy certyfikatu (np. Verisign),
okres ważności,
numer seryjny (tzw. fingerprint).

Certyfikaty są wydawane przez niezależne i zaufane urzędy - Certification Authorities (CA). Wydanie certyfikatu jest poprzedzone sprawdzeniem autentyczności danego wnioskodawcy (czy taki ktoś istnieje, czy rzeczywiście jest tym za kogo się podaje).

Certyfikaty SSL serwera zapewniają uwierzytelnienie serwera bankowego. Łącząc się z serwerem WWW sprawdzaj czy jego certyfikat jest ważny oraz sprawdzaj informacje zawarte w certyfikacie (np. czy nazwa właściciela jest prawidłowa).

Oznaczenia SSL

Połączenie się ze stroną WWW poprzez SSL jest oznaczane w przeglądarkach następująco:

W obu przeglądarkach aktualny adres zaczyna się od https://.
W Internet Explorer, w prawej części paska stanu jest wyświetlany symbol kłódki. Kilkając kłódkę można zobaczyć szczegółowe informacje o certyfikacie. Po najechaniu na symbol kłódki wyświetlana jest informacja o długości klucza symetrycznego.
W Netscape Communicator zamknięta kłódka pokazuje się w lewej części paska stanu (normalnie jest otwarta). Wybierając opcję Security (Toolbar) możemy obejrzeć (View Certificate) certyfikat autentyczności danej strony. Wybierając polecenie View | Page Info możemy zobaczyć, jaki klucz symetryczny jest używany w transmisji. We wcześniejszych wersjach zamiast kłódki, występował cały kluczyk (SSL włączone) lub był przełamany (bez SSL).

Zbadaj teraz swoją przeglądarkę wchodząc na szyfrowane strony firmy Thawte (serwis posiada certyfikat SSL 128): https://www.thawte.com

Przeglądarki WWW: SSL 128 czy 40?

Długość klucza użyta w SSL zależy od dwóch elementów:

Rodzaju certyfikatu SSL serwera.
Przeglądarki WWW i jej możliwości szyfrowania.

Zawsze używany jest klucz o maksymalnej długości obsługiwanej przez oba elementy.

Certyfikaty serwerów dzielą się na dwa rodzaje: pełny SSL oraz SSL/SGC (Server Gated Cryptography). SGC jest pewnym uproszczeniem SSL na potrzeby omnięcia ograniczeń eksportowych (patrz dalej). Inicjacja połączenia szyfrowanego przy użyciu SSL/SGC 128 jest mniej bezpieczna, niż przy standardowym SSL 128, transmisja danych jest identyczna w SSL/SGC i SSL.

Przeglądarki IE oraz NN od wersji 4.0 wzwyż standardowo obsługują szyfrowanie SSL tylko do 56 bitów oraz szyfrowanie SSL/SGC do 128 bitów. Do pełnej obsługi szyfrowania SSL 128 potrzebna jest rozszerzona wersja przeglądarki (patrz dalej).

Polskie banki (np. Pekao, BPH, Fortis) w większości posiadają certyfikaty SSL/SGC 128 bitów, co oznacza że do korzystania z ich usług wystarczy standardowa zalecana przez bank przeglądarka. Certfyfikaty SSL 128 bitów posiada wiele sklepów poza Polską, jak również polski onet (np. adres https://secure.onet.pl), co oznacza że do korzystania z tych serwisów bardzo zalecane jest posiadanie rozszerzonej przeglądarki z pełnym SSL 128.

Przeglądarki obsługujące tylko 40-bit (lub 56-bit) dla certyfikatów SSL oraz 128-bit dla certyfikatów SSL/SGC to:

Netscape Communicator 4.0 i wyżej (wersja angielska)
http://home.netscape.com/download/
Internet Explorer 4.0 i wyżej (wersje polska i angielska)
http://www.microsoft.com/downloads/

Przeglądarki obsługujące w pełni szyfrowanie 128-bit dla certyfikatów SSL oraz SSL/SGC to:

specjalna wersja Netscape Communicator 128-bit (zwykle na CD-ROM'ach zamieszczana jest wersja Netscape Communicator 40-bit lub 56-bit) - musisz zainstalować specjalną wersję przeglądarki od nowa; od wersji 4.75 jest jedno - pełne 128-bitowe - wydanie;
http://home.netscape.com/download/
dodatek Fortify dla Netscape - dodatek doinstalowywany do Twojej przeglądarki Netscape (już od wersji 2.02), jeszcze brak takiego dodatku dla Sylaby;
http://www.fortify.net/ - sekcja Download
dodatek High Encryption Pack dla IE - dodatek doinstalowywany do Twojej przeglądarki IE. http://www.microsoft.com/downloads/ - wybierz wersję IE, którą posiadasz, a następnie znajdź odpowiedni link

Wszystkie wymienione przeglądarki i dodatki są bezpłatne, zarówno dla użytku domowego jak i komercyjnego.

Ograniczenia eksportowe związane z SSL 128 bitów obowiązywały do 2000-01-14. Ograniczenie nie pozwalały na ściąganie do naszego kraju przeglądarek z pełną obsługą 128-bitów SSL. Obecnie Polska nie jest obwarowana żadnymi ograniczeniami co do długości kluczy. Ograniczenia pozostały dla krajów: Afganistan, Kuba, Iran, Irak, Libia, Północna Korea, Serbia (z wyjątkiem Kosowa), Sudan, Syria.

Regulacja eksportowa dotycząca kryptografii z dnia 14.01.2000 wydana przez Departament Handlu rządu USA.

Test SSL przeglądarki

Pod jednym z poniższych adresów możesz sprawdzić czy Twoja przeglądarka obsługuje w pełni szyfrowanie RC-4 128 bitów w SSL, czy SSL 40 bitów.

https://www.rbc.com/cgi-bin/security/browser_test.cgi
https://www.fortify.net/sslcheck.html

Powyższe testy pokazują 128-bitów tylko dla przeglądarek, które w pełni obsługują szyfrowanie 128-SSL. Testy nie wskazują, czy przeglądarka obsługuje 128 bitów w SGC.

Algorytmy w SSL

SSL jest protokołem w którym stosuje się różne algorytmy szyfrujące.

Algorytm asymetryczny z kluczem publicznym i prywatnym serwera WWW (np. algorytm RSA). Ten algorytm jest używany w czasie inicjacji połączenia SSL: przeglądarka generuje losowo klucz prywatny symetryczny (dla następnego algorytmu), szyfruje go z użyciem klucza publicznego serwera i przesyła go do serwera, serwer za pomocą swojego klucza prywatnego asymetrycznego odczytuje klucz prywatny symetryczny.
Algorytm symetryczny z kluczem prywatnym (np. RC-4). Kiedy już przeglądarka oraz serwer posiadają ten sam klucz prywatny, rozpoczyna się komunikacja. Cała transmisja danych między serwerem i przeglądarką jest szyfrowana za pomocą klucza prywatnego symetrycznego. Jeden klucz jest używany podczas jednej sesji, w następnej sesji zostaje wygnerowany już nowy klucz prywatny.
Funkcja skrótu (np. MD-5) używana do generowania podpisów cyfrowych dla przesyłanej informacji. Podpisy zapewniają integralność przesyłanej informacji. Jeśli ktoś spróbuje zmienić dane w trakcie transmisji, zostanie to wykryte.

Meandry SSL

Poniższy rysunek przedstawia rodzaje szyfrowania SSL występujące między różnymi przeglądarkami i różnymi serwerami.

środa, 27 kwietnia 2011

Snort rules

Moduł sygnatur

Główny mechanizm systemu detekcji zagrożeń polega na dopasowaniu przetworzonych pakietów i ich zrekonstruowanych strumieni z bazą sygnatur. System detekcji porównuje cechy pakietu ze zbiorem reguł. Po dopasowaniu, zostaje podjęta odpowiednia akcja. Do porównywalnych cech należą atrybuty główne - adresy, porty źródłowe i docelowe oraz opcje pomocnicze: flagi TCP identyfikujące np. żądania związane z WWW, różne typy pakietów ICMP, opcje IP czy wreszcie sama treść pakietu. Na razie w głównej części reguł możliwe jest śledzenie protokołów IP, ICMP, TCP i UDP. Autorzy przewidują rozszerzenie Snorta o następne protokoły sieciowe, m.in. IPX, GRE, czy protokoły wymiany informacji między routerami - RIP, OSPF oraz IGRP.

Reguły identyfikowania ataku pozwalają na podjęcie pięciu rodzajów akcji: przepuszczenia pakietu (pass), zapisania informacji do dziennika (log), ogłoszenia alarmu (alert), alarmowania i podjęcia do działania innej dynamicznej reguły (activate) i pozostanie w spoczynku do czasu aktywowania przez regułę activate, po czym działanie jako reguła log (dynamic).

Sygnatury Snorta zazwyczaj składają się z dwóch głównych sekcji - nagłówka i ciała (treści). Nagłówek określa m.in., jaką akcję należy podjąć po przypasowaniu reguły, informacje o wykorzystanym protokole, adresy bądź porty źródłowe i docelowe. Ciało reguły pozwala rozwinąć informacje zawarte w nagłówku, tu także podaje sią treść wzbudzanych alarmów i różnego rodzaju informacje dodatkowe (np. odniesienia do bazy z opisami danego naruszenia, tzw. referencje - Bugtraq, CERT czy CVE).

Najprostsze sygnatury obejmują wskazanie akcji, protokołu, kierunku, adresów i portów będących przedmiotem obserwacji, jak np. poniższa reguła, stanowiąca reakcję na próbę skorzystania z usługi pop3 (port 110):

log tcp any any -> 192.168.1.0/24 110

W sygnaturach można umieszczać zmienne zdefiniowane jako adresy sieci (wg CIDR) lub porty zapisane w pliku konfiguracyjnym snort.conf:

log tcp $EXTERNAL_NET -> $HOME_NET 110

W podanych powyżej regułach wykorzystany był jednokierunkowy operator "->". Język sygnatur umożliwia zadeklarowanie reguły, który dopasuje pakiety poruszające się w obu stronach operatorem dwukierunkowym "<>", np.:

alert tcp any any <> $HOME_NET 23

Do zasadniczej części reguły można dodać ograniczone okrągłymi nawiasami pole opcjonalne (tzw. ciało), zawierające definicję bardziej złożonych i wyrafinowanych działań związanych z przejęciem danego pakietu. Użytkownik może także sformułować własny komunikat, np.:

log tcp $EXTERNAL_NET -> $HOME_NET 110 \
("msg: Proba polaczenia z pop3";)

Podjęte działania nie muszą być ograniczone do pojedynczej czynności. Średnik separuje deklaracje poszczególnych działań, jak w poniższym przykładzie, w którym opcją content testowana jest treść przesyłanego strumienia TCP, a w razie odnotowania podejrzanego ciągu znaków generowany jest odpowiedni komunikat:

alert tcp any any -> 192.168.1.0/24 80 (content: "/cgi-bin/phf"; \
msg: "PHF probe!";)

Opcji content można użyć nawet kilka razy w jednej regule. Pozwala to na wyszukiwanie wielu różnych ciągów znaków w obrębie przesyłanych treści.

Warto nadmienić, iż do przeszukania treści pakietów i reasemblowanych strumieni używany jest obecnie najbardziej efektywny algorytm - Boyera-Moore'a, którego wydajność rośnie wraz z długością poszukiwanych ciągów. Możliwość rekonstrukcji całych strumieni transmisji TCP, wglądu w warstwę aplikacyjną i efektywne wyszukiwanie treści pozwala na walkę przy użyciu Snorta również z zainfekowanymi załącznikami elektronicznych listów. Oprócz przeszukiwania treści pakietów możemy badać pod różnymi kątami ich nagłówki, m.in. pola i kody ICMP, pole TTL, rozmiary fragmentacji czy numery sekwencji.

Bardzo silną konstrukcją w regułach Snorta jest możliwość aktywowania kolejnych reguł po pierwszym dopasowaniu. Konstrukcja ta nosi nazwę activate/dynamic rules i wygląda w następujący sposób:

activate tcp any any -> $HOME_NET 143 (flags: PA; content: \
"|E8C0FFFFFF|bin|;activates: 1; msg: "IMAP buffer overflow!";)
dynamic tcp any any -> $HOME_NET 143 (activated_by: 1; count: 50;)

Opcje activates i activated_by wiążą reguły activate i dynamic. W powyższym przykładzie wykrycie ataku typu buffer overflow na serwer IMAP powoduje uruchomienie kolejnej, dynamicznej reguły, która zbiera treść następnych 50 pakietów (opcja count) w celu późniejszej analizy. Druga opcja w reguły dynamicznej jest obligatoryjna - reguła zawierająca wyłącznie opcję dowiązania do innej, macierzystej konstrukcji jest bezużyteczna.

Następne godne uwagi parametry, to resp i react wspierają mechanizm elastycznego reagowania na atak. Opcja resp może doprowadzić do zerwania połączenia, np. poprzez wysłanie do atakującego komunikatu ICMP o niedostępności trasy do zaatakowanego komputera, natomiast react służy do blokowania dostępu do usług związanych z WWW.

Naprawa systemu pliku

System plików to mechanizm organizowania różnych typów pamięci masowej (dysków twardych, płyt CD/DVD i innych) i prezentowania ich użytkownikowi. Każdy system plików składa się z kilku elementów. Blok startowy (boot block) zawiera informacje potrzebne do uzyskania przez system dostępu do systemu plików. Superblok zawiera informacje o strukturze samego systemu plików (długość i położenie tablic i-węzłów, rozmiar grup cylindrów itd.). Lista i-węzłów (inode list) to zbiór struktur danych, zawierających informacje o poszczególnych plikach w systemie (co gdzie jest itd.). Blok danych - obszar na nasze dane.
System plików może być zamontowany lub odmontowany (dostępny lub nie). Systemy plików do montowania w czasie rozruchu systemu zawiera plik /etc/fstab a listę zamontowanych obecnie nośników - /etc/mtab.

PONIŻSZYCH POLECEŃ OPERUJĄCYCH NA PARTYCJACH PROSZĘ NIE WYKONYWAĆ DLA ZABAWY/PRAKTYKI... MOGĄ USZKODZIĆ ISTNIEJĄCE SYSTEMY PLIKÓW - ZNISZCZYĆ NASZEGO LINUXA (JEŻELI UŻYTE NIEPOPRAWNIE/NIEPOTRZEBNIE ITD.)


debugfs opcje
Sprawdza i debuguje system plików ext2/3. Jest to polecenie interaktywne i stosujemy je na partycje odmontowane lub zamontowane "tylko do odczytu" (rw, read only). Źle zastosowane może uszkodzić poprawny system plików... Przykłady:
debugfs -w /dev/hda1
Co sprawdzi system plików na pierwszej partycji i naprawi w miarę możliwości napotkane błędy (debugfs pracuje w trybie odczytu i zapisu).
debugfs -R show_super_stats /dev/hda1
Co wyświetli zawartość superbloku pierwszej partycji.
Opcje:

-w urządzenie - otwiera system plików w trybie do odczytu i zapisu
-R polecenie - wykonuje polecenie i kończy działanie
-R help - wyświetla listę poleceń dla -R



df
Wyświetla rozmiar wolnej i wykorzystanej przestrzeni w systemie plików. Przykłady:
df -h


e2fsck opcje urządzenie
Służy do sprawdzania wewnętrznej spójności partycji typu ext2 i 3. Polecenie to potrafi w miarę możliwości naprawić błędy. Aby wymusić sprawdzanie spójności:
e2fsck -f /dev/hda3

Opcje:

-a - automatycznie naprawia system plików jeżeli to możliwe
-c - znajduje i oznacza wszystkie uszkodzone bloki w systemie plików



.

fsck opcje urządzenie/punkt montowania
Sprawdza i naprawia system plików linuksa. Jako cel możemy podać nazwę urządzenia lub jego punkt montowania. Przykłady:
fsck -N /mnt/hda2
Opcje:

-N - pokazuje co zostałoby zrobione/naprawione lecz nie dokonuje żadnych zmian
-A - za jednym zamachem próbuje sprawdzić wszystkie systemy plików wymienione w /etc/fstab
-a - naprawia system plików bez pytania o potwierdzenie
-r - naprawia system plików pytając o potwierdzenie.



mount opcje urządzenie punkt montowania
Montuje systemy plików. Przykłady:
mount -t vfat /dev/hda1 /mnt/win
mount -t reiserfs /dev/hda2 /mnt/linux2
mount -t iso9660 /dev/sr0 /media/cdrom
Pierwsze polecenie montuje partycję FAT (w linuxie oznaczaną jako vfar), drugie partycję linuksową reiserfs a trzecie płytę CD/DVD (iso9660). Opcje:

-t typ systemu plików - Określa typ systemu plików
-a - za jednym zamachem próbuje zamontować wszystkie systemy plików wymienione w /etc/fstab
-r - montuje system plików w trybie tylko do odczytu.
-w - montuje system plików w trybie do oczytu i zapisu



rdev
[ROOT] Wyświetla linię z pliku /etc/mtab dla bierzącego głównego systemu pliów (nazwę urządzenia na którym jest system z którego korzystamy). Przykłady:
rdev


umount punkt montowania
Odmontowuje systemy plików. Przykłady:
umount /mnt/win

Polecenie dd

Polecenie dd to narzędzie do niskopoziomowego kopiowania bit po bicie. Działa w ten sposób, że kopiuje bit po bicie źródło if= do lokalizacji of=. Można określić ile bajtów ma być przekopiowanych.

To copy a hard disk, one would use the following command (whilst root):

dd if=/dev/hdx of=/dev/hdy

Tworzenie obrazu ISO partycji;

dd if=/dev/hda1 of=/katalog/obraz_partycji1.iso

i odtwarzanie partycji:

dd if=/katalog/obraz_partycji1.iso of=/dev/hda1

Wykonanie komendy dd if=/dev/hda1 spowoduje wyrzucenie zawartości partycji na standardowe wyjscie, zatem mozemy w locie skompresować obraz:

dd if=/dev/hda1 | gzip > /katalog/obraz_parycji1.gz

Przywracanie partycji ze skomresowanego obrazu:

gzip -dcv obraz_partycji1.gz | dd of=/dev/hda1

w tym przypadku dd pobiera dane ze standardowego wejścia i zapisuję na partycji.

Tworzenie kopii MBR:

dd if=/dev/hda of=/katalog/mbr_backup bs=512 count=1

Generowanie pliku z losowymi danymi 1GB:

dd if=/dev/urandom of=1gb.random bs=512 count=2097152

Tworzenie obrazu płyty kompaktowej

dd if=/dev/cdrom of=/katalog/obraz_plyty.iso

wtorek, 26 kwietnia 2011

Szyfrowanie poczty w Thunderbird

W kategorii: bezpieczeństwo danych, zabezpieczenia, gpg, thunderbird, e-mail, szyfrowanie
Bezpieczeństwo-pocztyPo przeczytaniu dowiesz się:

*

Dlaczego warto szyfrować komunikację e-mail.
* Na jakiej zasadzie funkcjonuje szyfrowanie wiadomości z wykorzystaniem oprogramowania GPG.
* Jaka jest różnica pomiędzy kluczem prywatnym a publicznym?
*

Jak skonfigurować szyfrowanie wiadomości e-mail w programie pocztowym Thunderbird (w środowisku Windows).
* Jak za pomocą dwóch kliknięć wysyłać szyfrowane e-maile.

Jeśli tekst będzie dla Ciebie przydatny, prosimy o umieszczenie linku do artykułu na Twojej stronie www.
Wstęp

Poczta elektroniczna jest niezmiernie wygodnym i popularnym sposobem komunikacji. Nagminnie jednak, za pośrednictwem e-maili przesyłane są takie poufne informacje jak:

* szczegółowe dane osobowe Klientów,
* strategiczne plany przedsiębiorstwa,
* inne informacje (np. listy płac), do których dostęp powinny mieć tylko uprawnione osoby.

Informacje te często nie są w żaden sposób chronione - mogą być przechwytywane, a następnie odczytywane przez osoby postronne.

Jednym z popularnych, a zarazem relatywnie prostych sposobów na zapewnienie poufności e-maili, jest szyfrowanie wiadomości.

W artykule zostanie pokazany sposób konfiguracji klienta pocztowego, umożliwiający tworzenie i odczytywanie zaszyfrowanych informacji. W tym celu wykorzystane zostanie następujące oprogramowanie:

* Klient poczty Thunderbird.
* Oprogramowanie szyfrujące GPG (the GNU Privacy Guard).
* Dodatek do Thunderbird o nazwie Enigmail.

Wszystkie wskazane powyżej programy są dostępne bezpłatnie - również do użytku komercyjnego. Co więcej, obsługa oprogramowania możliwa jest w języku polskim.
Lista oprogramowania

Poniżej przedstawiamy listę oprogramowania, które można bezpłatnie pobrać ze wskazanych stron producentów. W kolejnym kroku określimy w jaki sposób zainstalować i skonfigurować poniższe aplikacje.
Klient poczty - Thunderbird.

Jest to znany program do obsługi poczty, stworzony przez twórców przeglądarki internetowej Firefox. Thunderbirda w polskiej wersji językowej można pobrać tutaj.
Oprogramowanie kryptograficzne - GPG (the GNU Privacy Guard).

Oprogramowanie to nie będzie wykorzystywane bezpośrednio - odpowiednie wywołania wykonywane będą bez naszego udziału - poprzez program Thunderbird.

Wersję dla systemu Windows można pobrać tutaj (sekcja Binaries, "GnuPG 1.4.9 compiled for Microsoft Windows").

Można również skorzystać z Bezpośredniego linku do pobrania wersji 1.4.9 GPG.
Enigmail - rozszerzenie do Thunderbird.

Enigmail umożliwia bardzo proste korzystanie z funkcjonalności GPG w kliencie pocztowym Thunderbird. Dzięki Enigmail nie musimy znać, skomplikowanej składni wywołań programu GPG.

Najnowszą wersję - zawierającą polskie tłumaczenie interface - można pobrać bezpłatnie ze strony producenta.
Instalacja oprogramowania

Klient poczty Thunderbird oraz GPG - posiadają programy instalacyjne, które zapewniają szybką i niewymagającą zaangażowania instalację.

Dodatek Enigmail można zainstalować poprzez wybranie w Thunderbird, z menu głównego, opcji: Narzędzia -> Dodatki, a następnie kliknięcie przycisku "Zainstaluj".
szyfrowanie-poczty-thunderbird-instalacja-enigmail



Po wybraniu pobranego przez nas wcześniej pliku instalacyjnego Enigmail (np. enigmail-0.95.7-tb+sm.xpi) oraz restarcie Thunderbird, dodatek jest gotowy do użycia - dostępna staje się nowa pozycja menu głównego: OpenPGP.

Zanim przejdziemy do omawiania konfiguracji Thunderbird, warto poruszyć kwestie dotyczące tzw. kluczy szyfrujących wykorzystywanych w procesie szyfrowania wiadomości.
Klucze: publiczny i prywatny

Środowisko, którego konfigurację omawia artykuł opiera się na tak zwanej kryptografii asymetrycznej. W skrócie, pojęcie wiąże się z wykorzystaniem dwóch kluczy szyfrujących:

* Klucza publicznego
* Klucza prywatnego

Klucz publiczny służy do szyfrowania danych. Jego nazwa (publiczny) umożliwia zapamiętanie, że klucz może być publicznie dostępny dla wszystkich. Jeśli ktoś chce zaszyfrować do mnie informację - wykorzystuje mój klucz publiczny. Każdy może posiadać mój klucz publiczny, więc każdy może zaszyfrować do mnie informację.

Klucz prywatny służy do deszyfrowania danych. Jego nazwa (prywatny) przypomina, że nie powinien być znany nikomu poza właścicielem. Jeśli chcę odszyfrować wysłaną do mnie informację - wykorzystuję klucz prywatny - znany tylko mi. W ten sposób tylko ja mogę odszyfrować przesłaną do mnie zaszyfrowaną wiadomość.

Uwaga: klucz prywatny może służyć również do podpisu cyfrowego wiadomości, a klucz publiczny do jego weryfikacji. W niniejszym tekście nie będziemy jednak zajmować się tym zagadnieniem.

Powyższa para kluczy generowana jest każdorazowo dla użytkownika, który chce korzystać z możliwości szyfrowania wiadomości. Zatem naszą pierwszą czynnością po zainstalowaniu odpowiedniego oprogramowania, będzie wygenerowanie tej pary kluczy.
Konfiguracja Thunderbird - generacja kluczy

Zakładamy, iż czytelnik skonfigurował już odpowiednie konto pocztowe (opcje: Narzędzia -> Konfiguracja kont -> Dodaj konto) i może wysyłać oraz odbierać nieszyfrowaną pocztę.

Jak wspomnieliśmy wcześniej, pierwszym punktem na drodze do korzystania z szyfrowanych e-maili jest wygenerowanie pary kluczy - prywatnego i publicznego. Można to wykonać korzystając z opcji:

OpenPGP ->Zarządzanie kluczami -> Generowanie -> Nowa para kluczy.

Uwaga: Przy pierwszym odwołaniu opcji Zarządzanie kluczami zostanie wywołany kreator. Na potrzeby poniższego artykułu - nie sugerujemy korzystać z kreatora.

W oknie generowania klucza powinniśmy uzupełnić następujące dane:

* Hasło zabezpieczające klucz prywatny.
Hasło powinno być odpowiednio skomplikowane i trudne do odgadnięcia.
* Okres ważności klucza.
Domyślnie okres ważności to 5 lat. Rekomendujemy zmienić tą wartość na o wiele mniejszą, np. 6 miesięcy.

Thunderbird - generacja kluczy

W związku procedurą generacji haseł mogą nasunąć się następujące pytania:

* W jakim celu dodatkowo zabezpieczać klucz prywatny?
Otóż jeśli ktoś uzyska dostęp do naszego klucza prywatnego - jest m.in. w stanie odszyfrować wysłane do nas wiadomości. Hasło to dodatkowe zabezpieczenie przed uzyskaniem dostępu do klucza prywatnego przez niepowołane osoby.

* Co zrobić w przypadku uzyskania dostępu do klucza prywatnego przez inne osoby?
Wygenerować nową parę kluczy, oraz poprosić wszystkich zainteresowanych o usunięcie z programów pocztowych naszego wcześniejszego klucza i dodanie klucza nowego.

* Dlaczego warto zmienić okres ważności klucza na krótki?
Procedura wymiany pary kluczy po kompromitacji (np. upublicznieniu) klucza prywatnego jest uciążliwa. Krótki okres ważności powoduje zmniejszenie przedziału czasowego, w którym skompromitowany klucz może być przedmiotem nadużyć (np. max 6 miesięcy, zamiast domyślnej wartości 5 lat).

Szyfrowanie danych

Jak wspomnieliśmy wcześniej, aby zaszyfrować do kogoś wiadomość, należy skorzystać z klucza publicznego adresata. Klucze publiczne przekazywane są najczęściej w formie pliku tekstowego (umieszczanego na stronie www lub przesyłanego w e-mailu).

Aby przetestować poprawność szyfrowania, wykorzystać można nasz klucz publiczny dostępny tutaj (umożliwiający przesyłanie szyfrowanych maili na adres: securitum@securitum.pl).

Klucz publiczny można zaimportować wybierając z menu głównego Thunderbird:

OpenPGP -> Zarządzanie kluczami -> Plik -> Import kluczy z pliku

Import klucza publicznego



Po zaimportowaniu klucza dostępny jest on na liście kluczy i gotowy do użycia. Warto zauważyć iż zaimportowany klucz skojarzony jest z konkretnym adresem e-mail (np. z securitum@securitum.pl).

Jeśli chcemy zaszyfrować e-mail, wystarczy podczas tworzenia wiadomości, w menu OpenPGP zaznaczyć opcję "Wyślij z szyfrowaniem". Po zredagowaniu maila i naciśnięciu "Wyślij", wiadomość zostanie zaszyfrowana automatycznie (przy założeniu, że wcześniej zaimportowaliśmy klucz publiczny adresata do którego wysyłamy e-mail).

Thunderbird - wysylka szyfrowanej poczty



Podsumowując: aby wysłać zaszyfrowany e-mail należy:

* Poprosić adresata e-maila o klucz publiczny.
* Zaimportować klucz publiczny do Thunderbirda.
* Przy wysyłaniu maila do osoby, zaznaczyć opcję "Wyślij z szyfrowaniem".

Jak umożliwić innym wysyłanie do nas szyfrowanych maili?

W skrócie - należy przekazać swój klucz publiczny. W ogólności można to zrealizować z wykorzystaniem dwóch metod:
Za pośrednictwem E-mail

Najprostszy sposób przekazania klucza publicznego to wysłanie e-maila, zawierającego w załączniku klucz.

Pisząc nowy e-mail zaznaczamy opcję: OpenPGP -> Załącz mój klucz publiczny.

Jak wskazuje powyższa opcja, do takiego e-maila automatycznie zostanie dołączony załącznik zawierający klucz publiczny. Jeśli adresat używa Thunderbirda, wystarczy, że kliknie prawym przyciskiem myszy na załącznik i wybierze opcję "Importuj klucz OpenPGP". W tym momencie adresat może wysyłać do nas szyfrowaną pocztę.

Thunderbird - wysylka klucza publicznego


Przekazując plik

* Wybieramy opcję: OpenPGP-> zarządzanie kluczami.
* Klikamy prawym przyciskiem na naszym kluczu i wybieramy opcję eksport kluczy do pliku.
* Na pytanie "Czy chcesz włączyć klucz prywatny do zapisywanego pliku z kluczami OpenPGP" należy odpowiedzieć: NIE. Przypominamy: nazwa "klucz prywatny", podpowiada że nie powinniśmy nikomu przekazywać tego klucza.
* Zapisany plik dostarczamy (np. za pośrednictwem pendrive) osobom, które chcą do nas wysyłać szyfrowaną korespondencję.

Z wykorzystaniem serwera kluczy

* W managerze zarządzania kluczami (OpenPGP -> Zarządzanie Kluczami) odpowiednie opcje dostępne są w menu (Serwer Kluczy).
* Jest to elastyczna metoda wymiany kluczy, jednak koniecznie wymaga potwierdzenia czy pobrany przez nas klucz jest poprawny (patrz weryfikacja klucza - na końcu tekstu).


Jak odczytać zaszyfrowaną wiadomość?

Jeśli ktoś prześle do nas szyfrowaną pocztę, po wybraniu danego e-maila, pojawi się okno z prośbą o wpisanie hasła do klucza prywatnego. Po wpisaniu poprawnego hasła, e-mail zostanie automatycznie odszyfrowany i pokazany w analogicznej formie jak korespondencja nieszyfrowana.
Podsumowanie

* Aby móc przesyłać i odczytywać zaszyfrowane treści wystarczy wykonać kilka prostych operacji:

1. Zainstalować odpowiednie oprogramowanie.
2. Wygenerować parę kluczy (prywatny i publiczny).
3. Zapamiętać hasło chroniące klucz prywatny.
4. Udostępnić klucz publiczny - w celu umożliwienia wysyłania do nas komunikacji szyfrowanej.

* Klucz publiczny może (i powinien) być udostępniany publicznie. Korzystają z niego wszyscy, którzy chcą przesyłać do nas szyfrowaną pocztę
* Klucz prywatny nie powinien być nikomu udostępniany. Służy do odszyfrowywania poczty.

Dodatkowe sposoby zwiększające bezpieczeństwo (dla zaawansowanych).

Przedstawiona w powyższym tekście procedura szyfrowania poczty elektronicznej, istotnie zwiększa bezpieczeństwo przesyłanych maili. Szczególnie w przypadku przesyłania danych o krytycznej istotności, bezpieczeństwo to można podnieść stosując poniższe techniki.
Weryfikacja instalowanego oprogramowania

Aby zwiększyć bezpieczeństwo całej procedury warto weryfikować instalowane binaria - np. poprzez kontrolę sumy SHA-1.
Weryfikacja importowanych kluczy

Przekazując klucze publiczne, rekomendujemy weryfikować ich autentyczność. Przykładowe sposoby weryfikacji:

* Poprzez weryfikację ID klucza (przykładowe ID: 0x2B8D5361).
* Poprzez weryfikację odcisku palca klucza (przykładowy odcisk: 6AA2 F30B 7536 5491 FF01 C56C 9A30 0444 2B8D 5361).
* W przypadku wysyłki e-mailem klucza publicznego, powyższe dane można zweryfikować np. telefonicznie.
* Poprzez fizyczne przekazanie klucza publicznego do osoby zainteresowanej.

Wykorzystanie oprogramowania antywirusowego.

Poza ochroną przed wirusami stacji roboczej, oprogramowanie takie jest w stanie wykryć również aplikacje typu malware, umożliwiające np. wrogie przejęcie dostępu do klucza prywatnego.

Jak sprawdzić czy dany adres email istanieje ??

Jeśli nie pamiętasz nazwy domeny, przywołaj okno wiersza poleceń i wpisz:

Nslookup -q=mx [nazwa_domeny]

W ten sposób sprawdzisz, czy za ten adres odpowiada serwer pocztowy. Zmiennną [nazwa_domeny] zastąp nazwą domeny, np. pcworld.pl. Jeśli na liście wyników w wierszu mail exchanger= jest wyszczególniony co najmniej jeden adres, jest serwer pocztowy.

Jednak już nie tak prosto ustalić, czy na serwerze pocztowym istnieje określone konto pocztowe i określony adresat. Najwygodniej zrobisz to korzystając z tego serwisu internetowego:

http://www.email-unlimited.com/tools/verify-email.aspx

Alternatywnie możesz sprawdzić adres za pomocą konsoli tekstowej. Otwórz ją i wpisz następujące polecenia:

telnet [mail.server.pl] 25
helo hi
mail from: [twój_adres_pocztowy]
rcpt to: [adres_do_sprawdzenia]
quit


Zamiast zmiennych podanych w nawiasach wpisz żądane adresy pocztowe. Każdy wiersz potwierdź naciśnięciem klawisza [Enter]. Po wpisaniu rcpt to: serwer może zwrócić komunikat mailbox unavailable, jeśli adres nie istnieje. Komunikatem recipient ok potwierdzi dostępność adresu. Dokładne brzmienie komunikatów zależy jednak od serwera pocztowego, więc mogą się one różnić od podanych.

środa, 20 kwietnia 2011

screen

$ screen program
$ screen -S nazwa #jeżeli chcemy nazwać screen jakoś sensownie, przydaje się gdy mamy kilka screenów)

$ screen -r nazwa

$ screen -dr nazwa

$ screen -S nazwa -d -m program

Skrót klawiszowy Akcja
Ctrl-a d Usypia screen'a zachowując wszystkie aplikacje w tle
Ctrl-a c Tworzy nowe okno z powłoką systemową
Ctrl-a n Przechodzi do następnego okna
Ctrl-a [spacja] Przechodzi do następnego okna
Ctrl-a p Przechodzi do poprzedniego okna
Ctrl-a " Wyświetla listę okien
Ctrl-a A Zmienia nazwę aktywnego okna
Ctrl-a S Dzieli konsolę na 2 części
Ctrl-a [TAB] Przenosi kursor do kolejnej części podzielonego ekranu
Ctrl-a X Zamyka aktywną część podzielonego ekranu
Ctrl-a x Blokada screena aż do wpisania hasła
Ctrl-a K zabicie aktywnego okna"

Konfiguracja mieści się w pliku .screenrc w $HOME

#wyłączyć wiadomość powitalną
startup_message off
#duży bufor przewijania
defscrollback 5000
#pasek statusu w ostatniej linijce
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %D %d %M - %c"
#Skrót Ctrl-a przy częstym używaniu staje się męczący.
#Można go zmienić na inny nie wymagający użycia Ctrl,
#np. na `. Samo ` w oknie mozna uzyskac przez ``
escape "``"
#w oknie nr 1 uruchomić emacsa bez buforu przewijania
screen -h 0 1 emacs -nw
# wyłączyć migający ekran po wciśnięciu
vbell off

----------------------------------------------------------------------------

Podaj emulacji ANSI/VT100, umożliwiając uruchamianie wielu pełnoekranowym pseudo-terminali z jednego terminalu rzeczywistym i pozwalając manipulować i zapisać ekran wejścia i wyjścia, kopiowanie i wklejanie między oknami, itd.
-a -

Include all capabilities in each window's termcap. Uwzględnij wszystkie możliwości w każdym oknie w termcap.

-A -A

Adapt all windows to the size of the current terminal. Dostosowanie wszystkich okien do rozmiaru bieżącego terminala. Default is to try to use the previous window size. Domyślnie jest to, aby spróbować użyć poprzedniego rozmiaru okna.

-c file -C plik

Use file as the configuration file instead of the default $HOME/.screenrc . Użyj pliku jako pliku konfiguracyjnego zamiast domyślnego $ HOME / .screenrc.

-d -D

Detach session running elsewhere. Odłącz sesję pracy gdzie indziej. With -r , reattach to this terminal. Z-r, ponownie podłączyć do tego terminala. With -R , reattach to this terminal or create it if it doesn't already exist. Z-R, ponownie podłączyć do tego terminala lub go utworzyć, jeśli nie istnieje. With -RR , use the first session when reattaching if more than one session is available. Z-RR, należy użyć pierwszej sesji podczas ponownego podłączania jeśli więcej niż jedna sesja jest dostępny.

-D -D

Detach session running elsewhere, logging out before detaching. Odłącz sesję pracy gdzie indziej, wylogowanie się przed odłączeniem. With -r , reattach to this terminal. Z-r, ponownie podłączyć do tego terminala. With -R , reattach to this terminal or create it if it doesn't already exist. Z-R, ponownie podłączyć do tego terminala lub go utworzyć, jeśli nie istnieje. With -RR , do whatever is necessary to create a new session. Z-RR, robić, co jest niezbędne do stworzenia nowej sesji.

-e xy -E xy

Change command characters. Zmiana znaków polecenia. Specify x as the command character (default Ctrl-a ) and y as the character that generates a literal command character (default a ). Określ x jako znak komendy (domyślnie Ctrl-a) i y jako znak, który generuje literalny znak komendy (domyślnie). Specify in caret notation (eg, -e ^Pp to set Ctrl-p as the command character, which is useful for emacs -mode shell ). Określ w daszek zapisu (np.-e ^ Pp ustawić Ctrl-p jako znak komendy, co jest przydatne dla powłoki trybu emacs).

-f , -fn , -fa -F,-fn-fa

Turn flow control on, off, or to automatic-switching mode. Włącz kontrolę przepływu włączona, wyłączona, tryb automatyczny lub przełączania.

-h num -H num

Specify the size of the history scrollback buffer. Określa rozmiar bufora przewijania historii.

-i -I

Cause the interrupt key (usually Ctrl-c ) to interrupt the display immediately when flow control is on. Bo klawisz przerwania (zwykle Ctrl-c), aby przerwać wyświetlanie natychmiast gdy jest kontrola przepływu. Use of this option is discouraged. Używanie tej opcji nie jest zalecane.

-l , -ln -L,-ln

Turn login mode on or off for /etc/utmp updating. Włącz logowanie lub wyłącza tryb do / etc / utmp aktualizacji.

-ls , -list -Ls,-list

Print list of pid.tty.host strings identifying screen sessions. Wypisuje pid.tty.host ciągi identyfikacji sesji screen.

-L -L

Tell screen that automargin terminal has a writable last position. Powiedz ekranie terminala automargin ma zapisu ostatniej pozycji.

-m -M

Ignore the $STY environment variable and create a new session. Zignoruj ​​$ STY zmienna i utworzyć nową sesję. With -d , start session in detached mode; useful for scripts. Z-d, sesja rozpocznie się indywidualny tryb; przydatne dla skryptów. With -D , start session in detached mode but don't fork a new process; the command exits if the session terminates. Z-D, rozpoczęcie sesji w trybie indywidualny, lecz nie rozwidla nowego procesu; polecenie zakończyło się gdy kończy się sesja.

-O -O

Use optimal output mode for terminal rather than true VT100 emulation. Użyj optymalny tryb wyjściowy dla terminala niż prawdziwy emulacji VT100.

-p window -P oknie

Preselect the specified window if it exists. Wybierz wstępnie określonego okna, jeśli istnieje.

-q -Q

Suppress error message printing on startup. błąd wstrzymywanie drukowania komunikat przy starcie. Exit with nonzero return code if unsuccessful. Wyjście z kodem powrotu niezerowe w razie porażki.

-r [ pid.tty.host ] -R [pid.tty.host]

-r sessionowner /[ pid.tty.host ] r sessionowner-/ [pid.tty.host]

Resume detached session. Resume indywidualny sesji. No other options except -d or -D can be specified. Żadnych innych możliwości poza-d lub-D może być określony. With sessionowner , resume another user's detached session; requires setuid root. Z sessionowner, wznowić innego użytkownika indywidualny sesji; wymaga setuid root.

-R -R

Attempt to resume the first session found, or start a new session with the specified options. Próba wznowienia pierwszej sesji, lub jego rozpoczęciem nowej sesji z określonych opcji. Set by default if screen is run as a login shell. Domyślnie ustawione jeśli screen jest uruchamiany jako powłoki.

-s shell -S powłoka

Set the default shell, overriding the $SHELL environment variable. Ustaw domyślną powłokę, zastępując $ zmiennej SHELL.

-S name Nazwa-S

Specify a name for the session being started. Podaj nazwę dla sesji jest uruchomiona.

-t name -T nazwa

Set the window's title. Ustaw tytuł okna.

-T term -T termin

Set $TERM to term instead of "screen". Ustaw $ TERM termin zamiast "screen".

-U -U

Run in UTF-8 mode and set the default for new windows to UTF-8.ctrl . Uruchom w trybie UTF-8 i ustawić domyślną dla nowych okien na UTF-8.ctrl.

-v -V

Print version information and exit. Drukuj informację o wersji i zakończ.

-wipe [ match ] -Wipe [dopasowanie]

Like -ls , but remove destroyed sessions instead of marking them dead. Jak-ls, ale usunąć zniszczone sesje zamiast zaznaczać je martwe. If a match is specified, it should be in the same form as the argument to the -r option. Jeśli mecz jest określony, powinno być w tej samej formie jako argument do opcji-r.

-x -X

Attach to a session that is not detached. Dołącz do sesji, że nie jest odłączony. Requires multi-display mode. Wymaga wielu trybu wyświetlania.

-X -X

Run specified command in specified session. Uruchom określonego polecenia w określonej sesji. Requires multi-display mode, and session must not be password-protected. Wymaga tryb wyświetlania na wielu ekranach, a sesja nie może być chroniony hasłem.

TCPDUMP

tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

21:57:29.004426 IP 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
21:57:31.228013 arp who-has 192.168.1.2 tell 192.168.1.1
21:57:31.228020 arp reply 192.168.1.2 is-at 00:04:75:22:22:22 (oui Unknown)
21:57:38.035382 IP 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
21:57:38.613206 IP valve-68-142-64-164.phx3.llnw.net.27014 > 192.168.1.2.1034: UDP, length 36

To display the verbose output:

#tcpdump -v
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:00:11.625995 IP (tos 0x0, ttl 128, id 30917, offset 0, flags [none], proto: UDP (17), length: 81) 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
22:00:20.691903 IP (tos 0x0, ttl 128, id 31026, offset 0, flags [none], proto: UDP (17), length: 81) 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
22:00:21.230970 IP (tos 0x0, ttl 114, id 4373, offset 0, flags [none], proto: UDP (17), length: 64) valve-68-142-64-164.phx3.llnw.net.27014 > 192.168.1.2.1034: UDP, length 36
22:00:26.201715 arp who-has 192.168.1.2 tell 192.168.1.1
22:00:26.201726 arp reply 192.168.1.2 is-at 00:04:11:11:11:11 (oui Unknown)
22:00:29.706020 IP (tos 0x0, ttl 128, id 31133, offset 0, flags [none], proto: UDP (17), length: 81) 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
22:00:38.751355 IP (tos 0x0, ttl 128, id 31256, offset 0, flags [none], proto: UDP (17), length: 81) 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53

Network interfaces available for the capture:

#tcpdump -D
1.eth0
2.any (Pseudo-device that captures on all interfaces)
3.lo

To display numerical addresses rather than symbolic (DNS) addresses:

#tcpdump -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:02:36.111595 IP 192.168.1.2.1034 > 68.142.64.164.27014: UDP, length 53
22:02:36.669853 IP 68.142.64.164.27014 > 192.168.1.2.1034: UDP, length 36
22:02:41.702977 arp who-has 192.168.1.2 tell 192.168.1.1
22:02:41.702984 arp reply 192.168.1.2 is-at 00:04:11:11:11:11
22:02:45.106515 IP 192.168.1.2.1034 > 68.142.64.164.27014: UDP, length 53
22:02:50.392139 IP 192.168.1.2.138 > 192.168.1.255.138: NBT UDP PACKET(138)
22:02:54.139658 IP 192.168.1.2.1034 > 68.142.64.164.27014: UDP, length 53
22:02:57.866958 IP 125.175.131.58.3608 > 192.168.1.2.9501: S 3275472679:3275472679(0) win 65535

To display the quick output:

#tcpdump -q
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:03:55.594839 IP a213-22-130-46.cpe.netcabo.pt.3546 > 192.168.1.2.9501: tcp 0
22:03:55.698827 IP 192.168.1.2.9501 > a213-22-130-46.cpe.netcabo.pt.3546: tcp 0
22:03:56.068088 IP a213-22-130-46.cpe.netcabo.pt.3546 > 192.168.1.2.9501: tcp 0
22:03:56.068096 IP 192.168.1.2.9501 > a213-22-130-46.cpe.netcabo.pt.3546: tcp 0
22:03:57.362863 IP 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
22:03:57.964397 IP valve-68-142-64-164.phx3.llnw.net.27014 > 192.168.1.2.1034: UDP, length 36
22:04:06.406521 IP 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53
22:04:15.393757 IP 192.168.1.2.1034 > valve-68-142-64-164.phx3.llnw.net.27014: UDP, length 53

Capture the traffic of a particular interface:

tcpdump -i eth0
To capture the UDP traffic:

#tcpdump udp
To capture the TCP port 80 traffic:

#tcpdump port http
To capture the traffic from a filter stored in a file:

#tcpdump -F file_name
To create a file where the filter is configured (here the TCP 80 port)

#vim file_name
port 80
To stop the capture after 20 packets:

#tcpdump -c 20
To send the capture output in a file instead of directly on the screen:

#tcpdump -w capture.log
To read a capture file:

#tcpdump -r capture.log
reading from file capture.log, link-type EN10MB (Ethernet)

09:33:51.977522 IP 192.168.1.36.40332 > rr.knams.wikimedia.org.www: P 1548302662:1548303275(613) ack 148796145 win 16527
09:33:52.031729 IP rr.knams.wikimedia.org.www > 192.168.1.36.40332: . ack 613 win 86
09:33:52.034414 IP rr.knams.wikimedia.org.www > 192.168.1.36.40332: P 1:511(510) ack 613 win86
09:33:52.034786 IP 192.168.1.36.40332 > rr.knams.wikimedia.org.www: . ack 511 win 16527

The captured data isn't stored in plain text so you cannot read it with a text editor, you have to use a special tool like TCPdump (see above) or Wireshark (Formerly Ethereal) which provides a graphical interface.

The capture.log file is opened with Wireshark.


To display the packets having "www.openmaniak.com" as their source or destination address:

#tcpdump host www.openmaniak.com
To display the FTP packets coming from 192.168.1.100 to 192.168.1.2:

#tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp
To display the packets content:

#tcpdump -A
Packets capture during a FTP connection. The FTP password can be easily intercepted because it is sent in clear text to the server.

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ath0, link-type EN10MB (Ethernet), capture size 96 bytes
20:53:24.872785 IP ubuntu.local.40205 > 192.168.1.2.ftp: S 4155598838:4155598838(0) win 5840
....g....................
............
20:53:24.879473 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 1228937421 win 183
....g.I@.............
........
20:53:24.881654 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 43 win 183
....g.I@.......8.....
......EN
20:53:26.402046 IP ubuntu.local.40205 > 192.168.1.2.ftp: P 0:10(10) ack 43 win 183
....g.I@......`$.....
...=..ENUSER teddybear

20:53:26.403802 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 76 win 183
....h.I@.............
...>..E^
20:53:29.169036 IP ubuntu.local.40205 > 192.168.1.2.ftp: P 10:25(15) ack 76 win 183
....h.I@......#c.....
......E^PASS wakeup

20:53:29.171553 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 96 win 183
....h.I@.,...........
......Ez
20:53:29.171649 IP ubuntu.local.40205 > 192.168.1.2.ftp: P 25:31(6) ack 96 win 183
....h.I@.,...........
......EzSYST

20:53:29.211607 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 115 win 183
....h.I@.?.....j.....
......Ez
20:53:31.367619 IP ubuntu.local.40205 > 192.168.1.2.ftp: P 31:37(6) ack 115 win 183
....h.I@.?...........
......EzQUIT

20:53:31.369316 IP ubuntu.local.40205 > 192.168.1.2.ftp: . ack 155 win 183
....h.I@.g...........
......E.
20:53:31.369759 IP ubuntu.local.40205 > 192.168.1.2.ftp: F 37:37(0) ack 156 win 183
....h.I@.h.....e.....
......E.

We see in this capture the FTP username (teddybear) and password (wakeup).

wtorek, 19 kwietnia 2011

Yakuake – inny terminal rodem z Quake’a

Skróty klawiszowe

* Shift+Alt+strzalki — zmiana rozmiaru okna
* Ctrl+Shift+N — nowa sesja
* Shift+ (lewo,prawo) — poruszanie się między sesjami
* Ctrl+Shift+(lewo,prawo) — zmiana pozycji sesji
* Ctrl+Shift+F — pelny ekran
* Ctrl+Alt+S — zmiana nazwy aktualnej sesji
* Shift+LPM — zaznaczanie i kopiowanie
* Ctrl+Shit+L — podzielenie okna w pionie
* Ctrl+Shit+T — podzielenie okna w poziomie

poniedziałek, 18 kwietnia 2011

VSFTPD

Konfiguracja vsftpd ( Very Secure FTP Server )
28 lip

Jest to prawdopodobnie najbezpieczniejszy i najszybszy UNIX’owy serwer FTP. Jego zaletami są m.in. prostota konfiguracji, bezpieczeństwo i szybkość (transfer jest o wiele większy niż w przypadku innych serwerów ftp). Dodatkowo warto wspomnieć, że w jego kodzie nie znaleziono „błędów krytycznych”. Używany jest m.in. na serwerach ftp.redhat.com, ftp.openbsd.org, ftp.suse.com, ftp.ximian.com, ftp.kde.org, ftp.debian.org, ftp.gnome.org, ftp.gnu.org i inne, co potwierdza tezę, że vsftpd jest zaufanym i dojrzałym narzędziem. Sama nazwa mówi za siebie – „vs” jest skrótem od Very Secure. Jeżeli chcesz mieć bezpieczny, wydajny i stabilny serwer FTP, powinieneś spróbować vsftpd.

Instalacja
# apt-get update
# apt-get install vsftpd

Konfiguracja
vsftpd pozwala nam na odpalenie wielu serwerów FTP jednocześnie na różnych portach, dzięki temu zyskujemy możliwość odpalenia serwera anonimowego osobno konfigurowalnego obok serwera produkcyjnego. Zmiana konfiguracji jednego lub wyłączenie nie zakłóci pracy drugiego. Postaram się przedstawić taką konfigurację w tym wpisie.

Standardowy plik konfiguracyjny vsftpd znajduje się w /etc/vsftpd.conf . Od razu po instalacji znajdziemy w nim sporo już gotowych ustawień, jednak polecałbym wykasować jego zawartość i stworzyć go od nowa. Oto niektóre z najważniejszych opcji jakie możemy wykorzystać podczas budowania własnego configa.

# Poziom z którego zostaje uruchomiony serwer
nopriv_user=

# Uruchamianie serwera w trybie standalone
listen=

# Określenie portu, na którym serwer ma nasłuchiwać (domyślnym jest port 21)
listen_port=

# Zabronienie na logowanie się użytkownikom anonimowym, domyślnie jest to YES
anonymous_enable=

# Zezwolenie na logowanie się użytkownikom lokalnym, domyślnie jest to NO
local_enable=

# Zezwolenie na zapis w katalogu użytkownika lokalnego
write_enable=

# Umask (w większości serwerów używany jest 022)
local_umask=

# Umask dotyczący anonimowych
anon_umask=022

# limit szybkości podawany jest w bajtach na sekundę, jeśli jest ustawiony na 0 to brak jakiegokolwiek limitu.
local_max_rate=

# Włączenie logowania
xferlog_enable=

# Ścieżka do pliku z logami
xferlog_file=/var/log/vsftpd.log

# Maksymalna liczba połączonych użytkowników
max_clients=

# Maksymalna liczba użytkowników mogących się połączyć z tego samego adresu IP
max_per_ip=

# Banner, który będzie wyświetlany podczas logowania. W jego stworzeniu może być pomocny program app-misc/figlet.
banner_file=/etc/vsftpd/vsftpd.banner

# Ograniczenie użytkownikom do poruszania się jedynie w obrębie katalogu domowego
chroot_local_user=

# Katalog dla chroot’a
secure_chroot_dir=/var/chroot/vsftpd

# Dodanie użytkowników, którzy mogą poruszać się poza katalogiem domowym
chroot_list_enable=YES

# Dodajemy użytkownika z przywilejami poruszania się poza katalogiem domowym np:
# echo „użytkownik” >> /etc/vsftpd/chroot.list
chroot_list_file=/etc/vsftpd/chroot.list

# Serwer nie będzie pytał o hasło, podczas logowania na anonymous:
no_anon_password=

# Pozwalamy na download plików, które będą miały ustawione prawa do odczytu (readable):
anon_world_readable_only=

# Zabraniamy na upload plików:
anon_upload_enable=

# Ukrywamy prawdziwych użytkowników oraz grup dla plików lub katalogów
# (vsftpd zamieni je na nazwy użytkownika odpowiedzialnego za anonimowy ftp):
hide_ids=

# Pozwala na tworzenie katalogów
anon_mkdir_write_enable=

# Pozwala na kasowanie i zmienianie nazw katalogów przez anonimowych
anon_other_write_enable=

# Pozwala ograniczyć transfer dla anonimowych
anon_max_rate=

# Maxymalny czas bezczynności
idle_session_timeout=300

# Jeżeli jest ustawione na YES pozwala na ściąganie metodą ASCII
ascii_download_enable=

# Jeżeli jest ustawione na YES pozwala na wysyłanie metodą ASCII
ascii_upload_enable=NO

# Sam decydujesz czy mogą się łączyć Aktywnie czy Pasywnie
connect_from_port_20=NO

# Ustawione na NO zablokuje polecenia PORT i ustawi serwer w tryb pasywny (lepiej YES)
port_enable=YES

# Ustawione na YES loguje polecenia FTP wydawane przez użytkowników
log_ftp_protocol=NO

# Pozwala ograniczyć możliwość wydawania komand do minimum(możemy zabronić ściągania, sprawdzania wielkości plików itp), pełna lista możliwość tutaj -> http://www.nsftools.com/tips/RawFTP.htm
cmds_allowed=

# Ciekawą opcją jest także `user_config_dir`, która pozwala przyporządkować dowolnemu użytkownikowi w systemie konkretne opcje. Mogą to być np. takie opcje jak listen_address, banner_file, max_per_ip, max_clients, xferlog_file, vsftpd_log_file, itp. Definiujemy więc ścieżkę do takiego katalogu, oraz tworzymy go w systemie. Po zdefiniowaniu tej opcji w pliku konfiguracyjnym, vsftpd będzie automatycznie szukał pliku, który nosi taką samą nazwę jak użytkownik systemowy. Na przykład dla użytkownika `tomek` takim plikiem będzie /usr/local/etc/vsftpd/user_conf/tomek, w tym właśnie pliku będziemy ustawiać konkretne opcje dla tego użytkownika.
user_config_dir=/usr/local/etc/vsftpd/user_conf/

# Opcja ta pokazuje informację o procesie systemowym vsftpd, inaczej mówiąc pokazuje co dany użytkownik robi po połączeniu się z naszym serwerem
setproctitle_enable=YES

Przykładowe pliki vsftpd.conf
Przykład nr 1
Poniższa konfiguracja serwera FTP umożliwia łączenie użytkowników do swoich katalogów domowych. Mogą oni pobierać i wysyłać na swoje konta dane z prędkością do 5 KB/s w każdą stronę. Po poprawnym zalogowaniu się do swoich kont nie będą mogli wychodzić poza swój katalog domowy ze względów bezpieczeństwa. Istnieje możliwość dodania użytkowników którzy będą mogli poruszać się poza swoim katalogiem domowym. Zabronione jest również logowanie się anonimowych użytkowników.

nopriv_user=ftp
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
local_max_rate=5120
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
max_clients=500
max_per_ip=2
banner_file=/etc/vsftpd/vsftpd.banner
chroot_local_user=YES
secure_chroot_dir=/var/chroot/vsftpd
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot.list

Przykład nr 2
Poniższy przykład pozwala na logowanie się użytkowników anonimowych, serwer działa na porcie 2121. Anonimowi oraz normalni mogą pobierać i wysyłać na swoje konta dane bez ograniczeń. Wszyscy mają zakaz opuszczania własnego katalogu. Dla anonimowych będzie to /var/ftp . Maksymalna ilość połączeń wynosi 5 a dla jednego IP jest to 2. Pliki zakazane na serwerze to *.mp3 i *.avi a katalog files. A pliki niewidoczne dla userów do *.doc i *.xls

nopriv_user=ftp
listen=YES
listen_port=2121
anonymous_enable=YES
local_enable=YES
ftpd_banner="Serwer vsFTPd wita"
xferlog_enable=YES
xferlog_file=/var/log/xferlog.log
xferlog_std_format=YES
chroot_local_user=YES
secure_chroot_dir=/var/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=NO
hide_ids=YES
local_umask=022
anon_umask=022
#limity liczby równoczesnych połączeń
max_clients=5
max_per_ip=2
idle_session_timeout=120
data_connection_timeout=900
deny_file={*.mp3,files/,*.avi}
hide_file={*.doc,*.xsl}

Przykład nr 3
Konto z możliwością logowania się tylko anonimowo. Można jedynie pobierać pliki bez ingerencje w nie.

listen=YES
anonymous_enable=YES
ftp_username=ftp
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=YES
anon_max_rate=0
idle_session_timeout=300
ascii_download_enable=NO
ascii_upload_enable=NO
connect_from_port_20=NO
port_enable=YES
hide_ids=NO
log_ftp_protocol=NO
syslog_enable=NO
max_per_ip=0
# cmds_allowed=
local_root=/usr/share/empty
nopriv_user=nobody
ftpd_banner=(vsFTPd 1.2.0)

Uruchamianie
Jeżeli posiadamy tylko jeden plik konfiguracyjny to możemy po prostu wydać polecenie /etc/init.d/./vsftpd start
Jeżeli posiadamy parę plików konfiguracyjnych to musimy każdy osobno załadować :
vsftpd /etc/vsftpd.conf.annonymus
vsftpd /etc/vsftpd.conf.normalny
vsftpd /etc/vsftpd.conf.bartek

To tyle;]

Tar - pakownie/rozpakowywanie

Kompresja tar.gz, bz i inne

Narzędzia i sposoby do pakowania i rozpakowywania archiwów:

Jedną z najczęściej wykonywanych przez nas czynności jest na pewno rozpakowywanie plików ściągniętych z internetu. Zazwyczaj są to pliki programów z rozszerzeniem tar.gz i tar.bz2 również zip oraz rar.
Poniżej podstawowe polecenia przy pakowaniu i rozpakowywaniu tych plików.
1. Rozpakowanie plików *.tar.gz:
- tar -xvzf nazwa_pliku.tar.gz
-x - extract,
-v - verbose (wypisywanie nazw wszystkich plików),
-z - archiwum skompresowane programem gzip,
-f - plik.
2. Rozpakowywanie plików typu *.bz2:
- tar -xvjf nazwa_pliku*tar.bz2
-xvf - jak wyżej,
-j - oznacza archiwum bz2.
3. Pakowanie ogólnie wygląda tak:
- tar -czf backup.tar.gz /katalog/do/spakowania,
- tar -cjf backup.tar.bz2 /katalog/do/spakowania.
4. Rozpakowywanie plików *.zip
- unzip nazwa_pliku.zip.
Pakowanie: zip -r backup.zip /katalog/do/spakowania.

Teraz parę praktycznych przykładów wykorzystania. Do testów wybrałem sobie katalog perl posiadający skrypty perla oraz zawierający jeszcze inny katalog również ze skryptami.
Załózmy, że często wykonujemy kopię tego samego katalogu i jest on zawsze nadpisywany, a chcemy aby za każdym razem archiwum było tworzone z aktualna datą. Mozemy oczywiści ją podawać ręcznie, ale gdy polecenie chcemy umieścić w skrypcie t może byc problem. Rozwiążemy go następująco:
tar -cvzf `date +'%d%m%y'`.tar.gz /home/rambix/perl.
Teraz inna sytuacja.
Co jakiś czas archiwizujemy sobie jakis katalog np. może to być /home, ale nie chcemy aby jakieś katalogi w nim się znajdujące ze wzgledu na ich rozmiar były pakowane (np. zawierające filmy muzyke itp.). Na przykładzie mojego katalogu perl, który zawiera jeszze katalog other robimyto tak:
tar -cvzf perl.tar.gz perl --exclude perl/other.

piątek, 15 kwietnia 2011

Polonizacja Debi@na

apt-get install locales

w okienku tore sie nam pojawi zaznaczamy
[*] pl_PL ISO-8859-2

i dajemy ok w nastepnym okienku ustawiamy kursor na
pl_PL


i ok

teraz instalujemy konfiguratora do localesow
apt-get install localeconf


na pytanie
Manage locale configuration files with debconf?

odpowiadamy [Yes]
na pytanie
Replace existing locale configuration files?

odpowiadamy [Yes]
z listy wybieramy
pl_PL ISO-8859-2

nastepnie [OK]
i zaznaczamy
[*] LC_COLLATE
[*] LC_CTYPE
[*] LC_MESSAGES
[*] LC_MONETARY
[*] LC_NUMERIC
[*] LC_TIME

nastepnie [OK]
na kolejnych ekranach powinno byc zaznaczone
pl_PL ISO-8859-2

jesli nie jest to zaznaczamy w/w pozycje
i 7 razy naciskamy klawisz [Enter]

jesli mamy juz w systemie locales i localeconf mozemy je przekonfigurowac piszac
dpkg-reconfigure locales
dpkg-reconfigure localeconf


aby dopelnic calosci przydalo by sie zainstalowac jaks czcionke pod konsole w standardzie ISO-8859-2 a wiec
apt-get install fonty

z listy wybieramy
iso2 (?rodkowa Europa)

środa, 13 kwietnia 2011

SCP

Copy the file "foobar.txt" from a remote host to the local host

$ scp your_username@remotehost.edu:foobar.txt /some/local/directory

Copy the file "foobar.txt" from the local host to a remote host

$ scp foobar.txt your_username@remotehost.edu:/some/remote/directory

Copy the directory "foo" from the local host to a remote host's directory "bar"

$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar

Copy the file "foobar.txt" from remote host "rh1.edu" to remote host "rh2.edu"

$ scp your_username@rh1.edu:/some/remote/directory/foobar.txt \
your_username@rh2.edu:/some/remote/directory/

Copying the files "foo.txt" and "bar.txt" from the local host to your home directory on the remote host

$ scp foo.txt bar.txt your_username@remotehost.edu:~

Copy multiple files from the remote host to your current directory on the local host

$ scp your_username@remotehost.edu:/some/remote/directory/\{a,b,c\} .

$ scp your_username@remotehost.edu:~/\{foo.txt,bar.txt\} .

scp Performance

By default scp uses the Triple-DES cipher to encrypt the data being sent. Using the Blowfish cipher has been shown to increase speed. This can be done by using option -c blowfish in the command line.

$ scp -c blowfish some_file your_username@remotehost.edu:~

It is often suggested that the -C option for compression should also be used to increase speed. The effect of compression, however, will only significantly increase speed if your connection is very slow. Otherwise it may just be adding extra burden to the CPU. An example of using blowfish and compression:

$ scp -c blowfish -C local_file your_username@remotehost.edu:~

środa, 6 kwietnia 2011

Statystyki interfejsów sieciowych - vnstat

Statystyki interfejsów sieciowych
25 marca 2011, Morfeusz888

Wiadomo, przez serwer przepływają ogromne ilości danych i dobrze jest mieć na nie wgląd. Ile danych wchodzi, ile wychodzi, jaka jest średnia prędkość. Jeżeli pracownicy skarżyli by się, że internet zwolnił, zawsze możemy sprawdzić, czy nie szwankuje któryś interfejs na serwerze albo czy wina leży gdzieś indziej. W tym artykule przedstawię Wam aplikację vnstat. Poznamy, proces instalacji oraz podstawy jej wykorzystania. Zapraszam do lektury.

Dla odmiany pokaże, jak monitorować statystyki na systemie Ubuntu Server.
Po pierwsze instalacja.

Program znajduje się w standardowym repozytorium dla Ubuntu. W takim razie nie pozostaje nam nic innego, jak wklepać polecenie:

sudo apt-get install vnstat

podać hasło do roota i czekać, aż się wszystko pobierze i po instaluje. Pierwszy krok mamy za sobą. Coś za łatwo idzie. Prawda ? :)
Konfiguracja

Vnstat został podczas instalacji automatycznie dodany do usług, które startują wraz z systemem. Teraz musimy utworzyć bazę danych dla każdego z interfejsów sieciowych. Składnia wygląda tak:

vnstat -u -i interfejs

Mówiąc bardziej po ludzku, aby utworzyć bazę danych dla interfejsu eth0 wpisujemy

vnstat -u -i eth0

i zatwierdzamy enterem. Stanie się on automatycznie domyślny interfejsem dla programu. To polecenie wykonujemy jeszcze z poziomu roota.

Jeżeli serwer posiada więcej, niż jeden interfejs sieciowy to postępujemy analogicznie jak dla powyższego przykładu, czyli:

vnstat -u -i eth1
vnstat -u -i eth2

Tyle by było z konfiguracji.
Przeglądamy statystyki.

Jeżeli ktoś byłby bardzo napalony i zaraz po utworzeniu bazy wpisał vnstat, to dostanie komunikat, że statystyki nie zostaną wyświetlone, gdyż program posiada za mało danych. Musimy odczekać, tak najlepiej godzinę,abyśmy nie musieli oglądać jedno znakowych cyfr i potem dziwić się dlaczego tak mało danych przelatuje przez serwer.

Jak podglądać statystyki? Niech jako przykład posłuży nam ten interfejs eth0.

Vnstat umożliwia nam pokazywanie statystyk z różnych przedziałów czasowych. A mianowicie.

* vnstat -q – pokazuje ogólnie to co się w bazie znajdujemorfeusz888_vnsta1
Rys 1. Działanie polecenia vnstat -q
* vnstat -h – pokazuje statystyki z ostatnich 12 godzinmorfeusz888_vnstat2
Rys 2. Działanie polecenia vnstat -h
* vnstat -d – pokazuje statystyki z ostatnich dnimorfeusz888_vnstat3
Rys 3. Działanie polecenia vnstat -d
* vnstat -m – pokazuje statystyki z ostatnich miesięcymorfeusz888_vnstat4
Rys 4. Działanie polecenia vnstat -m
* vnstat -w -pokazuje statystyki z ostatnich tygodnimorfeusz888_vnstat5
Rys 5. Działanie polecenia vnstat -w
* vnstat -t – wyświetla dni, w których interfejsy przesłały najwięcej danychmorfeusz888_vnstat6
Rys 6. Działanie polecenia vnstat -t
* vnstat -s – pokazuje krótkie informacje na temat statystykmorfeusz888_vnstat7
Rys 7. Działanie polecenia vnstat -s
* vnstat -l – pokazuje obciążenie danego interfejsu z czasie rzeczywistym
* vnstat –help – więcej poleceń tego typu

Pewnie się teraz zastanawiacie, co znaczą te dziwne literki typu rx itd. Aby było mi łatwiej tłumaczyć, posłużę się statystykami z dni.

morfeusz888_vnstat3
Rys 8. Przykładowe statystyki z dni

Kolumna day, wiadomo co oznacza, nie trzeba tłumaczyć. Kolumna z podpisem rx informuje nas, ile danych przez ten interfejs zostało otrzymanych. Kolumna tx – ile zostało wysłanych danych i avg. rate – jaka była średnia prędkość przysyłanych danych. Total, to wiemy – wszystko.
Ale ja chce obrazki.

Jeżeli kogoś nie satysfakcjonuje taka interpretacja, obco czuje się wśród tych cyferek w trybie tekstowym, to może sobie zainstalować graficzną nakładkę poprzez www. Jedyny problem to taki, że musi być zainstalowany serwer www oraz php. Ja z racjitego, że na Ubuntu Server podczas instalacji machnąłem już sobie LAMP-a, to nie muszę tego robić. Pokażę, jak to pobrać i zainstalować.

Po pierwsze musimy pobrać archiwum. Wpisujemy w konsoli

wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz

Po pobraniu paczuszki należy ją wypakować. Wpisujemy:

tar -xvf vnstat_php_frontend-1.5.1.tar.gz

Gitara. Paczka jest wypakowana. Teraz wypadałoby zmienić jej nazwę na jakąś bardziej przyjazną:

mv vnstat_php_frontend-1.5.1 vnstatwww

Ok. Teraz kopiujemy folder do katalogu www serwera. W moim przypadku jest var/www.

sudo cp -r /home/ubuntuserver/vnstatwww /var/www/

Teraz dla potrzeb musimy wymedytować plik config.php. Wpisujemy

sudo nano /var/www/vnstatwww/config.php

Plik zawiera 72 linii kodu, z czego większość to komentarze. Nas najbardziej interesują linie:

* $language = ‘en’ ; – język interfejsu
* $iface_list = array(’eth0 ‘, ‘eth1 ‘, ’sixxs’); – interfejsy, jakie mają być wyświetlane

Język domyślnie jest jako holenderski, więc ja od razu zmieniłem na angielski. Nie ma języka polskiego. Zaś w iface dodałem następny interfejs eth1. Tutaj możemy śmiało dodawać tyle interfejsów, ile jest na serwerze.

Aby zobaczyć statystyki w trybie graficzny, w przeglądarce wpisujemy (jeżeli sprawdzamy to zdalnie) adres ip/vnstatwww czyli u mnie to jest http://192.168.0.11/vnstatwww/

Naszym oczom ukażą się statystyki