PostgreSQL – - ircert.cc

decubitisannouncerΔιαχείριση Δεδομένων

27 Νοε 2012 (πριν από 4 χρόνια και 8 μήνες)

332 εμφανίσεις

￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
١


















￿￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿
￿￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿
￿￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿
￿￿
￿

￿￿￿
￿￿￿￿￿￿
￿￿￿


￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿
￿ ￿￿￿￿￿￿ ￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿
PostgreSQL ￿￿￿￿￿￿ – ￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿

emamdoost@ce.sharif.edu
￿￿￿￿￿
￿￿￿￿￿￿￿￿￿￿
￿￿￿￿￿ ￿￿￿
￿￿￿ ￿￿￿
￿￿￿￿￿￿￿
￿￿￿￿￿￿￿￿
￿￿￿￿


￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿

￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
٢
￿￿￿￿￿
￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿PostgreSQL ￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿
￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿￿ ￿￿ .￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿PostgreSQL ￿￿￿ ￿￿
￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿ ￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿ ￿ ￿￿
￿￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ .￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿.
￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿PostgreSQL ￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿
￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿PostgreSQL ￿￿￿ ￿￿
￿￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿ .￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿
￿￿￿￿￿“postgres” ￿￿ ￿“postmaster” ￿￿￿ .￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿Unix ￿￿￿￿
￿
￿
PostgreSQL ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿/tmp ￿￿￿ ￿￿ ￿s.PGSQL.5432 ￿￿￿￿ ￿￿￿￿ . ￿￿￿￿￿ ￿￿￿ ￿￿
netstat –I ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿tcp ￿unix ￿￿￿ ￿￿￿￿￿￿ ￿￿.
￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ .PostgreSQL ￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿
￿￿￿￿ ￿￿5432 tcp ￿￿ ￿￿￿￿￿￿ . ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿TCP
SYN ￿￿￿￿ ￿￿5432 ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿PostgreSQL ￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿
￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿Nmap ￿￿￿￿ ￿￿￿:
$ nmap -sS 10.0.0.0/24 -p 5432

