книги хакеры / журнал хакер / 127_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|||||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
|||
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
|
NOW! |
r |
|||||||||||||
|
|
|
|
|
BUY |
|
|
|
|
>> |
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
SYN/ACKw |
|
|
to |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
m |
|||||
w Click |
|
|
|
|
|
|
o |
|
|
w Click |
|
|
|
|
|
|
o |
||||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|||
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
df |
|
|
|
|
e |
|
|
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ПРИЛОЖЕНИЕ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПАКЕТ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЯДРО |
TRAFFIC CONTROL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
ДИСЦИПЛИНА |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PFIFO_FAST |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ДРАЙВЕР |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СЕТЕВОЙ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
КАРТЫ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПУТЬПАКЕТАВЯДРЕLINUX, НАСТРОЕННОМ |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
ПОУМОЛЧАНИЮ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дисциплины и классы предназначены для построения дерева выбора. |
вую помещается весь исходящий трафик (по умолчанию используется |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
Сначала весь трафик разбивается на несколько общих классов (напри- |
дисциплина pfifo_fast). Во вторую — входящий. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
мер, трафик до Отдела-1, трафик до специализированных внутренних |
Дляидентификациидисциплиниклассовиспользуютсядескрипторы.Они |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
серверов и т.д.), а затем каждый из них разбивается на несколько под- |
состоятизстаршегоимладшегономеров.Первый—этопроизвольноечис- |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
классов (например, трафик до DNS-сервера Отдела-1), за которыми |
ло,однаковсеклассы,имеющиеобщегородителя,должныиметьодинако- |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
уже могут быть закреплены дисциплины. Чтобы управлять тем, дис- |
выйстаршийномер.Младшийномериспользуетсялибодляпроизвольной |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
циплиной какого класса будет обработан определенный тип трафика, |
идентификацииклассов, либо дляуказания на то,чтообъект является дис- |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
классовые дисциплины позволяют подключать к себе фильтры. Это дает |
циплиной (номер 0). Специальный дескриптор ffff:0 зарезервирован для |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
возможность«завернуть»определенныйтрафикводинизееподклассов. входящейдисциплины. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
Фильтры используют классификаторы для идентификации пакетов нуж- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
ного типа и как бы говорят ядру: «Этот вид трафика должен обрабаты- |
УТИЛИТА TC Для конфигурирования подсистемы управления трафиком |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
ваться с помощью дисциплины вот этого класса». Существует несколь- |
предназначена утилита tc из пакета iproute2. Она принимает набор команд в |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
ко разных классификаторов. Самыми популярными являются u32 и fw. |
качествеаргументов,спомощьюкоторыхможносоздаватьклассы,привязы- |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
Первый позволяет выделять пакеты по исходящим адресам и адресам |
ватькнимдисциплиныидобавлятьфильтры.Синтаксисеепохожнасинтаксис |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
назначения,портам,парам«хост:порт»,типампротоколаитипусервиса. командыipfwизоперационнойсистемыFreeBSD,такчтознакомыеснимбыст- |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
Второй классифицирует пакеты путем чтения маркировок, записанных |
роосвоятся.Дляпримерарассмотримпростейшийвариантиспользования: |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
брандмауэромiptables/netfilter(цельMARK).Закаждымсетевыминтер- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
фейсом должны быть закреплены две особые дисциплины: корневая |
# tc qdisc add dev eth0 root tbf rate 256kbit \ |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
дисциплина (root qdisc) и входящая дисциплина (ingress qdisc). В пер- |
latency 50ms burst 1540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
НАИБОЛЕЕИСПОЛЬЗУЕМЫЕДИСЦИПЛИНЫ |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
pfifo—Простейшая очередь FIFO (первым пришел, первым ушел). Размер буфера задается в пакетах. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
bfifo—Аналог pfifo с буфером, размер которого задается в байтах. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
pfifo_fast—РеализуетпростуюочередьFIFOстремяполосами.Используетсяпоумолчаниювкачествекорневойинепринимаетаргументов. |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
tbf—Token Bucket Filter (TBF). Передает поступающие пакеты со скоростью, не превышающей заданный порог. Простая и точная реализа- |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
ция делает ее идеальным решением для ограничения полосы пропускания всего интерфейса. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
sfq—Stochastic Fairness Queueing (SFQ). Реализация алгоритма справедливой очередизации. Поровну разделяет полосу пропускания меж- |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
ду несколькими соединениями. Эффективно работает только на загруженном интерфейсе. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
red—Random Early Detection (RED). Симуляция затора. Отбрасывает пакеты случайным образом при достижении заданной полосы пропус- |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
кания. Хорошо подходит для ограничения прожорливых в плане трафика приложений. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
prio—Разделяет трафик по приоритетам (поле TOS). По умолчанию создает три класса, в первый из которых попадают пакеты с большим |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
приоритетом, а в третий — с наименьшим. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cbq—Class Based Queueing (CBQ). Классовая дисциплина, предназначенная для создания сложных систем управления трафиком. Поддер- |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
живает ограничения и приоритеты. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
htb—Hierarchical Token Bucket (HTB). Предназначена для разделения полосы пропускания между различными видами трафика на полосы |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
заданной ширины, с возможностью заимствования. Поддерживает приоритеты. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
XÀÊÅÐ 07 /127/ 09 |
|
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
||||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
||
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
|
|
NOW! |
r |
||||||||||||
|
|
|
|
|
BUY |
|
|
|
|
>> |
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
SYN/ACKw |
|
|
to |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
|
m |
|||||
w Click |
|
|
|
|
|
|
o |
|
|
|
w Click |
|
|
|
|
|
|
o |
|||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
df |
|
|
|
|
e |
|
|
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
CHECKPOINT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FIREWALL WITH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SNORTSAM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AGENT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COMPANY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NETWORK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SNORT SENSOR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CHECKPOINT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FIREWALL WITH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SNORTSAM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AGENT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
киправил.ИсключениесоставляютлишьCommunityrules.Онилежатвсво- сначалавкаталоге/etc,азатем—в/usr/local/etc. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
бодном доступе. Правила можно устанавливать вручную, просто скачав и |
ВFreeBSDужеестьготовыйшаблон,переименовываемегоиправим: |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
распаковаввкаталогrules,изатемсамостоятельноследитьзаихобновлени- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
ем.Так,еслитывнесешьвправилоизменения,приследующемобновлении |
# cp -v /usr/local/etc/oinkmaster.conf.sample |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
онобудетутеряно.ЛучшеиспользоватьPerl-скриптOinkmaster(oinkmaster. |
/usr/local/etc/oinkmaster.conf |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
sf.net),онбудетпроизводитьвсеоперациипообновлению.Ставим: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
#ee/usr/local/etc/oinkmaster.conf |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
# cd /usr/ports/security/oinkmaster |
;Снимаемкомментарийсострокиизаменяемпараметр<oinkcode> |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
# make install clean |
своим значением, полученным с сайта snort.org |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
url |
= |
http://www.snort.org/pub-bin/oinkmaster.cgi/ |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
ПоумолчаниюOinkmasterищетсвойконфигoinkmaster.conf |
<oinkcode>/snortrules-snapshot-CURRENT.tar.gz |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
ВоздвигнутьIDS/IPS набюджетномжелезе, используятолько |
можетпослатьжертвенеожиданныйзапрос, вызывающийрвотный |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
свободнодоступныекомпоненты, вполневозможно. Иработать |
рефлекс. Естественно, такойподходнезащищаетотошибокпере- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
такаязащитабудетничутьнехуже, чемпрограммныекомплексы, за |
полнения, ведьсеготочкизрения«взрывпакеты» выглядятвполне |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
которыеневменяемыеразработчикипросятдесяткитысячдолларов |
легитимно— такчто, бездетекциинеобойтись. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
икоторыеработаютподвредоноснымиоперационнымисистемами, |
Итутмыприходимкпроблемеложныхпозитивныхсрабатываний. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
требующимикучупамятииотжирающимиуймупроцессорныхтактов. |
IDS обнаруживаетатакутам, гдеонаиненочевала, отклоняязапрос |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Начнемстого, чтоIDS/IPS вовсенеодноитоже— хотяихчастень- |
пользователя. Этонеестьхорошо! АIPS, установленнаяна«паро- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
копутают, чемувесьмаспособствуютгибридныеварианты(они |
ноидальный» уровень, самапосебеявляетсянехилымисточником |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
представляютсобойIDS, котораяреализуетнекотороеподмножество |
DoS-атак. Пользователиматерятсятак, чтохвостувядает. Поэтому |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
функционала, формальноявляющегосяпрерогативойIPS). «Чистые» |
IPS обычнонастраиваетсянадовольногрубыйуровень, допускаю- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
IDS вприродепрактическиневстречаются(посколькуатакунеобхо- |
щийблокировкутолькоявныхатак. Какоеколичествоатакприэтом |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
димонетолькораспознать, ноиблокировать, чемизанимаютсяIPS). |
остаетсянезамеченным— приходитсятолькогадать. Вэтомсмысле |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
ВнекоторыхслучаяхIPS опираетсянаIDS, например, анализируетсе- |
IDS намногоперспективнее, посколькудаженасамомчувствитель- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
тевойтрафикнапредметналичияизвестныхсигнатур, блокируя«не- |
номуровнеложныепозитивныесрабатываниянеприносятникакого |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
хорошие» TCP-пакеты, атоивовсеработаетнауровнеприложений. |
ущерба, ограничиваясьновойзаписьювлоге. Естественно, когда |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Однакоэтонеединственныйвариант. Рядатакудаетсяблокировать |
ложныхсрабатыванийстановитсяОЧЕНЬмного, админпростопе- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
безовсякойдетекции. Вчастности, «нормализаторы» (отанглийского |
рестаетобращатьнанихвнимание, иэтопроблеманеадмина, аIDS. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
normalize) регенерируюттрафик, работаяпопринципупрокси-серве- |
Ну, невозможнодоскональнорасследоватькаждуютревогу, еслиони |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
ров. Они«выхватывают» изпакетовтолькотеполя, которыепонима- |
сыплютсякосяками. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
ют, преобразуяихв«канонический» вид. Врезультате, хакеружене |
|
|
|
КрисКасперски |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XÀÊÅÐ 07 /127/ 09 |
|
|
|
127 |
|
|
|
|
|
|
|
|
|