Đề tài an toàn và bảo mật trên hệ điều hành linux

39 721 0
Đề tài an toàn và bảo mật trên hệ điều hành linux

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page Giớithiệu Ngày nay,trên mạng Internetkỳ diệu,ngườita thực hàng tỷđô la giao dịch mỗingày(trên dưới2 ngàn tỷUSD mỗinăm) Mộtkhốilượnghànghoávàtiềnbạckhổnglồđangđượctỷtỷcácđiện tử tíhon chuyển đivà thựcsự miếng mồibéo bở cho tay ăn trộm hay khủng bố có có “trithức” Sự pháttriển nhanh chóng củamạngmáytínhlàđiềutấtyếu.Hàngngàycókhôngbiếtbaonhiêu ngườitham gia vào hệ thống thông tin toàn cầu mà gọilà Internet.Những công ty lớn,các doanh nghiệp,các trường đạihọc cáctrường phổ thông ngày tăng có rấtnhiều ngườiđang nốimạng trực tuyến suốt24/24 mỗingày, bảyngàytrong tuần.Trong bốicảnh mộtliên mạng toàn cầu vớihàng chụctriệu ngườisử dụng Internetthìvấn đềan toàn thông tin trở nên phứctạp cấp thiếthơn.Do mộtcâu hỏikhông dễ chịu đặtralà:liệu mạng máytính củachúng tasẽphảibịtấn công bấtcứ lúc nào? Sự bảovệcủabấtkỳmạng máytính nàođầu tiên làfirewall phần mền nguồn mở Linux.Và câu chuyện an toàn mạng hồikếtthúc.Việcgiữ an toàn mộthệ thống kéo theo chúng taphảicónhưng kiến thứctốtvềhệđiều hành,mạng TCP/IPcơsởvà quản trịdịch vụ.Cùng vớisự gợiý giá viên hướng dẫn tầm quan trọng việcan toàn thông tin liên mạng,ở chúng tôichỉ trìnhbàymộtcáchtổngquannhữngvùngnơiLinuxcóthểvàcầnphải đượcgiữ an toàn,những thêm vào cáclệnh bản,những kinh ngiệm trongnguyêntắcantoànvàbảovệhệthốngmạng Nhóm sinhviênthựchiện: - NguyễnHuyChương - LêThịHuyềnTrang GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page I An toàn cho cácgiao dịch mạng Có rấtnhiều dịch vụ mạng truyền thống giao tiếp thông qua giao thứcvăn không mã hoá,như TELNET,FTP,RLOGIN,HTTP,POP3.Trong giao dịch ngườidùng vớimáy chủ,tấtcả cácthông tin dạng góiđượctruyền qua mạng hìnhthứcvănbảnkhôngđượcmãhoá.Cácgóitinnàycóthểdễdàngbịchặnvàsao chép ởmộtđiểm nàođótrên đường đi.Việcgiảimãcácgóitin nàyrấtdễdàng,cho phép lấy thông tin tên ngườidùng,mậtkhẩu thông tin quan trọng khác.Việc sử dụng giao dịch mạng mã hoá khiến cho việc giảimã thông tin trở nên khó giúp bạn giữ an toàn cácthông tin quan trọng.Cáckỹ thuậtthôngdụnghiệnnaylàIPSec,SSL,TLS,SASLvàPKI Quản trịtừ xa mộttính hấp dẫn cáchệ thống UNIX.Ngườiquản trị mạngcóthểdễdàngtruynhậpvàohệthốngtừ bấtkỳnơinàotrên mạngthôngqua cácgiao thứcthông dụng telnet,rlogin.Mộtsố công cụ quản trịtừ xa đượcsử dụng rộng rãinhư linuxconf,webmin dùng giao thứckhông mã hoá.Việcthay thếtấtcảcácdịch vụ mạngdùnggiaothứckhôngmãhoábằnggiaothứccómãhoá rấtkhó.Tuy nhiên,bạn nên cung cấp việctruy cập cácdịch vụ truyền thống HTTP/POP3thôngquaSSL,cũngnhư thaythếcácdịchvụtelnet,rloginbằngSSH Nguyên tắcbảo vệ hệ thống mạng Hoạchđịnhhệthốngbảovệmạng Trong môitrường mạng,phảicó đảm bảo liệu có tính bí mậtphảiđượccấtgiữ riêng,saochochỉcóngườicóthẫm quyền mớiđượcphéptruy cậpchúng.Bảomậtthôngtinlàviệclàm quantrọng,vàviệcbảovệhoạtđộngmạng cũngcótầm quantrongkhôngkém Mạng máy tính cần đượcbảo vệ an toàn,tránh khỏinhững hiểm hoạ vô tình hay cố ý.Tuy nhiên mộtnhà quản trịmạng cần phảibiếtbấtcứ cáigìcũng có mức độ,không nên tháiquá.Mạng không nhaats thiếtphảiđược bảo vệ cẩn mật,đếnmứcngườidùngluôngặpkhókhănkhitruynhậpmạngđểthựchiệnnhiệm vụ mình.Không nên để họ thấtvọng khicố gắng truy cập cá tập tin mình.Bốnhiểm hoạchínhđốivớisự anninhcủamạnglà: o Truynhậpmạngbấthợppháp o Sự canthiệpbằngphươngtiệnđiệntử o Kẻtrộm o Taihoạvôtìnhhoặccóchủý Mức độ bảo mật :Tuỳ thuộc vào dạng môitrường mạngđanghoạtđộng Chính sách bảo mật : Hệ thống mạng đòihỏimột tập hợp nguyên tắc,điều luậtvà sách nhằm loạitrừ mọirủiro.Giúp hướng dẫn vược qua thay đổivà tình không dự kiến trình pháttriển mạng Sự đềphòng:đềphòngnhữngtruycậpbấthợppháp Sự chứng thực:trước khitruy nhập mạng,bạn gõ tên đăng nhập passwordhợplệ Đàotạo:Ngườidùng mạng đượcđàotạo chu đáo sẽcóítkhả năngvôýpháhuỷmộttàinguyên An toàn chothiếtbị:Tuỳthuộcở:quymôcông ty,độbímật liệu,cáctàinguyên khảdụng.Trong môitrường mạng nganghàng,cóthểkhông GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page có sách bảo vệ phàn cứng có tổ chứcnào.Ngườidùng chịu trách nhiệm đảm bảoantoànchomáytínhvàdữ liệucủariêngmình Môhìnhbảomật Haimôhình bảomậtkhácnhau đãpháttriển,giúp bảovệan toàn liệu tàinguyênphầncứng: Bảo vệ tàinguyên dùng chung mậtmã:gắn mậtmã cho từngtàinguyêndùngchung Truycập khiđượcsự cho phép :là chỉđịnh mộtsố quyền định sở ngườidùng,kiểm tra truy nhập tàinguyên dùng chung vào CSDL user-access máy server Nângcaomứcđộbảomật Kiểm toán :Theodõihoạtđộng mạnh thôngquatàikhoản ngườidùng,ghilạinhiều dạng biến cố chọn lọc vào sổ nhậtký bảo mậtcủa máy server.Giúp nhận biếtcáchoạtđộng bấthợp lệhoặckhông chủ định.Cung cấp thông tin vềcách dùng tình cóphòng ban nàođóthun phísử dụng số tàinguyên nhấtđịnh,và cần quyếtđịnh phícủa tàinguyên nàytheo cách thứcnàođó Máy tính không đĩa:Không có ổ đĩa cứng ổ mềm.Có thể thi hành mọiviệnhư máytính thôngthường,ngoạitrừ việclưu trữ liệutrên đĩacứng hay đĩa mềm cụcbộ.Không cần đĩa khởiđộng.Có khả giao tiếp vớiservervà đăng nhập nhờ vào mộtcon chip ROM khởiđộng đặcbiệtđượccàitrên card mạng Khibậtmáy tính không đĩa,chip ROM khởiđộng pháttín hiệu cho serverbiếtrằng muốn khởiđộng.Servertrả lờibằng cácn tảiphần mềm khởiđộng vào RAM máytính không đĩa vàtự đọng hiển thịmàn hình đăng nhập Khiđómáytính kếtnốivớimạng Mãhoádữ liệu: Ngườitamãhoáthông tin sang dạng mậtmã mộtphương pháp cho đảm bảo thông tin nhận biết đượcnếu nơinhận không biếtcách giảimã.Mộtngườisử dụng haymộthostcó thể sử dụngthôngtinmàkhôngsợảnhhưởngđếnngườisử dụnghaymộthostkhác Chốngvirus: - Ngănkhôngchovirushoạtđộng - Sữachữahư hạiởmộtmứcđộnàođó - Chặnđứngvirussaukhinóbộcphát Ngăn chặn tình trạng truy cập bấthợp pháp mộttrong giảipháp hiệu nhiệm nhấtđểtránh virus.Dobiện pháp chủ yếu làphòng ngừa,nên nhàquản trịmạngphảibảođảm saochomọiyếutốcầnthiếtđềuđãsẵnsàng: - Mậtmãđểgiảm khảnăngtruycậpbấthợppháp - Chỉđịnhcácđặcquyềnthíchhợpchomọingườidùng - Cácprofile để tổ chứcmôitrường mạng cho ngườidùng có thểlập cấu hình duytrìmôitrường đăng nhập,bao gồm kếtnốimạng khoản mục chương trình ngườidùngđăngnhập - Mộtchínhsáchquyếtđịnhcóthểtảiphầnmềm GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page Kiến trúcbảo mậtcủa hệthống mạng 1) Cácmứcantoànthôngtintrênmạng Không có điều gìgọilà hoàn hảo việc an toàn hệ thống mạng Linux.Nó đượcthiếtkếđểlà mộthệđiều hành nốimạng pháttriển mạnh mẽ củanóchỉđểtập trungvàosự an toàn.Hệđiều hành mãnguồn mởlàcáigìmàcho phép ngườiquản trịmạng ngườipháttriển,những ngườidùng triền miên theo dõivà kiểm toán gìdễ bịtấn công.Ở gìhuyền bìvề an toàn thông tin.Thậtlàtốtnếu cáctàinguyên đượcbảo mậtvà đượcbảo vệtốt trướcbấtkỳsự xâm phạm vôtìnhhaycốý Antoànhaybảomậtkhôngphảilàmộtsảnphẩm,nócũngkhôngphảilàmột phần mền.Nólàmộtcách nghĩ.Sự an toàn cóthểđượckhởiđộng vàdừng dịch vụ.Bảo mậtlà cách an toàn.Tàiliệu bảo mậtlà tư liệu mà thành viên củatổchứcmuốnbảovệ.Tráchnhiệm củaviệcbảomậtlàngườiquảntrịmạng Sự an toànmạngcóvaitròquan trọngtốicao.Antoàn phảiđượcđảm bảotừ nhân tố bên ngoàikernel,tạiphần cốtlõicủa Linux server.Cơ chế bảo mật cần phảibao gồm cấu hình mạng Server,chu viứng dụng tổ chứcmạng chícủa clienttruy nhập mạng từ xa.Có vàicách mà ta cần phảixem xét: o Sự antoànvậtlý o Antoànhệthống o Antoànmạng o Antoàncácứngdụng o Sự truynhậptừ xavàviệcchầpnhận Sự antoànvậtlý Điều nàylà giám sátđượctốtkhía cạnh an toàn hệ điều hành Linux.Sự an toàn vậtlý bắtđầu vớimôitrường xung quanh vídụ đốivớicác nhà cung cầp dịch vụ hãm hại?Có nên khoá cáckhốidữ liệu lại? Những ngườinào đượcchấp nhận đượcvào trung tâm liệu.Việcbảo vệthích hợp làphảithựchiện lạikhimuốnxâydựngmộtcàiđặtmớihaydichuyểndữ liệuđếnmộtvịtrímới GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page Antoànhệthống Sự an toàn hệthống baoquanh việcchọn phân phốihệđiều hành Linux,xây dưng kernel,tớisự an toàn tàikhoản ngườidùng,chophép truycập thư mụctập tin, mã hoá syslog filesystem.Cáctácvụ đượchoàn thành trướckhidịch vụ nối vào Internet.Việc chọn mộtphân phốinào thìtuỳ thuộc vào nhu cầunhư sách phác thảo chế an toàn.Có mộttiêu chuẩn để chọn phân phốinhưng nókhông thuộcphạm vicủabàinày.Việcxâydựng mộtkernelsẵn cócóhailợithế: o Nhữngoption an toàn củanhân đượcxácđịnhbởingườiquản trịmạng ngườiquản trịmạng biếtcáigìđượcxácđịnh vào kernelvà từ đồng thờinhận điều có.Phần nềm nguồn mở nóichung hệ điều hành Linuxnóiriêng,đặcbiệtcónhững cảitiến đểdễdàng chongườisử dụng vàcó nhữngtiệníchdễứngdụng.ChỉcầnupdatetrongRedHat o Sự antoàncáctàikhoảngngườidùngcóvaitròtolớn.Cónhữngvùng đượcvôhiệu hoá,những tàikhoảng không hoạtđộng,vôhiệu hoáviệctruycập đến NFS lên gốc,hạn chếnhững đăng nhập vàotrong môitrường điều kiển hệthống.Mã hoá file hệ thông sử dụng kỹ thuậtmã hoá mà thường phòng thủ cuốicùng cho mạng Có haicách tiếp cận chung:Hệ thống file mã hoá (CFS) Practical Privacy Disk Driver(PPDD).Hệ thống đượctheo dõivà Linux,hệ thống logging logged tiện ích syslog.Công cụ theo dõibao gồm swatch logcheck Swatch có công cụ thông báo thờigian thực,trong khilogcheck cung cấp mộtcông cụ mà phátsinh báo cáo định kỳ.Kiểm toán Password có vaitrò sống việcan toàn,bảo mậthệthống khimốiliên kếtyếu nhấttrong việc antoànmạnglàngườisử dụngvàviệclựachọncácmậtkhẩupassword An toàn mạng Ở liên quan đến việ kếtnốitừ Linux servervào mạng.Cấu hình dịch vụ mạng vớisự an toàn ngàycàng khókhăn chonhững nhàquản trịmạng The xinetd daemon cầnphảiđượcđịnhhìnhtổchứcbảomật.Lệnhnetstat Làmộttiệníchmạnh cho phép ngườiquản trịkiểm tra tình trạng cấu hình mạng.Kiểm tra mạng điều cần thiếtcủa việcan toàn.Điều nàyđảm bảo chếan toàn đượcthựchiện có hiêu việc hoàn thành yêu cầu bảo mật.Điều đạtđược quyền thực đến mạng bạn.Cách tiếp cận việc kiểm định mạng hiệu nhấtsẽtrongvaitròcủangườilàm phiền.Cónhữngcôngcụkiểm địnhcơsởvàhost cơsở SATAN(Security Administrator's Tool for Analysing Networks), SAINT( Security Administrator's Integrated Network Tool), SARA (Security Auditor's Research Assistant)là công cụ tốtđể kiểm định bản.SATAN công nhậnnăm 1995,nóđượccôngnhậnđôngđảobởimãnguồnmở SAINT mạnh SANAN,trong khiSARA mộtmodulackage,tương tácvới Nmap Samba.Những cảitiến gần nhấtlà công cụ Nessus.Nessus miễn phí,nguồn mở,đầy đủ nổibật,công cụ kiểm toàn đượchỗ trợ cảitiến cảitiến tích cực.Nessusđivào thành phần :- Client(nessus)và server(nesssus).Công cụ Nmap cho ngườiquản trịgiàu kinh nghiệm.MặtkhácNmap có sức mạnh,công cụ quétchongườicókinhnghiệm.Nóđượcsử dụngtốttrongmạngLAN TARA(TigerAuditorsResearch Assistant)là mộtvídụ cho công cụ kiểm toán sở host.Theo dõimạng dướimộtsự công.Công cụ đểtheo dõiđó PortSentry Ethereal.PortSentry quéttrong chế độ ngầm định.Bảo mậtmạng mộttrò chơigiữamèovàchuột,củatrítuệvàmáyđếm trítuệ.Trongkhimạngkiểm toánlà mộtphần củamạngbình thường,mạngtheodõicần phảiđượcưu tiêncaohơn.Việc GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page bảomậtbaogồm việckiểm toán xácvàcảviệccónên đểnhư thếhaykhông PortSentry mộtvídụ công cụ theo dõithờigian thựcđượcthiếtkế để quét pháthiệnrahệthống,vàcókhảchobạnnhữnghồiđáp Cácứngdụngantoàn MộtvàideamonschuẩntrongviệcphânphốiLinuxhiệnthờilànhữngứngdụng đầy đủ mà có cấu trúcfile phứctạp.Web,file,mailserversử dụng giao thứcphứctạp.An toàn đượcthựchiện bởicácđặctính bảo mậtcủa việccác đạilýchophép(MTA‟s)như Sendmail,QmailvàPostfix WebServercóthểcũngđượcgiữ an toàn bởicácmodulchophép:mod_auth, mod_auth_dbm,mod_auth_db,….Việccho phép Open SS hỗ trợ cho Apachesẽcũng công tácvớiweb server.Samba làm an toàn bởiviệcđọccácthông số chạy.Bướcđầu tiên đượcbảo vệ bởicông cụ quản trịweb Samba (SAT)vớiSLL nêncáclệnhquảnlýSambađượcbảovệ Chu vi an toàn Cấp sốtự nhiên củacách tiếp cận đượcsắp lớp đến an toàn máytính rakhỏilớptừ lớpmạngđếnlớpứngdụng,vàtừ đóđền lớpchu vi.Đâylàvùngđược quan tâm.Firewalslà thành phần miền chu vian toàn,là phần mền mà chứcnăngbắtbuộctổchứcbảomậtantoànbởibộlọc,bảomật,đẩymạnh,hayyêu cầu nằm Linux serverđể kếtnốiđến mạng Internet.Fireware có thểđượcthựchiện nhiều cách dựatrên cáclớp củamôhình OSI:lớp mạng,lớp giao vận ứng dụng.Có điểm tích cựcvà tiêu cựctrong việctriển khaifireware tạicác lớp mạng.Firewalmạng biết packet-filtering gateway,nơimà chúngkiểm tranhữggóitinIPvàogiaodiệnfirewarevàhoạtđộngphùhợpđượcgiữ lại.hoạtđộng bao gồm drop,cho phép/hoặc log.Sự bấtlợilà kiểu Firewalnày không khôn khéo.Firwalgiaovận làm việcbởikhảosátTCP hoặcUDP.Firewalyêu cầu can thiệp ngườidùng sửa đổinhững thủ tục.Firewalứng dụng làm cho quyếtđịnh truy nhập tầng ứng dụng.Nó cho phép ngườiquản trịmay firewalcho yêu cầu củamỗiloạiứngdụng.Cacibấttiện trongfirewallàngườiquản trịcần định hình triển khaitheo dõi,và bảo trìquá trình firewalcho mỗiứng dụng mà cần truy nhậpđiềukhiển Nóluôn làtôtđẻthựchiện bảomậtbởiviệcsử dụng kếthợp firewaltại tấtcả ba tầng để tránh tổn thương.Firewalkhông chỉcản trở ngườilàm phiền không hợp pháp vàomạng phảichophép ngườisử dụng truynhập bên ngoàivàonguồn tàinguyên,trong khiđóchấp nhận phêchuẩn nhấtđịnh kết nốisau cho ngườidùng.Đây nhận thức dễ mộtthách thứckhi thi hành o Firewalmạng Có vàilợithế việc sử dụng Linux tảng fireware.Sự quản lý đồng bộ,phần cứng,số ngườidùng,kiểm tra tảng,việcthựchiện,giá lý tạisao.Sự locgóilà lợiích hiệu cách bảo vẩptong phậm vi tránh xâm nhập.Ngườisử dụng không cần xác nhận để sử dụng tin cậy dịch vụ vùng bên Những giảipháp cho việclọcgóitrong Linux bao gồm ipchainsvà ipfwadm tiệníchcủaviệclọcgóitinđượcsử dụngtrongnhântừ phiênbản1.2.1vềtrước Phiên cuốicùngcủaipfwadm vàotháng 7/1996,sau đóipchainsthaythế nó.Những địa chỉIpchainslà giớihạn thiếu sótcủa ipfwadrnhư đếm 32 bit, khả giảiquyếtcấu thành địa chỉIP, v.v.Ipchains chiến thắng giớihạn bởiviệctận dụng lợiích ba kênh riêng biệthay quy tắcnối tiếpđểlọc.Bakênhđólà:INPUT,OUTPUT,vàFORWARD GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page TiệníchIpchainstheocúpháp: ipchains command chain rule-specification [options] -j action Tạiđây mộttrong số kênh INPUT,OUTPUT hoặcFORWARD.Như nhân 2.4 trước,tính hoạtđộng mộtlần Ipchains thay bởiNetfiltervà khoảng quy tắcIptables.Netfilterđượchỗ trợ bởicông nghệ Watchguard.Ipctables đượcpháttriển từ tiện ích Ipchainsvà chỉchạytrên phiên 2.3 trước MộtvídụvềlệnhIptables: iptables -A INPUT -p tcp –-dport smtp -j ACCEPT Hiện có thiếtkế firewalbắtđược hầu hếtcác cấu trúc mạng phổ biến,báohiệuđơngiảntheoyêucầu kếtnốitớinhữngnơirấtphứctạpkéotheokhu vựcđượcphiquânsự hoá(DMZ) AI Bảo mậtLinux Server Những kinh nghiệm bảo mật Hiện Linux dần trở thành mộthệ điều hành phổ biến bởitính kinh tế,khả bảo mậtvà uyển chuyển cao.Thế nhưng,mọihệ thống dù an toàn đến đâu dễ dàng bịxâm nhập ngườidùng(và nhấtlà ngườiquản trị-root)không đặtsự bảo mậtlên hàng đầu.Sâu mộtsó kinh nghiệm bảo mậttrênhệđiềuhànhRedHatLinuxmàchúngtôimuốnchiasẽcùngcácbạn: Không cho phép sử dụng tàikhoảng roottừ console:Sau khicàiđặt, tàikhoảng rootsẽ quyền kếtnốitelnetvào dịch vụ telnettrên hệ thống, tài khoản bình thường lại kết nối, nội dung tập tin /etc/security chỉquy định console đượcphép truycập bởirootvà chỉliệtkê consoletruy xuấtkhingồitrựctiếp tạimáychủ.Đểtăng cường bảo mậthơn nữa,hãy soạn thảo tập tin /etc/security bỏ đinhững console bạn không muốn roottruycập Xoábớttàikhoảng vànhóm đặcbiệt:Ngườiquản trịnên xoábỏtấtcả cáctàikhoảng nhóm tạo sẵn hệ thống nhu cầu sử dụng (vídụ:lp,syne,shutdown,halt,news,uucp,operator,game,gophẻ…).Thực hiệnviệcxoábỏtàikhoảngbằnglệnhusedelvàxoábỏnhóm vớilệnhgroupdel Tắtcácdịch vụ không sử dụng:Mộtđiều khánguyhiểm làsau khicài đặt,hệ thống tự động chạy nhiều dịch vụ,trong đa số cácdịch vụ không mong muốn,dẫn đến tiêu tốn tàinguyên sinh nhiều nguy bảo mật.Vì ngườiquản trịnên tắtcácdịch vụ không dùng tới(ntsysv)hoặcxoá bỏ cácgói dịchvụkhôngsử dụngbằnglệnhrpm Không cho “SU”(Substitute)lên root:Lệnh su cho phép ngườidùng chuyển sang tàikhoảng khác.Nếu không muốn ngườidùng “su”thành rootthìthêm hai dòng sau vàotậptin /etc/pam.d/su: Auth sufficient/lib/security/pam_root ok so debug Auth required/lib/security/pam_wheel.so group= tên_nhóm_root Chedấutậptinmậtkhẩu:Giaiđoạnđầu,mậtkhẩutoànbộtàikhoảng đượclưu tập tin /etc/password,tập tin màmọingườidùng cóquyền đọc Đâylàkẻhởlớn bảomậtdù mậtkhẩu đượcmãhoánhưng việcgiảimãkhông phảilà thựchiện được.Do đó,hiện cácnhà pháttriển Linux đặt GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page riêng mậtkhẩu mã hoá vào tập tin /ect/shadow chỉcó rootmớiđọcđược,nhưng yêucầuphảichọnEnabletheshadow passwordkhicàiRedHat Luôn nâng cấp chonhân (kernel)Linux:Linuxkhông hẵn đượcthiếtkế vớitính bảo mậtchặtchẽ,khá nhiều lỗ hỏng bịlợidụng bởitin tặc.Vì vậyviệcsử dụng mộthệđiều hành vớinhân đượcnâng cấp làrấtquan trọng vìmột khinhân,phầncốtlõinhấtcủahệđiềuhànhđượcthiếtkếtốtthìnguycơbịpháhoại sẽgiảm đirấtnhiều Tự động thoátkhỏiShel:Ngườiquản trịhệ thống kể ngườisử dụng bình thường rấthay quên thoátra dấu nhắcshelkhikếtthúccông việc.Thât nguy hiểm có mộtkẻ có toàn quyền truy suấthệ thống mà tốn chútcôngsứcnàocả.Dovậyngườiquảntrịnêncàiđặttínhnăngtự độngthoátkhỏi shelkhikhông cósự truyxuấttrong khoảng thờigian định trướcbằng cách sử dụng biến môitrường vàgán mộtgiátrịquyđịnh Sốgiâyhệthống duytrìdấu nhắc, bạnnênvàotâptin /ect/profileđểluôntácdụngtrongmọiphiênlàm việc KhôngchophéptruynhậptậptinkịchbảnkhởiđộngcủaLinux:Khihệ điều hành Linux khởiđộng, tập tin kịch (script) đặt tạithư mục /etc/rc.d/init.dsẽđượcgọithựcthi.Vìthế,đểtránh nhữngsự tòmòkhôngcần thiết từ phíangườidùng,vớitư cách ngườiquản trị,bạn nên hạn chếquyền truyxuấttới cáctậptinnàyvàchỉchophéptàikhoảngrootxử lýbằnglệnhsau: #chmod –R 700/etc/rc.d/init.d* Giớihạn việctự ý ghinhận thông tin từ shel:Theo mặcđịnh,tấtcả lệnh thực thitạidấu nhắc shelcủa tàikhoảng ghivào tập tin bash_history(nếu sd bashshel)trong thư mụccá nhân tàikhoảng.Điều nàygâynên vôsốnguyhiểm tiềm ẩn,đặcbiệtđốivớinhữngứngdụngđòihỏingười dùng phảigõ thông tin mậtkhẩu.Do ngườiquản trịnên giớihạn việctự ý ghi nhậnthôngtintừ sheldựavàohaibiếnmôitrườngHISTFILESIZEvàHISTSIZE: - Biến môitrường HISTFILESIZE quy định số lệnh gõ tạidấu nhắc shelsẽ đượclưulạicholầntruycậpsau - Biến môitrường HISTSIZE quy định số lệnh đượcghinhớ phiên làm việchiệnhành Vìvậy,tasẽphảigiảm giátrịcủaHISTSIZEvàchogiátrịHISTFILESIZEbằng đểgiảm thiểu tốiđanhững nguyhiểm.Bạn thựchiện việcnàybằng cách thayđổi giátrịhaibiếnnêutrêntrongtậptin/etc/profilenhư sau: HISTFILESIZE = HISTSIZE = xx Trongđóxxlàsốlệnhmàshelsẽghinhớ,đồngthờikhôngghilạibấtkỳmột lệnhnàodongườidùngđãgõkhingườidùngthoátkhỏishel 10 Tắccáctiến trình SUID/SGID :Bình thường,cáctiến trình đượcthực dướiquyền tàikhoản gọithựcthiứng dụng đó.Đó dướiwindows,nhưng Unix/Linux lạisử dụng mộtkỹ thuậtđặc biệtcho phép mộtsố chương trình thựchiện dướiquyền ngườiquản lýchương trình không phảingườigọithực thichương trình.Vàđâychính làlýdo tạisao tấtcả mọingườidùng hệthống cóthểđổimậtkhẩu củamình khikhông hềcóquyên truyxuấtlên tập tin /etc/shadow,đó vìlệnh passwd đượcgán thuộctính SUID đượcquản lýbởi root,màrootlạilàngườidùngduynhấtcóquyềntruyxuất/etc/shadow GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page Tuythế,khảnăng tiên tiến nàycóthểgâynên nguycơkháphứctạp nếumộtchươngtrìnhcókhảnăngthựcthiđượcquảnlýbởiroot,dothiếtkếtồihoặc đượccàiđặtcố tình bởinhững kẻ phá hoạimà lạiđượcđặtthuộctính SUID mọiđiều “khủng khiếp”đều xảy ra.Thựctế cho thấy có nhiều kỹ thuật xâm phạm hệthống màkhông cóquyền rootđượcthựchiện cáckỹthuậtnày: kẻ phá hoạibằng cách tạo mộtshelđược quản lý bởiroot,có thuộc tính SUID,kếđến mọitruyxuấtpháhoạisẽđượcthựchiện quashelvừatạovìmọilệnh thựchiệntrongshelsẽđượcthựchiệngiốngnhư dướiquyềnroot Thuộctính SGID tương tự SUID:cácchương trình đượcthựchiện với quyền nhóm quản lý chương trình không phảinhóm ngườichạy chương trình.Như ngườiquản trịsẽ phảithường xuyên kiểm tra hệ thống có ứng dụng có thuộctính SUID hoặcSGID mà không đượcsự quản lý rootkhông,nếu pháthiện đượctập tin cóthuộctính SUID/SGID “ngoàiluồng”,bạn cóthểloạibỏcácthuộctìnhnàybằnglệnh: #chmod a-s BI Linux Firewall An toàn hệthống luôn làmộtvấn đềsống củamạng máytính vàfirewallà mộtthànhphầncốtyếuchoviệcđảm bảoanninh Mộtfirewallà mộttập hợp cácquitắc,ứng dụng sách đảm bảo cho người dùngtruycậpcácdịch vụ mạngtrongkhimạng bên trongvẫn an toàn đốivớicáckẻtấn công từ Internet hay từ mạng khác Có hailoạikiến trúc firewalcơ : Proxy/Application firewalvàfiltering gatewayfirewal.Hầu hếtcáchệthống firewalhiện đạilàloạilai(hybrid)củacảhailoạitrên Nhiều công ty nhà cung cấp dịch vụ Internetsử dụng máy chủ Linux Internetgateway.Những máy chủ thường phụcvụ máy chủ mail,web,ftp,hay dialup.Hơn nữa,chúng thường hoạtđộng cácfirewal,thihành cácchính sách kiểm soátgiữaInternetvàmạngcủacôngty.Khảnănguyểnchuyểnkhiến choLinuxthu hútnhư làmộtthaythếchonhữnghệđiềuhànhthươngmại Tính firewalchuẩn đượccung cấp sẵn kernelcủaLinuxđượcxâydựng từ haithànhphần:ipchainsvàIPMasquerading Linux IP Firewaling Chains mộtcơ chế lọc góitin IP.Những tính IP Chainschophép cấu hình máychủ Linuxnhư mộtfiltering gateway/firewaldễdàng.Một thành phần quan trọng khác kernellà IP Masquerading,mộttính chuyển đổiđịa chỉmạng (network addresstranslation- NAT)mà che giấu cácđịa chỉIP thựccủamạng bên trong.Đểsử dụng ipchains,bạn cần thiếtlập mộttập cácluật màquiđịnhcáckếtnốiđượcchophéphaybịcấm CácnguyêntắcIpchainsThựchiệncácchứcnăngsau: Accept: The packet is okay; allow it to pass to the appropriate chain Chophépchuyểngóitinquachainthíchhợp Deny: The packet is not okay; silently drop it in the bit bucket Không đồngý,bịrớt Reject: The packet is not okay; but inform the sender of this fact via anICMPpacket.Khôngđồngý,nhưngsự việccủangườigởiquagóiICMP Masq: Used for IP masquerading (network address translation).Sử dụngchoIPmasquerading(việcdịchđịachỉmạng) Redirect: Send thispacketto someone else forprocessing.Gởigóitin nàyđếnmộtngườikhácđểsử lý Return: Terminate the rule list Hoàn thành danhsáchcácquytắc GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 10 Chú ý: Các góiIpfw(ipfilters/iptable) dướihệ điều hành BSD cung cấp hoạtđộng tươngtự Ipchains Vídụ: # ChophépcáckếtnốiwebtớiWebServercủabạn /sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT # Chophépcáckếtnốitừ bêntrongtớicácWebServerbênngoài /sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT # Từ chốitruycậptấtcảcácdịchvukhác /sbin/ipchains -P your_chains_rules input DENY Ngoàira,bạn có thểdùng cácsản phẩm firewalthương mạinhư CheckPointFireWal1,Phoenix Adaptive Firewal,Gateway Guardian,XSentry Firewal,Raptor, hay nhiềucácphiênbảnmiễnphí,mãnguồnmởchoLinuxnhư T.RexFirewal,Dante,SINUS, TIS Firewall Toolkit, 1.DÙNG CÔNG CỤ DÕ TÌM ĐỂ KHẢO SÁT HỆ THỐNG Thâm nhập vào mộthệ thống bấtkỳ cần có chuẩn bị.Hackerphảixác định máy đích tìm xem portnào mở trướckhihệ thống bịxâm phạm.Quá trìnhnày thường đượcthựchiện bởicáccông cụ dò tìm (scanning tool),kỹ thuậtchính để tìm máy đích portđang mở đó.Dò tìm bước hackersẽ sử dụng trướckhithựchiện công.Bằng cách sử dụng cáccông cụ dò tìm Nmap,hackercó thể rà khắp cácmạng để tìm cácmáy đích bịtấn công Mộtkhixácđịnh đượccácmáynày,kẻxâm nhập cóthểdòtìm cácportđang lắngnghe Nmap sử dụng mộtsố kỹ thuậtcho phép xác định xác loạimáy kiểm tra Bằng cách sử dụng công cụ củachính cáchackerthường dùng,ngườiquản trị hệthốngcóthểnhìnvàohệthốngcủamìnhtừ gócđộcủacáchackervàgiúptăngcường tính an toàn hệ thống.Có rấtnhiều công cụ dò tìm sử dụng như:Nmap, strobe, sscan, SATAN, Nmap Làchữ viếttắtcủa"Networkexploration tooland securityscanner".Đâylàchương trình quéthàngđầuvớitốcđộcựcnhanhvàcựcmạnh.Nócóthểquéttrênmạngdiệnrộngvà đặcbiệttốtđốivớimạng đơn lẻ.NMAP giúp bạn xem dịch vụ nàođang chạy server(services/ports:webserver,ftpserver,pop3, ),serverđang dùng hệ điều hành gì, loạitườnglửamàserversử dụng, vàrấtnhiều tính năngkhác.NóichungNMAPhỗtrợ hầu hếtcáckỹthuậtquétnhư :ICMP(pingaweep),IPprotocol,Null scan, TCP SYN (half open), NMAP đánh giá công cụ hàng đầu Hackercũng nhà quảntrịmạngtrênthếgiới Quétan toàn Nmap làmộttrong số công cụ quétan toàn đượcsử dụng rộng rãinhấtsẵn có.Nmap làmộtcổng quétmàchống lạicácnhân tố,cáccách kháctàn phá đến mạng bạn.Nó có thểphátsinh nhiều kiểu góimà thăm dò cácngăn xếpTCP/IPtrênnhữnghệthốngcủabạn Nmap cóthểphátsinh ramộtdanh sách củanhững cổng mởdịch vụ hệ thống bạn,thâm nhập firewals,và cung cấp tin quấy rầy,không tin cậy đangchạytrênhostcủabạn.Nmapsecuritycósẵntại:http://www.insecure.org Dướiđâylàmộtvídụsử dụngNmap: # nmap -sS -O 192.168.1.200 Starting nmap V 2.54 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/) Interesting ports on comet (192.168.1.200): Port State Protocol Service open tcp echo 19 open tcp chargen GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 22 Bước8:giớihạntruycậpSSH 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 tcpreset for i in $SSH_IP; 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ước9:giớihạnFTPchoweb-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 tcpreset for i in $FTP_IP; 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ước10:lọcTCPvà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ước11:lọcUDPvàovàchặnngậplụtUDP iptables -N CHECK_UDPFLOOD iptables -A CHECK_UDPFLOOD -m limit limit $UDP_LIMIT limitburst $UDP_LIMIT_BURST -j RETURN iptables -A CHECK_UDPFLOOD -m limit limit $LOG_LIMIT limitburst $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ả bịDoS tăng cường tốcđộ cho máy chủ phụcvụ web, bạncóthểdùngcáchtảicânbằng(load-balacing)như sau: GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 23 Cách 1:chạynhiều máychủ phụcvụwebtrên cácđịachỉIPInternetkhácnhau Vídụ,ngoàimáychủ phụcvụ web tại1.2.3.4,bạn cóthểđầu tư thêm máy chủ phụcvụ web mới1.2.3.2,1.2.3.3,1.2.3.4,1.2.3.5.Điểm yếu cách tốnnhiềuđịachỉIPInternet Cách 2:đặtcácmáychủ phụcvụ web mộtmạng DMZ.Cách nàytiếtkiệm đượcnhiều địa chỉIP bù lạibạn gatewayIptables1.2.3.4 - 192.168.0.254 load nặng trước yêu cầu bạn đầu tư tiền cho đường truyền mạng từ gateway Internet Bạn dùng DNATtrên gateway1.2.3.4đểchuyển tiếp cácgóidữ liệu từ clientđến mộttrongcácmáychủphụcvụwebtrongmạngDMZ hoặcmạngLAN sau: # iptables -t nat -A PREROUTING -i eth0 -p tcp dport 80 -j DNAT todestination 192.168.0.1-192.168.0.4 IV Xâydựng hệthống mạng Linux Hướng dẫn càiđặtLinux 1.Tạo đĩa bootvà tiến trinh boot Điềuđầutiêncầnlàm làtạomộtđĩamềm càiđặtcũngđượchiểunhư đĩakhởi động.Nếumáytínhcủabạncóhỗtrợ boottrựctiếptừ CD ROM thìbạncóthểđi tiếpdếnbướchai,cònkhôngbạncóthểboottừ đĩamềm ,bằngcáchtạoranónhư sau : Bước1: Trướckhitạođĩaboot,đĩaCD-ROM RedHatLinuxvàotrongổCD trênmáytính củabạnđang chạyhệthốngwindows.MởCommand Prompt dướiwindows C:\d: D:\ cd \ dosutils D:\ cd \ dosutils> rawrite Enter disk image source file name : \images \boot img Enter target diskette drive : a: Please insert a formatted diskette into A drive; nad press Enter D:\dosutils> Chươngtrìnhrawrite.exehỏitêntậptincủadiskimage(ảnhđĩa):Gỏvào boot.img đưađĩamềm vàođĩaA Sauđósẽhỏiđĩanàosẽđượcghivào,gõ vàpa:bạndãhoànthànhbướcnàyvàbạncómộtđĩamềm vớitênlà“RedHat bootdisk” Bước2:ĐưađĩabootvàotrongđĩaA trênmuốncàiđặtRedHatLinuxvàkhởi độngmáy,sauđó làm cácbướcsau: GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 24 Chọnngônngữ Chọnkiểubànphím Chọnkiểuchuột Cáccáchcàiđặtvàphươngphápcủachúng RedHatLinux6.1và6.2có4lớpcàuđặtkhácnhaulà; GNOME Workstation KDE Workstation Server Custom Cả3cáchcàiđặttrênđềuchobạnsự lựachọnđơngiảncủatiếntrìnhcàiđặt,ởđó máytínhtự độnglàm hếtmọithứ vàbạnmấtđiđángkểtínhlinhhoạttrongviệc cấuhìnhmàchúngtakhôngnênbỏquavàsẽđềcậpchitiếttrongnhữngbướctiếp theo Vì lý mà nên cài đặtcustom Cáchnàychophépbạnchọn nhữngdịchvụnàosẽđượcthêm vàovàlàm thếàođểphânhoạchhệthống Càiđặtđĩa (Disk setup) Chúngtagiảsữ bạnđangcàiđặcserverLinuxmớitrênmộtổđĩamớikhông cóhệđiềunàođượccìađặttrướcđó.Mộtchiếnlượcphânhoạchtốtlàtạotừng partionriênglẻchomỗihệthốngtậptinchính.Việcnàylàm tăngkhảnăngbảomật vàngănchậntấncônghoặckhaitháccủanhữngchươngtrìnhSUID Bước1: Đểđạthiệuquảcao,ổnđịnhvàantoànbạnnêntạocácpartitionnhưnhững partitionđượcliệtkêdướiđâytrênmáytínhcủabạn.Chúngtôicũnggiảsử thựctếbạnổcứngtừ 3.2GB trởlênđểphânhoạchvàdĩnhiênbạnchọnkíchthước partitiontuỳtheonhucầucần Nhữngpartitionbạn phảitạotrênhệthốngcủabạn: /boot /usr 5MB 512MB Parti /home 1146MB /chroot 256MB Nếub /cache /var 256MB Đâylà 256MB Chứa 128MB Đâylà /tmp / 256MB Parti 256MB Root Chúngtacóthểtạonênhaipartitionđặcbiệtlà”/chroot”và“/cache”,partition /chroot cóthểđượcsử dụngchoDNS server,Apacheservervànhữngchươngtrình kháctheodạngnhư DNS vàApache.Partition/cachecóthểđượcsử dụng cho Squid proxyserver.NếubạnkhôngcóýđịnhcàiđặtSquidproxyserverthìbạnkhôngcần tạopartition/cache Đặt/tmpvà/hometrêncácpartitionriêngbiệtthìrấthayvàcótínhchấtbắt buộtnếungườisử dụngcíosheltruycậptớiserver(sự bảovệchốnglạinhững GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 25 chươngtrìnhSUID),ngănchặnchươngtrìnhnàyvàonhữngpartitionriênglẻvà ngăncảnngườisử dụnglàm suyyếuhoạtđộngcủabấtkỳhệthốngnàotrênserver Đặt/varvà/usrtrêncácpartitionriênglẻcũnglàmộtýrấthayvìcách ly partition /varsẽlàm partitionrootcủabạnkhôngbịtrànđầy Trongcấuhìnhpartitionchúngtasẽdànhriêng256MB đĩatrốngchonhững chươngtrìnhchuyểnđổiroot(chrootedprogram)giốngApache,DNS vànhững chươngtrìnhkhác.Việcnàycầnthiếtvìnhữngtậptàiliệugốc,nhữngtậptinnhị phân,nhữngchươngtrìnhliênquantớiApachesẽđượccìađặttrongpartitionnày nếubạncóýđịnhchạyWebserverApachetrongvùngriêngbiệtđó Nếubạnkhôngcóýđịnhcàiđặtvàsử dụngApachetrênservercủabạn,cóthểgiảm bớtkíchthướccủapartitionnàyxuốngkhoảng10MB vàchỉsử dụngchoDNS làdịch vụluôncầntrongmôitrườngchrootvìlýdobảomật Cáckíchthướctốithiểucủacácpartition / /boot /chroot /home /tmp /usr /var /swap Disk Druid DiskDruidlàchươngtrìnhsử dụngđểphânchiađĩachobạn.ChọnAdd đểthêm mộtpartitionmớiEdit đểhiệuchỉnhmộtpartition,Delete đểxoámộtpartitionvà Reset đểxáclậppartitionvềtrạngtháibanđầu.Khibạnthêm mộtpartitonmới ,mộtcửasổsẽxuấthiệntrênmànhìnhvàcôngviệccủabạnlàchọnnhữngthôngsố chopartitionđó.Sự khácnhaucủacácthôngsốđólà: MountPoint:vịtrítronghệthốngtậptinbạnmuốnmountpartitionmớicủa bạntới Size(Megs):kíchthướccủapartitionmớitínhtrênmegabytes Partiton Type: có hai Linux native dùng cho Linux filesystem Swap dùng cho Linux Swap Partiton NếubạncóđĩacứngloạiSCSIthìtênthiếtbịlà/dev/sda vànếubạncóđĩa cứngkiểuIDEthìtênsẽlà/dev/hda.Nếubạncầnhệthốngcóhiệuquảvàđộổn địnhthìSCSIlàsự lựachọntốtnhất PartitionSwapđượcsử dụngđểhổtrợbộnhớảo.Nếumáytínhcủabạncó16MB Ram hoặcíthơnthìbạnphảitạomộtpartitionswap,ngaycảkhibạncóbộnhớlớn thìbạncũngnêntạopartitionSwap.Kíchthướctốithiểucủapartitionswapnên bằnghoặclớnhơndunglượngRam cótrênmáytínhcủabạn.Kíchthướclớnnhấtcó thểsử dụngchopartitionswaplà1GB chonênnếubạntạomộtpartitionswaplớn hơn1GB thìphầncònlạitrởnênvôích Saukhitạocácpartitiontrênharddiskhoànthành,bạnsẽthấythôngtin partitiontrênmànhìnhgiốngnhư bảngliệtkêdướiđây: Mount Point /boot /usr /home GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 26 /chroot /cache /var /tmp / Drive Geom[C/H/S] Sda [3079/64/32] Chú ý:Chúngtađangsử dụngmộtđĩacứngSCSIbởivìhaikítự đầutiêncủathiết bịlà“sd” Bâygiờchúngtađangphânchiavàchọnmountpointchocácthư mụccủa bạn,chọn“Next“đểtiếptục.Saukhicácpartitionđượctạo,chươngtrìnhcàiđặtsẽ hỏibạnchọnpartitionđểđịnhdạng(format).Chọnpartitionbạnmuốn format chọnvàoô“Checkforbadblocksduringformat)vànhấn“Next”.Chươngtrìnhsẽ formatcácpartitionvàlàm chúngcóhiệulựckhiLinuxsử dụngchúng Trênmànhìnhkếtiếpbạnsẽthấysự cấuhìnhLILO ,ởđóbạnchọncàiđặt LILO boot record: Master Boot Record (MBR) First Sector of Boot Partition TrongtrườnghợpLinuxlàhệđiềuhành(OS)duynhấttrênmáytínhcủabạn ,bạnnênchọn “MasterBootRecord”.Kếđóbạncầncấuhìnhmạngvàgiờtrênmáy củabạn.Saukhihoànthànhviệccấuhìnhgiờ,bạncầnphảiđặtmậtkhẩu (password0chorootvàcấuhìnhviệckiểm tratính xác thựctrênservermáycủa bạn KhicấuhìnhAutheticationđừngquênchọn: Enable MD5 passwords Enable Shadow 2.Sự lựachọn package(góidữ kiệu )riêng lẻ Saukhicácpartitionđãđịnhhìnhvàđượcchọnđẻformat,bạnchuẩnbịchọn nhữnggóidữliệuchotíêntrìnhcàiđặt.MặtđịnhLinuxlàmộthệđiềuhànhrất mạnhcókhảnăngthựcthinhiềudịchvụhữuích.Tuynhiêncónhiềudịchvụkhông cầnthiếtthìkhôngđưavàovìcóthểtạoranhữnglỗhỗngtrongviệcbảomậthệ thống Mộtcáchlýtưởnglàcầncàiđặttừngdịchvụmạngtrênmáyphụcvụchuyên biệt.Theomặtđịnh,nhiềuhệđiềuhànhLinuxđượccấuhìnhđểcung ứngmộtdịch vụvàứngdụngrộnghơnnhữngyêucâucungcấpmộtdịchvụmạngriêngbiệt,do vậycầncấuhìnhserverđểloạibỏnhữngdịchvụmạngkhôngcầnthiết.Chỉđưara nhữngdịchvụchủyếutrênmáychủriêngbiệt.Cóthểtăngkhảnăngbảomậttrong servertheomộtvàiphươngphápsau:  Nhữngserverkháckhôngthểsử dụngđểtấncôngmáychủvàlàm hư hạivà loạibỏnhữngdịchvụnhư mongmuốn  Nhữngngườikhácnhaucóthểquảnlýnhữngserverkhácnhau.Bằngcáchcô lậpcácservice,mỗimáychủvàservicecóthểriênglẻmộtngườiquảntrị,bạn cóthểgiảm đếnmứctốithiểukhảnăngxungđộtgiữacácquảntrịviên  Máychủcóthểđượccấuhìnhchophùhợphơnvớiyêucầucủatừngservice riêngbiệt.Nhữngserverkhácnhaucóthểyêucầusự cấuhìnhphầncứngvà GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 27 phầnmềm khácnhau,vànhữngcấuhìnhđócóthểdẫnđếnnhữngtổnhại khôngcầnthiếthoặcgiớihạnservice  Bằngcáchgiảm bớtnhữngservice,sốtậptinlog(logfile)vàcácthư mụcghi cũngđượcgiảm ,vìthếviệcxoábỏnhữngthôngtinkhôngcầnthiếttrởnên dễdànghơn MộttiếntrìnhcàiđặtchínhxáccủaLinuxServerchínhlàbướcđầutiêncho việcổnđịnh,bảovệhệthốngcủabạn.Trướchếtbạnphảichọnnhữngthànhphần( compoment)hệthốngnàobạnmuốncàiđặt.Chọnnhữngcompomentvàsauđóbạn có thểtiếptụcchọnvàkhôngchọnmỗigóidữ liệuriênglẻcủamỗithànhphầnbằng cáchchọnoption(Selectinđiviualpackages)trênmànhìnhsetupRedHat KhicấuhìnhmộtLinuxserverchúngtakhôngcầnthiếtphảicàiđặtmột chươngtrìnhgiaotiếpđồhoạ(Xfree86)trênmáytính.Việcgiảm bớtgiaotiếp đồhoạ(graphicalinterface)cóýnghĩalớntrongviệctăngcácprocess,tăngkhả năngxử lýcủaCPU ,bộnhớ,giảm nguyhiểm trongbảomậtvàgiảm bớtmột vàibấttiệnkhác.Giaotiếpđồhoạ(Graphicalinterface)thườngchỉđượcsử dụng trêncáctrạm làm việc(workstation) Chọnnhứnggóidữ liệudướiđâychotiếntrìnhcàiđặtcủabạn: Network Wordstation Network Management Workstation Utilities Saukhichọnnhữngthànhphầnbạnmuốncàiđặtbạnvẫncóthểchọnvà khôngchọncácgóidữ liệu Chú ý: Việcchọntuỳchọn(Selectinđiviualpackage)rấtquantrọngtrướckhi tiếptụckhảnăngchọnvàkhôngchọncácgóidữ liệu Lựachọn cácgóidữ liệu riêng lẻ (Inđiviualpackage selection) Trongphầnchỉdẫncàiđặtdướitôiđưaranhữngnhóm góidữ liệuđãcótrong Linux,chọnmộtnhóm liệunàođóđểxem xét Ngoàimụcđíchhướngdẫncàiđặt,trongchươngtrìnhnàytôicúngcóýđưa vàivấnđềbảomậtvàtốiưuhoáLinuxvàotrongtiếntrìnhcàiđặt.Nhữngthành phầnđượcliệtkêdướiđâycầnđượcloạibỏtừ củasổchọngóidữ liệudovấnđề bảomật,tốiưuhoácũngnhư mộtvàinguyênnhânkhácsẽđượcdiễngiảidưới Applications/File: Applications/Internet: git finger.ftp,fwhois,ncftp,rsh,rsync,talk, telnet Applications/Publishing: ghostscript,ghostscript-fonts,groff-perl, mpage,pnm2ppa,rhs-printfilters Applications/System: arwatch,bind-utils,rdate,rdist,screen, ucdsnmp-utils Documentation: indexhtml System Enviroment/Base: chkfontpath, yp-tools System Enviroment/Daemons: XFree86-xfs,finger-server,lpr,nfs-utils, pidentd,portmap,rsh-server,rusers,rusersserver,rwall-server,rwho,talk-server, telnet-server,tftp-server,ucd-snmp, ypbind,ypserv System Enviroment/Libraries: Xfree86-libs,libpng User Interface/X: urw-fonts Nếunhữngchươngtrìnhnhàykhôngđượccàiđạttrênmáyservercủabạnthìnhững tintặcbuộcphảisử dụngnhữngchươngtrìnhnàytừ bênngoàihoặcthử càiđặttrên GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 28 máyservercủabạn.Trongnhữngtrườnghợpnàybạncóthểtìm radấuvếtchúng nhờnhữngchươngtrìnhgiốngnhư Tripwire Làm sử dụng lệnh RPM PhầnnàygiớithiệutổngquanvềlệnhRPM,cáchsử dụnglệnhRPM trênhệthống Linuxcủabạn  Càiđặtmộtgóidữ liệuRPM ,sử dụnglệnh: [root@deep/]# rpm –ivh foo-1.0-2.i386.rpm Dònglệnhtrêncóýnghĩacàiđặtmộtgóidữ liệurpm cótênlàfoo-1.0-2.i386.rpm vớicácthànhphầnsau: Têngóidữ liệu:foo Version : 1.0 Release: Kiếntrúc: i386  Loạibỏmộtgóidữ liệu:thaychữ inđậm ởtrênbằnge  Nângcấp(upgrade):Uvh  Truyvấn(query):q  Trình bày thông tin:qi  Liệtkênhữngtậptintronggóidữ liệu:ql  Kiểm tramộtRPM signaturegóidữ liệu:checksig Lệnhkiểm trachữ kýPGPcủagóidữ liệuđượcchỉđịnhđểđảobảotínhtoàn vẹnvànguyêngốccủanó.Luônsử dụnglệnhnàyđầutiêntrướckhicàiđặt góidữ liệuRPM mớitrênhệthốngcủabạn Khởiđộngvàdừngnhữngdịchvụdaemon(startingandstoppingdaemonservice) Chươngtrìnhinitcủalinux(cũngđượchiểunhưkhởitạoviệcđiềukhiểntiến trình)phụtráchviệckhởiđộngtấtcảtiếntrìnhbìnhthườnghoặcđượcuỷquyền chạylúckhởiđộnghệthống.Nhữngtiếntrìnhnàycóthểbaogồm APACHE,NETWORK daemonvàbấtkỳnhữngtiếntrìnhkhácyêucầuphảichạykhi serverbạnkhởiđộng.Mỗiprocessnàycótậptinscripttrongthư mục “/etc/rc.d/init.d”.Bạncóthểthihànhnhữngscriptvóinhữngdònglệnhsau: Vídụ:  KhởiđộnghttpdWebserverbằngtaydướiLinux :[root@deep/]#/etc/rc.d/init.d/httpd start Starting http: [OK]  DừnghttpdWebserverbằngtaydướiLinux :[root@deep/]#/etc/rc.d/init.d/httpd stop Shutting down http: [OK]  KhởiđộnglạihttpdWebserverbằngtaydướiLinux :[root@deep/]#/etc/rc.d/init.d/httpd restart Shutting down http: [OK] Starting http: [OK] Các phầnmềm cầnphảiloạibỏsaukhitiếntrìnhcàiđặtcủaserverhoànthành Mặcđịnhmộtsốgóidữ liệumàhệthốngRedHatLinuxkhôngchophépbạn chọnđểtháogỡsuốttiếntrìnhsetup.Vìnguyênnhânnàybạnphảiloạibỏchúng khitiếntrìnhcàiđặthoàn thành Pump mt-st eject mailcap GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 29 apmd setderial Red Hat-release Sử dụnglệnhRPM dướiđâydểdtháodỡchúng  lệnhdùngđểtháogỡphầnmềm là: [root@deep]#rpm –e Ở đây làtêncủaphầnmềm bạnmuốntháogỡ Mộtsốchươngtrìnhdaemonnhư apmd,kudzu,sendmaildềuchạyởlúckhởiđộng máy,tốtnhấtbạnnêndừngchúngtrướckhitháogỡrahệthốngcủabạn  Dừngcácprocessvớinhữnglệnh: [root@deep/]# /etc/rc.d/apmd stop [root@deep/]# /etc/rc.d/sendmail stop [root@deep/]# /etc/rc.d/kudzu stop Bâygiờbạncóthểtháogỡchúngcùngcácgóidữ liệukhácmộtcáchantoànvới lệnhsau: Bước1: Xoábỏnhữnggóidữ liệuđượcchỉđịnh [root@deep /]# rpm –e –nodeps pump mt-st eject mailcap apmd kernel-pcmcia-cs linuxconf getty_ps isapntools setserial kudzu raidtools gnupg Red Hat-logos Red Hat-release gd pciutils mt Bước2: XoábỏcáctậptinLinux.conf-instanlled bằngtay: [root@deep /] # rm –f /ect/conf.linuxconf-instanlled Chươngtrìnhhdparm cầnchocácIDEharddíknhưngkhôngcầnvhoSCSIharddisk bạnphảigiữlaichươngtrìnhnày,nhưngnếukhôngcóIDEharddiskthìbạncóthể xoákhỏihệthống [root@deep /]# rpm –e hdparm Nhữngchươngtrìnhnhư kbdconfig,mouseconfig,timeconfig,authconfig,ntsysvvà setuptooltheothứ tự thiếtlậploạikeyboard,mouse,time,NIS vàshadow password chúngítkhithayđổisaukhicàiđặtvìthếbạncóthểtháodỡchúngkhỏihệthống ,nếutrongtươnglaibạncầnthayđổikeyboard,mouse, thìbạncóthểcàiđặt chúngtừ cácgóidữ liệuRPM trênđĩa CD-ROM Red Hat Cácphầnmềm cóphảiđượccàiđặtsausự càiđặtcủaserver Đểcóthểtiệnbiêndịchnhữngchươngtrìnhtrênservercủabạn.bạnphảicài đặtnhữnggóidữliệuRPM sau Bước1: Đầu tiênchúngtamountổđĩaCD-ROM vàchuyểnRPMS trênCD-ROM Mount CD-ROM drivevàchuyểntớithư mụcRPMS sử dụngnhữnglệnhsau: [root@deep /]# mount /dev/cdrom /mnt/cdrom/ [root@deep /]# cd /mnt/cdrom/Red Hat/RPMS/ Dướiđâylànhữnggóidữ liệumàbạncầnbiêndịchvàcàiđặttrênhệthốngLinux: autoconf-2.13-5,noarch.rpm m4-1.4-12.i386.rpm automake-1.4-6.noarch.rpm dev86-0.15.0-2.i386.rpm bison-1.28-2.i386.rpm byacc-1.9-12.i386.rpm cdecl-2.5-10.i386.rpm cpp-1.1.2-30.i386.rpm cproto-4.6-3.i386.rpm ctags-3.4-1.i386.rpm egcs-1.1.2-30.i386.rpm ElectricFence-2.1-3.i386.rpm flex-2.5.4a-9i386,rpm kernel-headers-2.2.15.0.i386.rpm glibc-devel-2.1.3-15.i386.rpm make-3.78.1-4.i386.rpm GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 30 path-2.5-10.i386.rpm Bước2: Càiđặcnhữngphầnmềm cầnthiếtởtrênvớimộtlệnhRPM:  LệnhRPM đểcàiđặttấtcảcácphầnmềm vớinhaulà: [root@deep RPMS]# rpm –Uvh autoconf-2.13-5.noarch.rpm m4-1.412.i386.rpm automake-1.4-6.noarch.rpm dev86-0.150-2.i386.rpm bison-1.28-2.i386.rpm byacc-1.9-12.i386.rpm cdecl-2.5-10.i386.rpm cpp-1.1.2-30.i386.rpm cproto-4.6-3.i386.rpm ctags-3.4-1.i386.rpm egcs-1.1.2-30.i386.rpm ElectricFence-2.1-3.i386.rpm flex-2.5.4a9.i386.rpm egcs-1.1 Bước3: Bạnphảithoátkhỏiconsolevàlogintrởlạiđểtấtcảcácthayđổicóhiệulực Thoátkhỏiconsolevớilệnh: [root@deep /]# exit Saukhiđãcàiđặtvàbiêndịchtấtcảcácchươngtrìnhbạncầntrênservercủa bạnsẽlàmộtýhaynếubạnxoábỏcáctậptinobjectđượctạoradobiêndịch,các trìnhbiêndịch, ,nhữngtậptinmàbạnkhôngcòncầnnữatronghệthốngcủa bạn.Mộttrongnhữnglídolànếumộttêntintặcxâm phạm servercủabạnhẳn khôngthểbiêndịchhoặcthayđổinhữngchươngtrìnhnhịphân.Hơnnữaviệcnày sẽgiảiphóngnhiềukhoảngtrốngvàsẽgiúpđỡviệccảitiếnkiểm tratínhtoànvẹn củanhữngtậptintrênserver Khibạnchạymộtserverbạnsẽtruyềnchonómộtcôngviệcđặtbiệt đểthựchiện.Bạnsẽkhôngbaogiờđặttấtcảcácservicebạnmuốncungcấptrên mộtmáyhoặcbạnsẽlàm chậm tốcđộ(tàinguyêncósẵnđượcchiabởimộtsố tiếntrìnhđangchạytrênserver)vàlàm suyyếukhảnăngbảomậtcủabạn(với nhiềuservicecùngchạytrêncùngmộtmáy,nếumộttintặcxâm nhậpvàoserver nàyhắncóthểtấncôngtrựctiếpnhữnggìcósẵntrênđó) Cónhiềuserverkhácnhaulàm nhữngcôngviệckhácnhausẽđơngiảnhoá trôngcoi,quảnlý(bạnbiếtcôngviệcgìmỗiserversẽlàm ,nhữngservicenào có hiệulực,portnàothìđượcmởchonhữngclienttruycậpvàportnàothìđóng,bạn cũngsẽbiếtnhữnggìbạncầnthấytrongcáclogfile )vàđặtchobạnsự điều khiểntínhlinhhoạttrênmỗiserver(serverchuyêndànhchomail, web,database,backup ) 3.Những chương trình đựơccàiđặttrên servercủa bạn: Bước1: DochúngtachọntốiưuhoáviệccàiđặthệthốngLinuxcủachúngta,đâylà danhsáchcủatấtcảcácchươngtrìnhcàiđặtmàbạnsẽcósaukhihoàntấtviệccài đặtLinux.Danhsáchnàyphảisokhớpmộtcáchchínhxácvớinộidungtậptin instal.logtrongthư mục/tmp.Đừngquêncàiđặttấtcảcácchươngtrìnhđượcliệt kêtrong“Cácphầnmềm phảiđượccàiđặtcủaserver“đểcóthểbiêndịchđúng cáchtrênservercủabạn Bước2: Saukhichúngtatấtcảphầnmềm cầntháobỏsautiếntrìnhcàiđặtcủa servervàsaukhithêm nhữnggóidữliệuRPM cầnthiếtđểcóthểbiêndịchchương trìnhnhữngchươngtrìnhtrênservercủachúngta.Chúngtakiểm tralạidanhsách củatấtcảcácchươngtrìnhRPM đãđượccàiđặcvớilệnhsau:  kiểm tradanhsáchtấtcảgóidữ liệuđượccàiđặttrênserversử dụnglệnh: [root@deep /] # rpm –qa >intalled_rpm GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 31 Tham số“-qa”sẽtruyvấntấtcảcácgóidữ liệuRPM đượccàiđặttrênhệ thốngvàkýtự đặtbiệt“>”sẽghilạitấtcảnhữnggìxuấtratrênmànhìnhvàotập tin intalled_rpm Bước2nàyyêucầuchúngtachắcchắnkhôngquênloạibỏnhữnggóidữ liệuRPM khôngcầnthiếtvàthêm vàonhữnggóidữ liệuquantrọng,nhữnggóinàychophép bạnbiêndịchchươngtrìnhtrênhệthống.Nếukếtquảgiốngnhư tậptindướiđâythì tacóthểyêntâm vớiserverLinuxmớinày Nộidungcủatậptinintaled_rpm phảigiốngdướiđây: setup-2.1.8-1 filesytem-1.3.5-1 basesystem-6.0-4 idconfig-1.9.5-16 gbilc-2.1.3-15 shadow-utils-19990827-10 glib-1.2.6-3 mktemp-1.5-2 termpcap-10.2.7-9 libtermcap-2.2.8-20 bash-1.14.7-22 MAKEDEV-2.5.2-1 SysVinit-2.5.2-1 anacron-2.1-6 chkconfig-1.1.2-1 etcskel-2.3-1 mount-2.10f-1 glibc-devel-2.1.3-15 file-3.28-2 4.Định màu terminalcủabạn Đặtmộtvàimàutrênterminalcủabạncóthểgiúpchobạnphânbiệtcácthư mục,file,thiếtbị,cácliênkếtvàcáctậptinthựcthi(executablefile).Quanđiểm củatôilànhữngmàusẽgiúpgiảm bớtnhữnglỗivasự địnhhướngnhanhtronghệ thống.ĐâylàmộtvấnđềquantrọngvàcầnthiếtchỉchoRedHatLinux6.1và nhữngversioncũhơn,kểtừ RedHatLinux6.2đặctrưngnàyluôncóbởimặcđịnh Hiệuchỉnhtậptin/etc/profilevàthêm vàonhữngdòngsau: #Enable Colour Is eval‟dircolors/etc/DIR_COLORSb„ exportLS_OPTION=‟-s –F –T – color=yes‟ Hiệuchỉnhtậptin/etc/bashrcvàthêm dòng: aliasIs=‟Is–color=auto‟ Sauđólogoutvaloginlại.Đếnlúcnày,biếnmôitrườngCOLORS mớiđược thiếtđặtvàhệthốngsẽchấpnhậnđiềunày XinnhắclạiđặctrưngnàychỉcầnchoRedHatLinux6.1vàcũhơn Cập nhậtphần mềm mớinhất Chúngtanêngiữ vàcậpnhậttấtcảcácphầnmềm (đặcbiệtlàphầnmềm mạng)vớinhữngversionmớinhất.Chúngtanênkiểm tranhữngtrangđínhchínhở http://www.RedHat.com/corp/support/errata/index.html Nhữngtrangnàycólẽlà tàinguyêntốtnhấtvìđãsũachữagần90% nhữngvấnđềchungvớiRedHat.Thêm nữacácgiảiphápvềsữachữacáclỗhổngbảomậtcũngsẽđượcđưalênsau24giờ RedHatđượcthôngbáo,bạnnênluônkiểm trawebsitenày GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 32 Phụ lục Các phần mền bảo mật Linux sXid CáctậptinSUID/SGID cóthểtrởthànhmộtmốinguychovấnđềbảomậtvà antoàncủahệthống.Đểgiảm cácrủironày,trướcđâychúngtađã removecácbit „s‟từ cácchươngtrìnhđượcsởbởirootmàsẽkhôngyêucầunhiềuquyềnsử dụng ,nhưngtươnglaicáctậptintồntạikháccóthểcàiđặtvới„s‟bitđượcbậtlênkhi khôngcósự thôngbáocủabạn.sXidlàmộtchươngtrìnhtheodỏihệthốngsuid/sgid đượcthiếtkếchạytừ crontrênmộtnguyênlýcơbản Cơbảnlànótheodõibấtkỳsự thayđổinàotrongcácthư mụcvàcáctậptin s[ug]idcủabạn.Nếucóbấtkỳmộtđiềugìmớitrongcácthư mụchaytậptin,các thư mụcvàtậptinnàysẽthayđổibithoặccácmodekhácsauđósẽtự độnngthực hiệnviệctìm kiếm tấtcảsuid/sgidtrênmáyservercủabạnvàthôngbáovềchúng chobạn Linux Logcheck Mộtcôngviệcquantrọngtrongthếgiớibảomậtvàantoànlàphảikiểm tra thườngxuyêncáctậptinxuấtracáckếtquảtheodõihệthống(logfile).Thông thườngcáchoạtđộnghằngngàycủangườiquảntrịhệthốngkhôngchophépanhta cothờigianđểthựchiệnnhữngcôngviệcnàyvàcóthểmangđếnnhiềuvấnđề Giảithíchtínhtrưutượngcủalogcheck: Kiểm tratheodõivàghinhậncácsự kiệnxãyrathìrấtquantrọng!Đólà nhữngngườiquảntrịcủahệthốngnhậnbiếtđượccácsự kiệnnàydovậycóthể ngănchặncácvấnđềchắcchắnxãyranếubạncómộthệthốngkếtnốivớiinternet Thậtkhôngmaychohầuhếtlogfilelànókhôngcóaikiểm traválogđó,mànó thườngđượckiểm trakhicósự kiệnnàođóxãyra.Điềunàylogchecksẽgiúpđỡ chobạn Linux PortSentry Bứctườnglủa(firewal)giúpđỡchúngtabảovệmạngkhỏinhữngxâm nhập bấthợppháptừ bênngoài.Vớifirewalchúngtacóthểchọnnhữngportsnàochúng tamuốnmở vànhữngportnàochúngsẽđóng.Thôngtintrênđượcgiữ mộtcáchbí mậtbởinhữngngườichịutráchnhiệm đếnfirewal.Tuyệtđốikhôngngườinàotừ bên ngoàibiếtthôngtinnày,tuynhiêncáchackers(tintặc)cũngnhư cácspammers biếtmộtvàicáchtấncôngbạn,họcóthểsử dụngmộtchươngtrìnhđặcbiệtđểquét tấtcảcácportstrênservercủabạnnhặtthôngtinquígiánày(portsnàomở,ports nàođóng) Như đượcgiảithíchtronglờigiớithiệucủaphầnPortSentry Mộtchươngtrìnhquétportlàmộtdấuhiệucủamộtvấnđềlớnđangđếnvới bạn.Nóthườnglàtiềnthânchomộtsự tấncôngvàlàmộtbộphậnnguyhiểm việcbảovệhữuhiệutàinguyênthôngtincủabạn.PortSentrylàmộtchươngtrình đượcthiếtkếđểpháthiệnravàphảnhồitớicácportquétnhằm chồnglạimộthost đíchtrongthờigianchúngtathựchiệnquétportvàcómộtsốtuỳchọnđểpháthiện racácportquét.Khinótìm thấymộtportquétnócóthểphảnứnglạinhữngcách sau:  Mộtlogfilelưucácsự việcxảyquathôngqua syslog( )  Tênhostmụctiêutự độngđượcbỏvàotrongtậptin“/etc/hosts.deny”cho nhữngtrìnhbaobọcTCP  Hostnộibộtự độngcấuhìnhlạiđểhướngtấtcảcáclưuthôngtớihostmục tiêutrỏtớimộthostkhônghoạtđộng(dealhost)làm hệthốngmụctiêu biếnmất GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 33  Localhosttự độngcấuhìnhlạiđểloạibỏtấtcảcácgóithôngtintừ hostmục tiêuthôngquabộlọclocalhost MụcđíchcủaPortSentrylàđểgiúpngườiquảntrịmạngcóđượccôngcụkhảo sátkỹlưỡnghệthốngcủamình Linux OpenSSH Clien/Server Như đượcminhhoạtrongchương2,”Sự càiđặtLinuxServer”,rấtnhiềudịch vụmạngđượcđưavào,nhưngkhôngcóhạnchếcácdịchvụnhư rsh,rlogin,hoặc rexeckhôngbịxâm nhậpvớikiểumàcáctintặcthườngdùngnhư nghetrộm điện tử.Như mộthệquả,bấtkỳai,ngườimàđãtruycậptớibấtkỳmáytínhnàođãđược kếtnốivàomạngđềucóthểlắngnghetrênđườngtruyềngiaotiếpcủahọvàlấyvề mậtkhẩucủabạn,vàcũngnhư việclấybấtkỳthôngtinriêngtư nàokhácthông quađườngmạngởdạngvănbản.HiệntạiTelnetlàchươngtrìnhrấtcầnthiếtcho côngviệcquảntrịhằngngày,nhưngnókhôngantoànkhinótruyềnmậtkhẩucủa bạnởdạngvănbản(plaintext)thôngquamạngvàchophépbấtkỳtrìnhlắng nghe ( listener) ,theo cách tin tặcsử dụngtàikhoảncủabạnđẻlàm bấtkỳ côngviệcpháhoạinàomàhắntamuốn.Đểgiảiquyếtvấnđềnàychúngtìm tamột cáchkhác,hoặcmộtchươngtrìnhđểthaythếnó.ThậtmaymắnOpenSSH làmột dịchvụthậtsự vữngchắcvàbảomậtcóthểthaythếchocáchcũ,cácchươngtrình logintừ xakhôngantoànvàcổxưachẳnghạnnhư telnet,rlogin,rsh,rdisthayrcp ThôngquatậptinREADMEchínhthứccủaOpenSSH : Ssh(SecureShel)làmộtchươngtrìnhđểlogvàomộtmáytínhkhácthông quamộthệthốnghệthốngmạng,đểthihànhcáclệnhtrongmộtmáytínhởxa,và đểchuyểncáctậptintừ mộtmáynàytớimộtmáykhác.Nócungcấptínhnăngxác nhậnhợplệ“authentication”vàbảomậtsự traođổithôngtinquacáckênhtruyền dẫnkhôngantoàn.Nócũngđượcdự trùđểthaythếchocácchươngtrìnhrlgoin,rsh rdist Trongviệccấuhình,chúngtaphảicấuhìnhOpenSSH hỗtrợtcp-wrappers ( inetdsuperserver)đểcảitiếnviệcbảomậtchochươngtrìnhbảomậtsẵncóvàluôn tránhviệcphảichạychươngtrìnhdaemoncủanótheokiểubackgroundtrênmáy server.Theocáchnày,chươngtrìnhsẽchỉchạykhimáykhách(client)kếtnốiđến vàsẽtáithiếtlậplạichúngthôngquatrìnhdaemonTCP-WRAPPERS choviệcxác minhtínhđúngđắnvàchophéptrướckhiđượcphépkếtnốitớimáyserver OpenSSHthìmiễnphí,mộtsự thaythếvàcảitiếncủaSSH1vớitấtcảcáccảntrở củacácgiảthuậtsángtạođượccôngnhậnbịxoábỏ(vàtrởthànhcácthư viện đượcmởrộngrabênngoài),tấtcảcáclỗiđượcnhậnbiếtđãđượcsữachữa,các đặctrưngmớiđượcgiớithiệuvàrấtnhiềutrìnhdọndẹprác(clean-up)khác.Điều đượckhuyênlàbạndùngphiênbảnSSH (miễnphívàcáclỗiđãđượcsửa)thaycho bảnSSH1(miễnphí,cònlỗivàlỗithời)haySSH2màcónguồngốclàđượcmiễn phínhưnghiệnnayđãtrởthànhmộtphiênbảnthươngmại.Đốivớitấtcảmọingười màdùngSSH2như côngDatafelows,chúngtôisẽcungcấptrongquyểnsáchnàycả haiphiênbản,vàbắtđầuvớiOpenSSH ,vàxem nónhư làmộtchươngtrìnhSShmới màmọingươiìsẽphảichuyểnsangsử dụngnótrongtươnglai Linux Tripwire 2.2.1 MộttiếntrìnhcàiđặcRedHatLinuxServertiêubiểuxử lýkhoảng30.400tập tin.Vàothờiđiểm bậnrộnnhấtcủachúng,cácnhàquảntrịhệthốngkhôngthể kiểm tratínhtoànvẹncủatấtcảcáctậptin,vànếumộtkẻtấncôngnàođótruycập máyservercủabạn,thìhọcóthểcàiđặthayhiệuchỉnhcáctậptinmàbạnkhông de4ẽnhậnbiếtnhữngđiềunày.Dokhảnăngcủasự cốtrênmàmộtsốcácchương trìnhđượctạora đểđápứngloạivấnđềnày GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 34 Tripwirelàm việcởtầngcơbảnnhất,bảovệcácmáyservervàcácmáytrạm làm việcmàchúngđượccấuthànhmạnghợpnhất.Tripwitelàm việcbằngcách trướctiênlàquétmộtmáytúnhvàtạomộtcơsởdữ liệucủacáctậptincủahệ thống,mộtdạngsốhoá“snapshot“củahệthốngtronghệthốngbảomậtđãbiết Ngườisử dụngcóthểcấuhìnhTripwiremộtcáchrấtchínhxác,chỉrõtậptinvàthư mụcsởhưuriêngchomỗimáyđểtheodõi,haytạomộtdạngmâuxchuẩnmànócó thểsử dụngtrêntấtcảcácmáytrongmạng Mộtkhicơsởdữ liệutạora,mộtngườiquảntrịhệthốngcóthểdùngTriwire đểkiểm tratoànvẹncủahệthốngởbấtkỳthờiđiểm nào.Bằngcáchquétmộthệ thốnghiệnhànhvàsosánhthôngtinvớidữ liệulưutrữ trongcơsởdữ liệu,Triwire pháthiệnvàbáocáo bấtkỳviệcthêm vàohayxoábớt,haythayđổitớihệthống bênngoàicácranhgiớibênngoàiđượcchỉđịnh.Nếuviệcthayđổilàhợplệthìquản trịhệthốngcóthểcậpnhậtcơsởdữ liệubiênvớithôngtinmới.Nếucácthayđổicố tìnhlàm hạiđượctìm thấy,thìngườiquảntrịhệthốngsẽbiếtngaycácphầnnào củacácthànhphầncủamạngđãbịảnhhưởng PhiênbảnTripwirenàylàmộtsảnphẩm cócácphầnđượccảitiếnđángkểso vớiphiênbảnTripwiretrướcđó Server Linux DNS BIND Mộtkhichúngtađãcàiđặttấtcảphầnmềm bảomậtcầnthiếttrênLinux server,đâylàthờiđiểm đểcảitiếnvàđiềuchỉnhphầnmạng(netword)củaserver củachúngta.DNS làmộttrongnhữngdịchvụquantrọngnhấtchosự traođổi thôngtintrênmạngIP,vàvìlídonày,tátcảcácmáyLinuxclientsẽđượccàiđặt nhữngchứcnănglưugiữ (caching)ởmộtmứcđộtốithiểunàođó.Việccàiđặtmột cachingserverchocácmáyclientnộibộsẽlàm giảm bớttảitrêncác máy primary server.MọtCachingchỉrõtênmáychủsẽtìm kiếm trảlờichonhữngtênghinhớvà phầnđápánnàyđểkhinàochúngtacần,nóđápứngngaykhôngcầnmấtnhiều thờigianvôích Vìnhữngnguyênnhânbảomật,điềurấtquantrọng làDNS khôngtồntại sẵngiữacácmáytrênmạngvàmáybênngoài.Đểtăngtínhnăngantoànhơn, đơngiảndùngcácđịachỉIPkếtnốivớinhữngmáybênngoàitừ bêntrongmạngvà ngượclại Trongcấuhìnhcàcàiđặt,chúngtasẽchạychươngtrìnhBIND/DNS vớiuser khôngphảirootvàtrongmộtmôitrườngchrooted.Chúngtôisẽcungcấpchobạn bacấuhìnhkhácnhau:mộtcáichỉđơngiảnlưutênmáy(client),cáithứ hailacho slave(secondaryserver)vàcáithứ balàchomasternameserver(primaryserver) Cấuhìnhthứ nhấtsimplecachingnameserversẽđượcdùngchomáychủcủa bạnmàkhônghoạtđộngnhư masterhoặcslavenameserver,cấuhìnhcủaslavevà mastersẽđượcdùngchomáychủcủabạnmàhoạtđộngnhư mastervàslavename server.Thườngthường,cấuhìnhsẽbaogồm :mộtcáisẽhoạtđộngnhư master,cái khácnhư slavevàcáicònlạinhư simplecachingclientserver GVHD:NguyễnTấnKhôi Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương Đềtài:AntoànvàbảomậttrênhệđiềuhànhLinux Page 35 Mụclục I An toàn cho cácgiao dịch mạng II Bảo mậtLinux Server .7 III Firewall .9 IV Xâydựng hệthống mạng Linux 23 Phụ lục mật GVHD:NguyễnTấnKhôi Cácphần mền bảo 31 Sinhviênthựchiện: LêThịHuyềnTrang NguyễnHuyChương

Ngày đăng: 07/09/2016, 05:47

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan