|
|
Mình thử làm cách của 1 bạn bầy rồi mà user Administrator thì ok mà user Thường vẫn thế reboot lại là lại tõm. Chia sẻ cho bạn nào cũng bị phát này để thử xem có ăn thua không:
Chào các bạn hôm nay mình sẽ hướng dẫn các bạn cách gõ tiếng việt trong windows XP
Hướng dẫn của mình áp dụng cho phần mềm Unikey
B1: Vào Control Panel -> Chọn tiếp Date,Time,Language, and Regional Options
Chọn Regional Language Options.
Tại thẻ Regional Options : Trong khung Standards and Formats chọn English (United States), Trong khung Locations chọn United States.
Tại thẻ Language : Chọn Details sẽ hiện ra 1 khung Options mới, tiếp theo tại thẻ Settings chọn English (United States) – US , tại thẻ Advanced chọn Extend support of …. và bỏ chọn Turn off advanced
Nhấn OK.
Tiếp theo tại thẻ Advanced bạn chọn Advanced.
Nhấn OK.
Tiếp theo bạn DOWNLOAD UNIKEY tại : ĐÂY
Chuột phải vào biểu tượng Unikey bên góc phải Desktop, tại chỗ Kiểu gõ chọn Telex.
Lại làm như thế nhưng kích chọn Công cụ sẽ hiện ra 1 khung Options, tại thẻ Bảng mã : Đích và
Nguồn bạn chọn là Unicode, đóng lại.
Vậy là xong!
|
|
|
Tình hình là ở công ty dạo này nổi lên rất nhiều máy không biết có bị nhiễm gì không nhưng xẩy ra hiện tượng không gõ được tiếng việt mặc dù bộ gõ unikey/vietkey đều đang bật ở chế độ gõ tiếng việt. Mình cũng làm vài cách nhưng cứ khởi động lại là nó lại kg gõ được tiếng việt nữa.
Dùng Kas quét không thấy gì, dùng malware byte's quét thì nó báo có dính 2 phát là :
Registry Values Detected: 1
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run|RunExp (Worm.AutoRun) -> Data: "C:\windows\system32\smsss.exe" -> No action taken.
Files Detected: 1
C:\WINDOWS\system32\st.exe (Trojan.Agent) -> No action taken.
ANh em có thuốc nào hay ngoài cách cài lại máy thì xin hỗ trợ với. cài 1-10 máy thì ok chứ cài vài chục máy chỉ vì không gõ được tiếng việt thì thật là nản quá
Khẳng định lại với 1 số anh em là đã cài đi cài lại unikey với font tiếng việt rồi nhé.
|
|
|
Những phương án như bạn nói thì mình cũng đã làm tuy nhiên hệ thống mail bên mình rất lớn.(trên 2000 user) nên việc quản lý user rẩt khó khăn. có phương án nào giám sát hệ thống exchange được realtime thì tốt hơn mà mình lại ko nắm rõ về exchange lắm chỉ basic thôi
|
|
|
Hi anh em !
Công ty mình đang gặp 1 vấn đề đó là suốt 1 tuần nay có 1 số địa chỉ xuất phát từ domain ZL050077.ppp.dion.ne.jp (222.7.50.77)liên tục kết nối đến máy chủ mail exchange của công ty để check mật khẩu.
Log fw ghi lại nhật ký: địa chỉ trên kết nối đến máy chủ mail exchange qua cổng pop3 (110) để xác thực rất nhiều địa chỉ email. 1 số thì báo failed nhưng cũng có nhiều trường hợp báo successfull login.
tạm thời mình đã blog theo ip tuy nhiên vài hôm nó lại đổi ip nên đang tính blog cả domain không biết có ăn thua không.
Nhờ anh em nào có kinh nghiệm cho mình biết: hacker đang dùng dạng tool gì để check mật khẩu và có cách gì để phòng chống cho máy chủ không. hiện tại mình mở public ra bên ngoài máy chủ mail client access 1 số port mặc định: 80,443,110,995 để mọi người có thể truy cập dịch vụ.
Máy chủ client access mình chạy win2008 đã update full hệ điều hành, kaspersky, personal firewall .mail bên mình chạy exchange 2010.
|
|
|
Giờ tool nó sẵn bọn trẻ ranh chúng nó không cần hiểu nguyên lý cứ mở youtube ra là bắt chước mà làm thôi nên mình ko cẩn thận thì đi là cái chắc.
Toàn tháy nhắm vào thư mục data thế kia thì cũng gay nhỉ
|
|
|
bên mình cũng bị kết nối port 1433 liên tục khi nào mình public lên cái là i như rằng lại thấy xuất hiện hiện tượng như các bạn và các ip từ khựa chiếm đa số. Điều này chứng tỏ bọn nó đặt công cụ scan automatic cả dải ip luôn rồi. sểnh ra cái là chết toi ngay đáng sợ thật (
|
|
|
danglv19 wrote:
Chào mọi người, Web công ty em bị hack. Vì nghi là của đối thủ cạnh tranh hack nên ông sếp kêu em đi dò coi IP nào. Hic, em không rành về Secure lắm. Mọi người có cách nào không giúp mình với.
Web: nano.vn
nếu web chạy iis thì xem log iis kiểu gì cũng có vết trừ khi hacker đã xoá vết. ngoài ra có thể xem event view. đấy là những cái cơ bản nhất có thể xem được ngay
|
|
|
chưa thấy ai giải thích tại sao hacker lại cài metaploist lên máy này nhỉ. phải chăng là dùng máy này để tấn công leo thang các máy khác cùng mạng hoặc dùng máy này tiếp tục tấn công máy khác nhỉ ???
Khắc phục thảm hoạ là đương nhiên nhưng tìm ra dấu vết lại là niềm yêu thích và mơ ước của những ai hiểu về bảo mật
|
|
|
thiếu thư viện của perl. yum update perl* 1 cái cho nhanh )
|
|
|
bạn có dùng máy chủ để lướt web hay mở mail không
dám chắc là bạn bị tấn công bằng phuơng thức tấn công thô sơ social enginering
|
|
|
anh em có ai nhớ vụ năm 2005 có 2 đồng chí người TQ không. đừng tin tưởng quá vào md5 nhất là mấy đồng chí banking nhé
------------------------------------------------------------------------------------------------------------
Lịch sử và thuật giải mã
Message Digest là một loạt các giải thuật đồng hóa thông tin được thiết kế bởi Giáo sư Ronald Rivest của trường MIT (Rivest, 1994). Khi công việc phân tích chỉ ra rằng giải thuật trước MD5-MD4- có vẻ không an toàn, ông đã thiết kế ra MD5 vào năm 1991 để thay thế an toàn hơn. (Điểm yếu của MD4 sau đó đã được Hans Dobbertin tìm thấy).
Vào năm 1993, Den Boer và Bosselaers đã tìm ra, tuy còn giới hạn, một dạng "xung đột ảo" của hàm nén MD5; đó là, với hai véc-tơ khởi tạo I và J khác nhau 4 bit, dẫn đến:
MD5compress(I,X) = MD5compress(J,X)
Trong năm 1996, Dobbertin đã thông báo có xung đột của hàm nén MD5 (Dobbertin, 1996). Dù nó không phải là một cuộc tấn công vào toàn bộ hàm băm MD5, nhưng nó đủ gần để các chuyên gia mã hóa đề nghị sử dụng kỹ thuật khác để thay thế, như WHIRLPOOL, SHA-1 hay RIPEMD-160.
Kích thước của bảng băm-128 bit-đủ nhỏ để bị tấn công bruteforce. MD5CRK là một dự án phân bố bắt đầu vào tháng 3 năm 2004 với mục tiêu chứng tỏ rằng MD5 không an toàn trên thực tế bằng cách tìm ra những xung đột sử dụng tấn công bruteforce.
MD5CRK kết thúc nhanh chóng sau ngày 17 tháng 8, 2004, khi xung đột đối với toàn bộ MD5 được công bố bởi Xiaoyun Wang, Dengguo Feng, Xuejia Lai, và Hongbo Yu[1][2]. Cuộc tấn công phân tích của họ được báo cáo là chỉ diễn ra có một giờ trên nhóm máy IBM p690.
Vào ngày 1 tháng 3 năm 2005, Arjen Lenstra, Xiaoyun Wang, và Benne de Weger đã biểu diễn[3] việc xây dựng hai giấy phép X.509 với các khóa công cộng khác nhau và cùng bảng băm MD5, một sự xung đột thực thế đáng được trình diễn. Sự xây dựng bao gồm những khóa riêng tư cho cả hai khóa công cộng. Vài ngày sau, Vlastimil Klima đã mô tả[4] một giải thuật nâng cao, có thẻ xây dựng những xung đột MD5 trong vài giờ với một máy tính xách tay. Vào ngày 18 tháng 3 năm 2006, Klima đã phát hành một giải thuật[5] có thể tìm thấy đụng độ trong vòng một phút bằng một máy tính xách tay, sử dụng một phương thức mà anh gọi là bắt đường hầm.
trích: http://vi.wikipedia.org/wiki/MD5
|
|
|
Astalavista wrote:
billard wrote:
cái này thì cứ làm 1 DB nhập pass => lưu giá trị sau khi MD5
ai tìm thì lôi kết quả đó ra thôi. Chứ làm sao mà dịch ngược được.
Chính cái này dùng để crack pass hash online đấy. Gọi là dictionary.
Một cách khác là Brute Force, thử tất cả mọi tổ hợp có thể.
Pass 5,6 ký tự thường (a,b,c,...) bruteforce khoảng 4->5 ngày
Thêm ký tự Hoa (A, B, C, ...) mất hàng tháng
Thêm số 1, 2, 3, ... mất hàng năm
Và thêm ký tự đặc biệt @, $, &, mất hàng trăm năm ...
Việc brute force chỉ enter rồi cầu chúa ban phước lành.
Tốt nhất nên tìm cách khai thác thẳng dữ liệu hashed pass đã có được.
Brute Forcer là một trong những tool crack MD5 ngon hiện nay rồi. tuy nhiên nếu mật khẩu có chữ hoa hay có ký tự đặc biệt thì thời gian giải mã khá lâu hoặc vô vọng
Kiếm đựoc bộ thư viện mã md5 nào ngon rồi dùng tool hoặc viết script so sánh tự động là hay nhất
mình vừa dùng brute forcer thử giải mã chuoi MD5 họ của mình . kết quả đã giải thành công chuỗi MD5 = Nguyen
thời gian mất khoảng 20 phút
|
|
|
Anh em cho hỏi khi mình nghi một file thực thi nào đó đã bị đính kèm mã độc hoặc virus thì dùng công cụ gì để soi ngược lại file đó ví dụ xem có đoạn mã nào đính kèm không hoặc xem file đó được đóng gói lại từ những file nào khác mà hacker sử dụng.
Rất mong nhận được sự phản hồi của anh em
|
|
|
thangdiablo wrote:
Dear all,
Hôm nay tớ đang làm lại con firewall thì thấy có 1 điều hơi lạ. Thường thì YM hay chạy qua port 5050 5000 nhưng hiện tại tớ thấy nó còn kết nối thông qua cổng 80 và 443 sau khi kết nối tới 5050 thất bại.
Có ai đã gặp trường hợp này chưa? YM học theo Skype vụ này sao?
theo như mình được biết từ những bản yahoo 10 trở lên thì yahoo nó định nghĩa 3 port để kết nối:
- Đối với yahoo messenger sử dụng port TCP 5050
- Webcam dùng port TCP 5100
- Voice chat : đối với TCP 5000 - 5001 ; đối với UDP 5000-5010
( 443 và 80 đương nhiên mặc định phải mở)
|
|
|
bạn có thể cài tool free của avira tên là avira task management gì đấy. nó cho phép xem các tiến trình đang chạy trên máy kể cả tiến trình ẩn. ngoài ra có những đánh giá cho từng tiến trình đang chạy trên hđh
|
|
|
Nhờ anh em có kinh nghiệm xem hộ trường hợp domain mail cơ quan mình bị gửi nặc danh cái. MÌnh ko thạo món này lắm. mình dùng exchange 2010 tuy nhiên chưa triển khai phần mềm hoặc thiết bị bên thứ 3 để làm chống spam, virus.
--------------------------------------------------------------------------------------------------------
Received: from edge-01.domain.vn (x.x.x.x) by HT1.domain.vn (192.168.x.x) with
Microsoft SMTP Server (TLS) id 14.1.218.12; Fri, 30 Sep 2011 08:17:19 +0700
Received: from nm25-vm1.bullet.mail.sp2.yahoo.com (98.139.91.229) by
edge-01.mofa.vn (192.168.x.xxx) with Microsoft SMTP Server id 14.0.639.21;
Fri, 30 Sep 2011 08:17:21 +0700
Received: from [98.139.91.63] by nm25.bullet.mail.sp2.yahoo.com with NNFMP; 30
Sep 2011 01:26:27 -0000
Received: from [98.136.185.47] by tm3.bullet.mail.sp2.yahoo.com with NNFMP; 30
Sep 2011 01:26:27 -0000
Received: from [127.0.0.1] by smtp108.mail.gq1.yahoo.com with NNFMP; 30 Sep
2011 01:26:26 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1317345986; bh=Wv2TDq2fP4yN69mV3lldts7GxcG2dz++zc1x513xpeY=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:Message-ID:From:To:Subjectate:MIME-Version:Content-Type:X-Priority:X-MSMail-Priority:X-Mailer:X-MimeOLE; b=fElxBvG290GYVMH4BqvDqWlr2vnI1YWSdznSefOC5aiXE3oA37I2sbd4mVvCGlvCaT/2tqmsnliSrhAyqxdmlXxAnXQ4vjNMdkGb0qOHMOfeCtfaxrwS91F20Mn5Ta7oQnAZLHz085Hrx5NzX0qXrRK7qDkzAM+aR9tv+Wzq3ls=
X-Yahoo-Newman-Id: 943264.30085.bm@smtp108.mail.gq1.yahoo.com
X-Yahoo-Newman-Property: ymail-5
X-YMail-OSG: eS4T80kVM1nOP_KP3VwhWWC8PrzZEY9hd_pDfcHpkXxDjfE
f3EHvWfdYv3rUfCYW81VYxepoi_HD9pzeyrRjXZ3hObScvDA6FGvZ0hy5CP8
la1IKg8pbupGgcDh_LElHUaWVfnrs0uq27.LxzFNlvZgdsr6hpyffk0n0JCO
Zl_6m8n_8xlhcCQ_nA64AKTjZ5eIKYj.BGpV9qW1lyHDWjm5RBr4Iq7D_4OR
cyCE1DhL0BgVqX79Qic74tPFYZmspK2_2lO.LL4AJcYdxbU_nMrFNs4S57o_
f7x3UrDRTmAxfHfAuPWOyWJVB8hz0FU.2okkeQ7cxgbxbhUyZdOsm3t6m8XP
9pTExz0_0Buy2tsu2.nYJ3vTibIRZeiEF5YY-
X-Yahoo-SMTP: HquphiaswBCTXU9ZAip.nEslXQep
Received: from nlo (gbcdbc23@115.89.152.102 with login) by
smtp108.mail.gq1.yahoo.com with SMTP; 29 Sep 2011 18:26:17 -0700 PDT
Message-ID: <9F6A2C2FD1C8F6056A4689F576B3C1F1@nlo>
From: =?windows-1251?B?Y2h1IHkgbj9wID8/bmcgcGhp?= <mai_gia_mao@domain.vn>
To: <nguoi_nhan@domain.vn>
Subject: T?ng h?p cac website
Date: Fri, 30 Sep 2011 09:26:10 +0800
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0396_01654D17.1E3502B0"
X-Mailer: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
Return-Path: gbcdbc23@yahoo.com
X-MS-Exchange-Organization-AuthSource: edge-01.domain.vn
X-MS-Exchange-Organization-AuthAs: Anonymous
MIME-Version: 1.0
|
|
|
vinhanit wrote:
Đây là CD Backtrack 5 chạy trên nền linux, có rất nhiều công cụ hỗ trợ hack Wifi và nhiều thứ khác. Được bình chọn là đĩa LiveCD hỗ trợ hack tốt nhất năm (năm nào thì mình không nhớ nữa) hay đại loại là như vậy . Đây là live CD khá tốt để học CEH và bảo mật. Bạn tự nghiên cứu nhé, chúc bạn may mắn !
http://www.backtrack-linux.org/downloads/
BACKTRACK LÀ CHUẨN ĐẤY
|
|
|
chả là mình vào cơ quan mới được 3 năm và lúc vào không được bàn giao pass root từ người trước mà chỉ được add một key file để ssh vô quản trị. giờ đây người trước đã nghỉ nên mình không thể có pass root.
vấn đề của mình là không hiểu sao em debian đang chạy web base tự nhiên 1 loạt key add trong đấy xịt hết. khi ssh vào nó báo refurse key. mình đang lo không biết có vấn đề gì về an ninh không nên tạm thời đã ngắt mạng. Mong anh em chỉ giáo cách phá pass root trong Debian .
|
|
|
đa phần nếu bị DDos thì vấn đề sập mạng chỉ là thời gian nếu không có một hệ thống phân tích log tốt và có 1 người quản trị có kinh nghiệm. ở nước mình thì băng thông internet là vấn đề lớn đối với các công ty bởi vấn đề kinh phí bởi vậy nếu không có 1 thiết bị chuyên dụng để lọc và ngăn chặn thì nhiều nhất là vài tiếng thì full đường truyền. đã đến lúc các nhà cung cấp dịch vụ internet cần có các thiết bị lọc từ trên để bảo vệ người dùng về các vấn đề tương tự như DDos. có lẽ phải đến khi nào một nhà cung cấp dịch vụ bị tấn công ddos thì lúc đấy vấn đề mới được giải quyết.
|
|
|
bên em mới mượn được con Arbor chống ddos khá hiệu quả mỗi tội giá của nó mắc quá cỡ vài chục nghan là bé nhất. Tiện thể xin hỏi mọi người luôn cách chặn TCP SYN bởi vì bên mình mấy hôm nay bị ddos không sập nên bọn nó chuyển hướng sang TCP SYN. Mới nghiên cứu bảo mật thời gian ngắn nên mong mọi người giúp đỡ.
|
|
|
thanks các bạn đã support. Sau 4 ngày loay hoay fix lên fix xuống không được mình quyết định : rpm -e squid rồi rpm -ivh squid . sau đó vào fig lại file squid.conf từ đầu và kết quả là chạy ngon đúng như mô hình. Cuối cùng vẫn chưa xác định được là lỗi ở dòng nào bó tay. com
|
|
|
http_port 8080 và https_port đều là 8080 mà có vấn đề gì đâu. nó sẽ wwwect sang port 80 cho http và 443 cho https.
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
|
|
|
Hi vọng anh em có thể hỗ trợ về proxy squid với.
Mình dùng squid proxy với mô hình như sau:
1 proxy bố mẹ 192.168.x.x chỉ làm mỗi nhiệm vụ là đẩy request cho 3 thằng proxy con khác xử lý. việc đẩy cho các proxy khác mình dùng câu lệnh:
cache_peer 192.168.x.x parent 8080 3130 round-robin proxy-only
Hiện mô hình này đã chạy ngon. máy bố mẹ đẩy yêu cầu cho 3 máy con xử lý và các máy trạm vào được internet bình thường. Tuy nhiên có một vấn đề là vào các trang https thì không được. ví dụ vào yahoo mail rồi vào login.yahoo.com thì nó nhảy vào cái trang https://login.yahoo.com và đứt luôn đoạn này nên không thể vô mail yahoo.( gmail, hotmail lỗi tuơng tự).
Trong squid.conf mình đã cấu hình port cho https giống http là https_port 8080 rồi.
==> 3 máy con mình vào lần lượt từng máy để vào https thì đều ok tuy nhiên khi đặt proxy bố mẹ để nó tự động đẩy thì nó không ra được các trang https.
Bí quá không biết xử lý ra sao mong anh em hỗ trợ. vấn đề ở đây mình nghĩ là do có vấn đề với https trên con proxy bố mẹ này thôi vì 3 đứa proxy con xử lý trực tiếp thì đều vào ngon.
|
|
|
Nếu ở internet public hay ngồi nhà thì thường là ping được ví dụ hay ping nhất để thử là ping google.com hoặc ping 8.8.8.8 chả hạn. tuy nhiên nếu ngồi ở các công ty các cơ quan có thể chính sách người quản trị áp trên firewall cấm giao thức ping.
|
|
|
Viettel có chính sách chặn fb anh em muốn vô phải vô bằng cách khác
|
|
|
TienLuong wrote:
Cám ơn bác MrMe
Thêm 1 câu hỏi nữa ạh
Em đang tìm hiểu SQUID có hỗ trợ LOAD BALANCING không. Hiện giờ em mới thấy SQUID hỗ trợ round-robin, nhưng nó quả đơn giản, và trong trường hợp em có 3 server, nếu 1 cái bị die thì client vẫn có xác suất 1/3 rơi vào cái server hỏng này .
Liệu SQUID có cấu hình nào cho phép làm việc như 1 Load Balancer thực sự, nghĩ là khi 1 server bị die, SQUID chỉ gửi request tới 2 servers còn lại không ạh ?
Cám ơn mọi người nhiều
Câu hỏi hay mà chưa thấy ai giải đáp nhỉ. mình cũng đang dùng squid proxy tren centos và cũng có hệ thống tuơng tự như vậy. trên con cổng vào cấu hình round-robin đến 3 con khác và thấy rất okie. Nhưng đúng như bạn nói trong trường hợp 1 server bị hỏng thì số request đến sv đấy vẫn có và hệ quả là có 1 số máy trạm request đến sever bị die thì ko vào được mạng trong khi các máy khác hoạt động bình thường
|
|
|
Tổng quan về IP Tables - Thiết lập tường lửa Iptables cho Linux
Thiết lập tường lửa Iptables cho Linux - #/sbin/iptables
Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux.. Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfiler xử lí. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống.
Cách đổi địa chỉ IP động (dynamic NAT)
Trước khi đi vào phần chính, mình cần giới thiệu với các bạn về công nghệ đổi địa chỉ NAT động và đóng giả IP Masquerade. Hai từ này được dùng rất nhiều trong Iptables nên bạn phải biết. Nếu bạn đã biết NAT động và Masquerade, bạn có thể bỏ qua phần này.
NAT động là một trong những kĩ thuật chuyển đổi địa chỉ IP NAT (Network Address Translation). Các địa chỉ IP nội bộ được chuyển sang IP NAT như sau:
NAT Router đảm nhận việc chuyển dãy IP nội bộ 169.168.0.x sang dãy IP mới 203.162.2.x. Khi có gói liệu với IP xxxồn là 192.168.0.200 đến router, router sẽ đổi IP xxxồn thành 203.162.2.200 sau đó mới gởi ra ngoài. Quá trình này gọi là SNAT (Source-NAT, NAT xxxồn). Router lưu dữ liệu trong một bảng gọi là bảng NAT động. Ngược lại, khi có một gói từ liệu từ gởi từ ngoài vào với IP đích là 203.162.2.200, router sẽ căn cứ vào bảng NAT động hiện tại để đổi địa chỉ đích 203.162.2.200 thành địa chỉ đích mới là 192.168.0.200. Quá trình này gọi là DNAT (Destination-NAT, NAT đích). Liên lạc giữa 192.168.0.200 và 203.162.2.200 là hoàn toàn trong suốt (transparent) qua NAT router. NAT router tiến hành chuyển tiếp (forward) gói dữ liệu từ 192.168.0.200 đến 203.162.2.200 và ngược lại.
Cách đóng giả địa chỉ IP (masquerade)
Đây là một kĩ thuật khác trong NAT.
NAT Router chuyển dãy IP nội bộ 192.168.0.x sang một IP duy nhất là 203.162.2.4 bằng cách dùng các số hiệu cổng (port-number) khác nhau. Chẳng hạn khi có gói dữ liệu IP với xxxồn 192.168.0.168:1204, đích 211.200.51.15:80 đến router, router sẽ đổi xxxồn thành 203.162.2.4:26314 và lưu dữ liệu này vào một bảng gọi là bảng masquerade động. Khi có một gói dữ liệu từ ngoài vào với xxxồn là 221.200.51.15:80, đích 203.162.2.4:26314 đến router, router sẽ căn cứ vào bảng masquerade động hiện tại để đổi đích từ 203.162.2.4:26314 thành 192.168.0.164:1204. Liên lạc giữa các máy trong mạng LAN với máy khác bên ngoài hoàn toàn trong suốt qua router.
Cấu trúc của Iptables
Iptables được chia làm 4 bảng (table): bảng filter dùng để lọc gói dữ liệu, bảng nat dùng để thao tác với các gói dữ liệu được NAT xxxồn hay NAT đích, bảng mangle dùng để thay đổi các thông số trong gói IP và bảng conntrack dùng để theo dõi các kết nối. Mỗi table gồm nhiều mắc xích (chain). Chain gồm nhiều luật (rule) để thao tác với các gói dữ liệu. Rule có thể là ACCEPT (chấp nhận gói dữ liệu), DROP (thả gói), REJECT (loại bỏ gói) hoặc tham chiếu (reference) đến một chain khác.
________________________________________
Quá trình chuyển gói dữ liệu qua Netfilter
Gói dữ liệu (packet) chạy trên chạy trên cáp, sau đó đi vào card mạng (chẳng hạn như eth0). Đầu tiên packet sẽ qua chain PREROUTING (trước khi định tuyến). Tại đây, packet có thể bị thay đổi thông số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với packet đi vào máy, nó sẽ qua chain INPUT. Tại chain INPUT, packet có thể được chấp nhận hoặc bị hủy bỏ. Tiếp theo packet sẽ được chuyển lên cho các ứng dụng (client/server) xử lí và tiếp theo là được chuyển ra chain OUTPUT. Tại chain OUTPUT, packet có thể bị thay đổi các thông số và bị lọc chấp nhận ra hay bị hủy bỏ. Đối với packet forward qua máy, packet sau khi rời chain PREROUTING sẽ qua chain FORWARD. Tại chain FORWARD, nó cũng bị lọc ACCEPT hoặc DENY. Packet sau khi qua chain FORWARD hoặc chain OUTPUT sẽ đến chain POSTROUTING (sau khi định tuyến). Tại chain POSTROUTING, packet có thể được đổi địa chỉ IP xxxồn (SNAT) hoặc MASQUERADE. Packet sau khi ra card mạng sẽ được chuyển lên cáp để đi đến máy tính khác trên mạng.
Các tham số dòng lệnh thường gặp của Iptables
1. Gọi trợ giúp Để gọi trợ giúp về Iptables, bạn gõ lệnh $ man iptables hoặc $ iptables --help. Chẳng hạn nếu bạn cần biết về các tùy chọn của match limit, bạn gõ lệnh $ iptables -m limit --help.
2. Các tùy chọn để chỉ định thông số
- chỉ định tên table: -t <tên_table>, ví dụ -t filter, -t nat, .. nếu không chỉ định table, giá trị mặc định là filter
- chỉ đinh loại giao thức: -p <tên giao thức>, ví dụ -p tcp, -p udp hoặc -p ! udp để chỉ định các giao thức không phải là udp
- chỉ định card mạng vào: -i <tên_card_mạng_vào>, ví dụ: -i eth0, -i lo
- chỉ định card mạng ra: -o <tên_card_mạng_ra>, ví dụ: -o eth0, -o pp0
- chỉ định địa chỉ IP xxxồn: -s <địa_chỉ_ip_xxxồn>, ví dụ: -s 192.168.0.0/24 (mạng 192.168.0 với 24 bít mạng), -s 192.168.0.1-192.168.0.3 (các IP 192.168.0.1, 192.168.0.2, 192.168.0.3).
- chỉ định địa chỉ IP đích: -d <địa_chỉ_ip_đích>, tương tự như -s
- chỉ định cổng xxxồn: --sport <cổng_xxxồn>, ví dụ: --sport 21 (cổng 21), --sport 22:88 (các cổng 22 .. 88), --sport :80 (các cổng <=80), --sport 22: (các cổng >=22)
- chỉ định cổng đích: --dport <cổng_đích>, tương tự như --sport
3. Các tùy chọn để thao tác với chain
- tạo chain mới: iptables -N <tên_chain>
- xóa hết các luật đã tạo trong chain: iptables -X <tên_chain>
- đặt chính sách cho các chain `built-in` (INPUT, OUTPUT & FORWARD): iptables -P <tên_chain_built-in> <tên policy (DROP hoặc ACCEPT)>, ví dụ: iptables -P INPUT ACCEPT để chấp nhận các packet vào chain INPUT
- liệt kê các luật có trong chain: iptables -L <tên_chain>
- xóa các luật có trong chain (flush chain): iptables -F <tên_chain>
- reset bộ đếm packet về 0: iptables -Z <tên_chain>
4. Các tùy chọn để thao tác với luật
- thêm luật: -A (append)
- xóa luật: -D (delete)
- thay thế luật: -R (replace)
- chèn thêm luật: -I (insert)
Mình sẽ cho ví dụ minh họa về các tùy chọn này ở phần sau.
Phân biệt giữa ACCEPT, DROP và REJECT packet
- ACCEPT: chấp nhận packet
- DROP: thả packet (không hồi âm cho client)
- REJECT: loại bỏ packet (hồi âm cho client bằng một packet khác)
Ví dụ:
# iptables -A INPUT -i eth0 --dport 80 -j ACCEPT chấp nhận các packet vào cổng 80 trên card mạng eth0
# iptables -A INPUT -i eth0 -p tcp --dport 23 -j DROP thả các packet đến cổng 23 dùng giao thức TCP trên card mạng eth0
# iptables -A INPUT -i eth1 -s ! 10.0.0.1-10.0.0.5 --dport 22 -j REJECT --reject-with tcp-reset gởi gói TCP với cờ RST=1 cho các kết nối không đến từ dãy địa chỉ IP 10.0.0.1..5 trên cổng 22, card mạng eth1
# iptables -A INPUT -p udp --dport 139 -j REJECT --reject-with icmp-port-unreachable gởi gói ICMP `port-unreachable` cho các kết nối đến cổng 139, dùng giao thức UDP
Phân biệt giữa NEW, ESTABLISHED và RELATED
- NEW: mở kết nối mới
- ESTABLISHED: đã thiết lập kết nối
- RELATED: mở một kết nối mới trong kết nối hiện tại
Ví dụ:
# iptables -P INPUT DROP đặt chính sách cho chain INPUT là DROP
# iptables -A INPUT -p tcp --syn -m state --state NEW -j ACCEPT chỉ chấp nhận các gói TCP mở kết nối đã set cờ SYN=1
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT không đóng các kết nối đang được thiết lập, đồng thời cũng cho phép mở các kết nối mới trong kết nối được thiết lập
# iptables -A INPUT -p tcp -j DROP các gói TCP còn lại đều bị DROP
Tùy chọn --limit, --limit-burst
--limit-burst: mức đỉnh, tính bằng số packet
--limit: tốc độ khi chạm mức đỉnh, tính bằng số packet/s(giây), m(phút), d(giờ) hoặc h(ngày)
Mình lấy ví dụ cụ thể để bạn dễ hiểu:
# iptables -N test
# iptables -A test -m limit --limit-burst 5 --limit 2/m -j RETURN
# iptables -A test -j DROP
# iptables -A INPUT -i lo -p icmp --icmp-type echo-request -j test
Đầu tiên lệnh iptables -N test để tạo một chain mới tên là test (table mặc định là filter). Tùy chọn -A test (append) để thêm luật mới vào chain test. Đối với chain test, mình giới hạn limit-burst ở mức 5 gói, limit là 2 gói/phút, nếu thỏa luật sẽ trở về (RETURN) còn không sẽ bị DROP. Sau đó mình nối thêm chain test vào chain INPUT với tùy chọn card mạng vào là lo, giao thức icmp, loại icmp là echo-request. Luật này sẽ giới hạn các gói PING tới lo là 2 gói/phút sau khi đã đạt tới 5 gói.
Bạn thử ping đến localhost xem sao?
$ ping -c 10 localhost
Chỉ 5 gói đầu trong phút đầu tiên được chấp nhận, thỏa luật RETURN đó. Bây giờ đã đạt đến mức đỉnh là 5 gói, lập tức Iptables sẽ giới hạn PING tới lo là 2 gói trên mỗi phút bất chấp có bao nhiêu gói được PING tới lo đi nữa. Nếu trong phút tới không có gói nào PING tới, Iptables sẽ giảm limit đi 2 gói tức là tốc độ đang là 2 gói/phút sẽ tăng lên 4 gói/phút. Nếu trong phút nữa không có gói đến, limit sẽ giảm đi 2 nữa là trở về lại trạng thái cũ chưa đạt đến mức đỉnh 5 gói. Quá trình cứ tiếp tục như vậy. Bạn chỉ cần nhớ đơn giản là khi đã đạt tới mức đỉnh, tốc độ sẽ bị giới hạn bởi tham số--limit. Nếu trong một đơn vị thời gian tới không có gói đến, tốc độ sẽ tăng lên đúng bằng --limit đến khi trở lại trạng thái chưa đạt mức --limit-burst thì thôi.
Để xem các luật trong Iptables bạn gõ lệnh $ iptables -L -nv (-L tất cả các luật trong tất cả các chain, table mặc định là filter, -n liệt kê ở dạng số, v để xem chi tiết)
# iptables -L -nv
Chain INPUT (policy ACCEPT 10 packets, 840 bytes)
pkts bytes target prot opt in out source destination
10 840 test icmp -- lo * 0.0.0.0/0 0.0.0.0/0 icmp type 8
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 15 packets, 1260 bytes)
pkts bytes target prot opt in out source destination
Chain test (1 references)
pkts bytes target prot opt in out source destination
5 420 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 2/min burst 5
5 420 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
# iptables -Z reset counter
# iptables -F flush luật
# iptables -X xóa chain đã tạo
Redirect cổng
Iptables hổ trợ tùy chọn -j REDIRECT cho phép bạn đổi hướng cổng một cách dễ dàng. Ví dụ như SQUID đang listen trên cổng 3128/tcp. Để wwwect cổng 80 đến cổng 3128 này bạn làm như sau:
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
Lưu ý: tùy chọn -j REDIRECT cho có trong chain PREROUTING
SNAT & MASQUERADE
Để tạo kết nối `transparent` giữa mạng LAN 192.168.0.1 với Internet bạn lập cấu hình cho tường lửa Iptables như sau:
# echo 1 > /proc/sys/net/ipv4/ip_forward cho phép forward các packet qua máy chủ đặt Iptables
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 210.40.2.71 đổi IP xxxồn cho các packet ra card mạng eth0 là 210.40.2.71. Khi nhận được packet vào từ Internet, Iptables sẽ tự động đổi IP đích 210.40.2.71 thành IP đích tương ứng của máy tính trong mạng LAN 192.168.0/24.
Hoặc bạn có thể dùng MASQUERADE thay cho SNAT như sau:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(MASQUERADE thường được dùng khi kết nối đến Internet là pp0 và dùng địa chỉ IP động)
DNAT
Giả sử bạn đặt các máy chủ Proxy, Mail và DNS trong mạng DMZ. Để tạo kết nối trong suốt từ Internet vào các máy chủ này bạn là như sau:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.3
# iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 192.168.1.4
Phần II: Lập cấu hình Iptables cho máy chủ phục vụ Web Phần này mình sẽ trình bày qua ví dụ cụ thể và chỉ hướng dẫn các bạn lọc packet vào. Các packet `forward` và 'output' bạn tự làm nha.
Giả sử như máy chủ phục vụ Web kết nối mạng trực tiếp vào Internet qua card mạng eth0, địa chỉ IP là 1.2.3.4. Bạn cần lập cấu hình tường lửa cho Iptables đáp ứng các yêu cầu sau:
- cổng TCP 80 (chạy apache) mở cho mọi người truy cập web
- cổng 21 (chạy proftpd) chỉ mở cho webmaster (dùng để upload file lên public_html)
- cổng 22 (chạy openssh) chỉ mở cho admin (cung cấp shell `root` cho admin để nâng cấp & patch lỗi cho server khi cần)
- cổng UDP 53 (chạy tinydns) để phục vụ tên miền (đây chỉ là ví dụ)
- chỉ chấp nhận ICMP PING tới với code=0x08, các loại packet còn lại đều bị từ chối.
Bước 1: thiết lập các tham số cho nhân
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 10 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 > /proc/sys/net/ipv4/conf/eth0/accept_source_route
tcp_syncookies=1 bật chức năng chống DoS SYN qua syncookie của Linux
tcp_fin_timeout=10 đặt thời gian timeout cho quá trình đóng kết nối TCP là 10 giây
tcp_keepalive_time=1800 đặt thời gian giữ kết nối TCP là 1800 giây
...
Các tham số khác bạn có thể xem chi tiết trong tài liệu đi kèm của nhân Linux.
Bước 2: nạp các môđun cần thiết cho Iptables
Để sử dụng Iptables, bạn cần phải nạp trước các môđun cần thiết. Ví dụ nếu bạn muốn dùng chức năng LOG trong Iptables, bạn phải nạp môđun ipt_LOG vào trước bằng lệnh # modprobe ipt_LOG.
MODULES="ip_tables iptable_filter ipt_LOG ipt_limit ipt_REJECT ipt_state
for i in $MODULES; do
/sbin/modprobe $MODULES
done
Bước 3: nguyên tắc đặt luật là "drop trước, accept sau"
Đây là nguyên tắc mà bạn nên tuân theo. Đầu tiên hãy đóng hết các cổng, sau đó mở dần cách cổng cần thiết. Cách này tránh cho bạn gặp sai sót trong khi đặt luật cho Iptables.
iptables -P INPUT DROP thả packet trước
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT giữ các kết nối hiện tại và chấp nhận các kết nối có liên quan
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT chấp nhận các gói vào looback từ IP 127.0.0.1
iptables -A INPUT -i lo -s 1.2.3.4 -j ACCEPT và 1.2.3.4
BANNED_IP="10.0.0.0/8 192.168.0.0/16 172.16.0.0/12 224.0.0.0/4 240.0.0.0/5"
for i in $BANNED_IP; do
iptables -A INPUT -i eth0 -s $i -j DROP thả các gói dữ liệu đến từ các IP nằm trong danh sách cấm BANNER_IP
done
Bước 4: lọc ICMP vào và chặn ngập lụt PING
LOG của Iptables sẽ được ghi vào file /var/log/firewall.log. Bạn phải sửa lại cấu hình cho SYSLOG như sau:
# vi /etc/syslog.conf
kern.=debug /var/log/firewall.log
# /etc/rc.d/init.d/syslogd restart
Đối với các gói ICMP đến, chúng ta sẽ đẩy qua chain CHECK_PINGFLOOD để kiểm tra xem hiện tại đamg bị ngập lụt PING hay không, sau đó mới cho phép gói vào. Nếu đang bị ngập lụt PING, môđun LOG sẽ tiến hành ghi nhật kí ở mức giới hạn --limit $LOG_LIMIT và --limit-burst $LOG_LIMIT_BURST, các gói PING ngập lụt sẽ bị thả hết.
LOG_LEVEL="debug"
LOG_LIMIT=3/m
LOG_LIMIT_BURST=1
PING_LIMIT=500/s
PING_LIMIT_BURST=100
iptables -A CHECK_PINGFLOOD -m limit --limit $PING_LIMIT --limit-burst $PING_LIMIT_BURST -j RETURN
iptables -A CHECK_PINGFLOOD -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=PINGFLOOD:warning a=DROP "
iptables -A CHECK_PINGFLOOD -j DROP
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j CHECK_PINGFLOOD
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j ACCEPT
Bước 5: reject quét cổng TCP và UDP
Ở đây bạn tạo sẵn chain reject quét cổng, chúng ta sẽ đẩy vào chain INPUT sau. Đối với gói TCP, chúng ta reject bằng gói TCP với cờ SYN=1 còn đối với gói UDP, chúng ta sẽ reject bằng gói ICMP `port-unreachable`
iptables-N REJECT_PORTSCAN
iptables-A REJECT_PORTSCAN -p tcp -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=PORTSCAN:tcp a=REJECT "
iptables-A REJECT_PORTSCAN -p udp -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=PORTSCAN:udp a=REJECT "
iptables-A REJECT_PORTSCAN -p tcp -j REJECT --reject-with tcp-reset
iptables-A REJECT_PORTSCAN -p udp -j REJECT --reject-with icmp-port-unreachable
Bước 6: phát hiện quét cổng bằng Nmap
iptables-N DETECT_NMAP
iptables-A DETECT_NMAP -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:XMAS a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:XMAS-PSH a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags ALL ALL -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:XMAS-ALL a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags ALL FIN -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:FIN a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:SYN-RST a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:SYN-FIN a=DROP "
iptables-A DETECT_NMAP -p tcp --tcp-flags ALL NONE -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=NMAP:NULL a=DROP "
iptables-A DETECT_NMAP -j DROP
iptables-A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DETECT_NMAP
Đối với các gói TCP đến eth0 mở kết nối nhưng không đặt SYN=1 chúng ta sẽ chuyển sang chain DETECT_NMAP. Đây là những gói không hợp lệ và hầu như là quét cổng bằng nmap hoặc kênh ngầm. Chain DETECT_NMAP sẽ phát hiện ra hầu hết các kiểu quét của Nmap và tiến hành ghi nhật kí ở mức --limit $LOG_LIMIT và --limit-burst $LOG_LIMIT_BURST. Ví dụ để kiểm tra quét XMAS, bạn dùng tùy chọn --tcp-flags ALL FIN,URG,PSH nghĩa là 3 cờ FIN, URG và PSH được bật, các cờ khác đều bị tắt. Các gói qua chain DETECT_NMAP sau đó sẽ bị DROP hết.
Bước 7: chặn ngập lụt SYN
Gói mở TCP với cờ SYN được set 1 là hợp lệ nhưng không ngoại trừ khả năng là các gói SYN dùng để ngập lụt. Vì vậy, ở dây bạn đẩy các gói SYN còn lại qua chain CHECK_SYNFLOOD để kiểm tra ngập lụt SYN như sau:
iptables-N CHECK_SYNFLOOD
iptables-A CHECK_SYNFLOOD -m limit --limit $SYN_LIMIT --limit-burst $SYN_LIMIT_BURST -j RETURN
iptables-A CHECK_SYNFLOOD -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=SYNFLOOD:warning a=DROP "
iptables-A CHECK_SYNFLOOD -j DROP
iptables-A INPUT -i eth0 -p tcp --syn -j CHECK_SYNFLOOD
Bước 8: giới hạn truy cập SSH cho admin
SSH_IP="1.1.1.1"
iptables -N SSH_ACCEPT
iptables -A SSH_ACCEPT -m state --state NEW -j LOG --log-level $LOG_LEVEL --log-prefix "fp=SSH:admin a=ACCEPT "
iptables -A SSH_ACCEPT -j ACCEPT
iptables -N SSH_DENIED
iptables -A SSH_DENIED -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=SSH:attempt a=REJECT "
iptables -A SSH_DENIED -p tcp -j REJECT --reject-with tcp-reset
for i in $SSH_IP; do
iptables -A INPUT -i eth0 -p tcp -s $i --dport 22 -j SSH_ACCEPT
done
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -j SSH_DENIED
Bước 9: giới hạn FTP cho web-master
FTP_IP="2.2.2.2"
iptables -N FTP_ACCEPT
iptables -A FTP_ACCEPT -m state --state NEW -j LOG --log-level $LOG_LEVEL --log-prefix "fp=FTP:webmaster a=ACCEPT "
iptables -A FTP_ACCEPT -j ACCEPT
iptables -N FTP_DENIED
iptables -A FTP_DENIED -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=FTP:attempt a=REJECT "
iptables -A FTP_DENIED -p tcp -j REJECT --reject-with tcp-reset
for i in $FTP_IP; do
iptables -A INPUT -i eth0 -p tcp -s $i --dport 21 -j FTP_ACCEPT
done
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW -j FTP_DENIED
Bước 10: lọc TCP vào
iptables -N TCP_INCOMING
iptables -A TCP_INCOMING -p tcp --dport 80 -j ACCEPT
iptables -A TCP_INCOMING -p tcp -j REJECT_PORTSCAN
iptables -A INPUT -i eth0 -p tcp -j TCP_INCOMING
Bước 11: lọc UDP vào và chặn ngập lụt UDP
iptables -N CHECK_UDPFLOOD
iptables -A CHECK_UDPFLOOD -m limit --limit $UDP_LIMIT --limit-burst $UDP_LIMIT_BURST -j RETURN
iptables -A CHECK_UDPFLOOD -m limit --limit $LOG_LIMIT --limit-burst $LOG_LIMIT_BURST -j LOG --log-level $LOG_LEVEL --log-prefix "fp=UDPFLOOD:warning a=DROP "
iptables -A CHECK_UDPFLOOD -j DROP
iptables -A INPUT -i eth0 -p udp -j CHECK_UDPFLOOD
iptables -N UDP_INCOMING
iptables -A UDP_INCOMING -p udp --dport 53 -j ACCEPT
iptables -A UDP_INCOMING -p udp -j REJECT_PORTSCAN
iptables -A INPUT -i eth0 -p udp -j UDP_INCOMING
Để hạn chế khả năng bị DoS và tăng cường tốc độ cho máy chủ phục vụ web, bạn có thể dùng cách tải cân bằng (load-balacing) như sau:
Cách 1: chạy nhiều máy chủ phục vụ web trên các địa chỉ IP Internet khác nhau. Ví dụ, ngoài máy chủ phục vụ web hiện tại 1.2.3.4, bạn có thể đầu tư thêm các máy chủ phục vụ web mới 1.2.3.2, 1.2.3.3, 1.2.3.4, 1.2.3.5. Điểm yếu của cách này là tốn nhiều địa chỉ IP Internet.
Cách 2: đặt các máy chủ phục vụ web trong một mạng DMZ. Cách này tiết kiệm được nhiều địa chỉ IP nhưng bù lại bạn gateway Iptables 1.2.3.4 - 192.168.0.254 có thể load nặng hơn trước và yêu cầu bạn đầu tư tiền cho đường truyền mạng từ gateway ra Internet.
Bạn dùng DNAT trên gateway 1.2.3.4 để chuyển tiếp các gói dữ liệu từ client đến một trong các máy chủ phục vụ web trong mạng DMZ hoặc mạng LAN như sau:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1-192.168.0.4
|
|
|
Xin anh em hỗ trợ cho mình một chút. Mình mới nghiên cứu về linux và chủ yếu là centos nên debian không thạo lắm. Tình hình mà mình muốn mở một số port trên iptables nhưng không biết xử lý như nào nhờ anh em hỗ trợ giúp. Trên CentOS thì chỉ cần vi /etc/sysconfig/iptables rồi add thêm mấy dòng rules là ok nhưng hình như debian cơ chế quản lý nó khác mình không tìm được file config của iptables ở đâu
|
|
|
Sẵn đây xin được hỏi anh em có kinh nghiệm là làm cách nào để chuyển đổi từ SSL v2 lên SSL v3 hoặc TLS v1 nếu như mình dùng hệ điều hành cho server là win2k3. Hệ điều hành trên Linux thì mình đã làm được rồi. Mới nhập môn an ninh bảo mật mong anh em có kinh nghiệm chỉ giáo.
|
|
|
show file resolve.conf lên xem nào. ( vi /etc/squid/resolve.conf)
phải ghi vào file này địa chỉ Ip của cái máy dns mà bạn dựng lên thì squid nó mới trỏ đến được. theo mình nghĩ là vậy. anh em nào có kn chỉ bào giúp, mình là newbie linux mới nghiên cứu sơ sơ thôi à.
|
|
|
|
|
|
|