Starting nmap 3.70 ( http://www.insecure.org/nmap )
Interesting ports on 10.1.1.248:
PORT STATE SERVICE
5432/tcp open postgres


١
Socket
￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
٣
Nmap run completed -- 1 IP address (1 host up) scanned in 4.907 seconds
￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿postmaster ￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿ . ￿￿￿ ￿￿
￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿postmaster ￿￿￿￿￿￿￿￿ ￿￿￿￿ .￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿
￿￿￿￿￿￿￿PostgreSQL ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿psql . ￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿
￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿pg_hba.conf ￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿SSL ￿￿￿￿￿ ￿￿￿￿ ￿
￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ . ￿￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿
￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿
PostgreSQL ￿￿ ￿￿￿￿￿￿￿￿￿.
$ psql -h 10.0.0.1 -p 2345 –d test –U test
psql: FATAL: no pg_hba.conf entry for host "10.0.0.1", user "test",
database "test", SSL off
￿￿￿￿￿ ￿￿￿￿￿￿PostgreSQL ￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ . ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿PostgreSQL
￿￿￿￿ ￿￿￿￿ . ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿1.0 ￿￿ PostgreSQL 6.3 ￿￿￿ ￿￿￿￿￿PostgreSQL 6.4 ￿￿￿￿ ￿￿￿￿￿￿2.0
￿￿ ￿ ￿￿￿ ￿￿￿￿￿ ￿￿PostgreSQL 6.7 ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿3.0 ￿￿ ￿￿￿￿￿￿￿￿￿￿ . ￿￿￿￿￿
￿￿￿￿DBMS ￿￿￿￿￿￿ ￿￿￿PostgreSQL ￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ .￿￿￿ ￿￿￿ ￿￿-
￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ . ￿￿￿￿￿ ￿￿ ￿￿
￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿SQL￿￿￿ ￿-
￿￿￿ ￿￿￿ .￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿
￿￿￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿:
• ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿postmaster ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿
￿￿￿ ￿￿￿￿￿￿￿.
• ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿
￿￿￿￿￿￿￿ ￿￿￿.
￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
￿
• ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿) . ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿SSL ￿￿￿￿￿￿ ￿￿ ￿￿7.1 ￿￿￿ ￿￿￿ ￿￿￿￿￿(
• ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿) .md5 ￿￿￿
￿￿￿￿￿￿ ￿￿7.2 ￿￿￿ ￿￿￿ ￿￿￿￿￿(
￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿ ￿￿
￿￿￿ .Postmaster ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿pg_hba.conf ￿￿ ￿￿￿￿￿￿￿￿￿￿ .
￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿)ErrorResponse (￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿ . ￿￿￿￿ ￿￿￿￿ ￿￿
￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ .Postmaster ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿
￿￿ ￿￿￿￿￿￿￿ .￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿
￿
￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿ ￿ .￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿￿￿
￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿postmaster ￿￿ ￿￿￿￿￿￿￿￿ . ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿
￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿AuthenticationOK ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ .
￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿SSL ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿ . ￿￿￿￿ ￿￿￿ ￿￿
￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿SSLRequest ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿￿￿Postmaster ￿￿ ￿￿￿￿ ￿￿ ￿ ￿￿￿￿￿
￿￿￿￿“Y” ￿￿ ￿“N” ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿SSL ￿￿￿￿ ￿￿ErrorResponse ￿￿ ￿￿￿￿￿￿￿￿.
￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿AuthenticationOK￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿
ReadyForQuery ￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿ .￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿
RowDescription )￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿ ￿￿￿￿￿￿SELECT ￿FETCH ￿
￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ (￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿ ￿DataRow )￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿
SELECT ￿FETCH ￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ (￿￿￿ ￿￿￿￿ . ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿


٢
Credential
￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
￿
ErrorResponse ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ .￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿
CommandComplete ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿ . ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿PostgreSQL ￿￿￿￿ ￿￿ -
￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿:
￿￿￿￿3 :http://www.postgresql.org/docs/7.4/interactive/protocol.html
￿￿￿￿2 :http://www.postgresql.org/docs/7.3/interactive/protocol.html
￿￿￿￿1 :http://www.postgresql.org/docs/6.3/interactive/c50.html
￿￿￿￿ ￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿
￿￿￿ ￿￿￿￿￿ ￿￿￿￿ .￿￿￿￿ ￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿pg_hba.conf
￿￿￿ .￿￿￿ ￿￿ ￿￿￿￿￿￿￿postmaster ￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ .￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿
￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿￿￿￿￿ . ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿
￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿ . ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿pg_hba.conf
￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿) ￿￿ ￿
￿￿￿￿￿ (￿￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿ ￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ . ￿￿￿
￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿.
￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿
￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿ ￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿
￿￿￿￿￿￿￿￿￿ .￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿
￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
￿
￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿ .￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿
￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿ ￿￿￿￿￿￿FTP ￿￿￿￿￿￿.
Network Sniffing


￿￿￿ ￿￿￿￿￿￿ ￿￿SSL ￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿PostgreSQL ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿￿ . ￿￿￿
￿￿￿￿￿ ￿￿￿ ￿￿￿sniffer ￿￿￿￿￿wireshark ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿PostgreSQL ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿
￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿￿￿￿ . ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿Sniff ￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿
￿￿￿￿￿￿ ￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿ . ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿
AuthenticationCleartextPassword ￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿ . ￿￿￿￿￿￿￿ ￿￿￿ ￿￿
￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿.
￿￿￿
￿￿￿ ￿￿￿
￿￿￿ARP

￿￿￿￿ ￿
￿￿￿￿ ￿ ￿￿￿￿ ￿
￿￿￿￿ ￿TCP


￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ pg_hba.conf ￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿
￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ ￿￿ ￿ ￿￿￿￿ARP
￿
￿
￿￿￿￿ ￿￿TCP
￿
￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿ . ￿￿￿ ￿￿￿￿ARP ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿ -
￿￿￿￿￿￿￿ ￿￿￿ARP reply ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿IP ￿￿MAC ￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿ .
￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿ARP ￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿
pg_hba.conf ￿￿￿ ￿￿￿￿￿￿￿ .￿ ￿￿ ￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ARP ￿￿￿￿￿￿￿) ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿
￿￿￿￿MAC ￿￿￿￿￿￿￿(￿￿￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿ .
￿￿￿￿TCP ￿￿ ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ ￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿
￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿￿ . ￿￿￿￿ ￿￿ ￿￿￿ ￿￿￿sniff ￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿ ￿￿


٣
ARP Spoofing
٤
TCP Hijacking
￿￿￿￿￿￿￿￿￿ ￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿

￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿ ￿￿￿PostgreSQL ￿ ￿￿￿￿￿ ￿ ￿￿￿ ￿￿￿
￿￿￿￿￿ ￿￿￿
1388
٧
￿￿￿￿￿ ￿￿￿￿￿￿ ￿TCP ￿￿￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿ .￿￿￿￿ ￿￿￿￿￿￿￿￿￿ ￿TCP
￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿) ￿￿RTT ￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿ (￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿ . ￿￿￿ ￿￿￿￿￿
￿￿￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿￿ .￿￿ ￿￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿ ￿ ￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿
￿￿ ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿ ￿￿ ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿ .￿￿ ￿￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿
￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿ ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿ ￿￿￿￿￿pg_shadow ) ￿￿￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿ ￿
￿￿￿￿ (￿￿￿. ￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿ ￿￿ ￿￿￿￿ARP ￿￿￿￿ ￿TCP ￿￿ ￿￿￿￿ ￿￿￿￿￿ ￿￿
￿￿￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿Hunt ￿￿ ￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿￿￿￿￿ ￿￿￿￿￿ ￿￿ ￿￿ ￿￿￿ ￿￿ ￿￿￿￿￿ ￿￿￿￿ ￿￿￿￿ ￿￿￿
￿￿￿ ￿￿￿￿￿￿.
￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ """"￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿ ￿￿ ￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿ ￿￿￿PostgreSQL ￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿ ￿ ￿ ￿ ￿ ￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿￿￿￿ ￿￿￿""""
￿￿￿￿
[1] “The Database Hacker's Handbook: Defending Database Servers”, David Litchfield et al,
John Wiley & Sons, 2005.