歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux 網絡安全和優化

Linux 網絡安全和優化

日期:2017/2/27 14:15:08   编辑:更多Linux
  簡介 網絡安全是一個非常重要的課題,基本上你運行的服務後台越多,你就可能打開更多的安全漏洞.如果配置的恰當的話,Linux本身是非常安全可靠的,假使在Linux系統中有某個安全缺陷,由於Linux的源碼是開放的,有成千上萬的志願者會立刻發現並修補它。本文旨在介紹用來增強/優化你的站點安全性的一般技術,以Redhat Linux作為操作環境。   第一部分:基本的網絡安全 1.操作系統內部的log file是檢測是否有網絡入侵的重要線索,當然這個假定你的logfile不被侵入者所破壞,如果你有台服務器用專線直接連到Internet上,這意味著你的IP地址是永久固定的地址,你會發現有很多人對你的系統做telnet/FTP登錄嘗試,試著運行#more /var/log/secure grep refused 去檢查。 2. 限制具有SUID權限標志的程序數量,具有該權限標志的程序以root身份運行,是一個潛在的安全漏洞,當然,有些程序是必須要具有該標志的,象passwd程序。   3.BIOS安全。設置BIOS密碼且修改引導次序禁止從軟盤啟動系統。 4. 用戶口令。用戶口令是Linux安全的一個最基本的起點,很多人使用的用戶口令就是簡單的‘passWord,這等於給侵入者敞開了大門,雖然從理論上說沒有不能確解的用戶口令,只要有足夠的時間和資源可以利用。比較好的用戶口令是那些只有他自己能夠容易記得並理解的一串字符,並且絕對不要在任何地方寫出來。 5./etc/eXPorts 文件。如果你使用NFS網絡文件系統服務,那麼確保你的/etc/exports具有最嚴格的存取權限設置,不意味著不要使用任何通配符,不允許root寫權限,mount成只讀文件系統。編輯文件/etc/exports並且加:例如:  /dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash)  /dir/to/export 是你想輸出的目錄,host.mydomain.com是登錄這個目錄的機器名, ro意味著mount成只讀系統,root_squash禁止root寫入該目錄。 為了讓上面的改變生效,運行/usr/sbin/exportfs -a 6.確信/etc/inetd.conf的所有者是root,且文件權限設置為600 。 [root@deep]# chmod 600 /etc/inetd.conf ENSURE that the owner is root. [root@deep]# stat /etc/inetd.conf File: "/etc/inetd.conf" Size: 2869 Filetype: Regular File Mode: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Device: 8,6 Inode: 18219 Links: 1 Access: Wed Sep 22 16:24:16 1999(00000.00:10:44) Modify: Mon Sep 20 10:22:44 1999(00002.06:12:16) Change:Mon Sep 20 10:22:44 1999(00002.06:12:16)  編輯/etc/inetd.conf禁止以下服務:


ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth, etc. 除非你真的想用它。 特別是禁止那些r命令.如果你用ssh/scp,那麼你也可以禁止掉telnet/ftp。 為了使改變生效,運行#killall -HUP inetd 你也可以運行#chattr +i /etc/inetd.conf使該文件具有不可更改屬性。 只有root才能解開,用命令#chattr -i /etc/inetd.conf 7. TCP_WRAPPERS 默認地,Redhat Linux允許所有的請求,用TCP_WRAPPERS增強你的站點的安全性是舉手之勞,你可以放入 “ALL: ALL”到/etc/hosts.deny中禁止所有的請求,然後放那些明確允許的請求到 /etc/hosts.allow中,如:sshd: 192.168.1.10/255.255.255.0 gate.openarch.com 對IP地址192.168.1.10和主機名gate.openarch.com,允許通過ssh連接。 配置完了之後,用tcpdchk檢查  [root@deep]# tcpdchk tcpchk是TCP_Wrapper配置檢查工具,它檢查你的tcp wrapper配置並報告所有發現的潛在/存在的問題。 8. 別名文件aliases 編輯別名文件/etc/aliases(也可能是/etc/mail/aliases),移走/注釋掉下面的行。 # Basic system aliases -- these MUST be present. MAILER-DAEMON: postmasterpostmaster: root # General redirections for pseudo accounts. bin: rootdaemon: root #games: root ?remove or comment out. #ingres: root ?remove or comment out.nobody: root #system: root ?remove or comment out. #toor: root ?remove or comment out.#uUCp: root ?remove or comment out. # Well-known aliases. #manager: root ?remove or comment out.#dumper: root ?remove or comment out. #operator: root ?remove or comment out. # trap decode to catch security attacks#decode: root # Person who should get roots mail #root: marc 最後更新後不要忘記運行/usr/bin/newaliases,使改變生效。 9.阻止你的系統響應任何從外部/內部來的ping請求。 既然沒有人能ping通你的機器並收到響應,你可以大大增強你的站點的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次啟動後自動運行。  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 10. 不要顯示出操作系統和版本信息。 如果你希望某個人遠程登錄到你的服務器時不要顯示操作系統和版本信息,你能改變 /etc/inetd.conf中的一行象下面這樣:  telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h  加-h標志在最後使得telnet後台不要顯示系統信息,而僅僅顯示login:  11.The /etc/host.conf file 編輯host.conf文件(vi /etc/host.conf)且加下面的行:  # Lookup names via DNS first then fall back to /etc/hosts. order bind,hosts # We don have machines with multiple IP addresses on the same card (like virtual server,IP Aliasing). multi off # Check for IP address spoofing. nospoof on IP Spoofing: IP-Spoofing is a security exploit that works by tricking computers in a trust relationship that you are someone that you really aren . 

12. The /etc/securetty file 該文件指定了允許root登錄的tty設備,/etc/securetty被/bin/login程序讀取,它的 格式是一行一個被允許的名字列表,如你可以編輯/etc/securetty且注釋出下面的行。 tty1 #tty2 #tty3 #tty4 #tty5 #tty6 #tty7 #tty8 意味著root僅僅被允許在tty1終端登錄。  13. 特別的帳號 禁止所有默認的被操作系統本身啟動的且不需要的帳號,當你第一次裝上系統時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。 為刪除你系統上的用戶,用下面的命令: [root@deep]# userdel username 為刪除你系統上的組用戶帳號,用下面的命令: [root@deep]# groupdel username 在終端上打入下面的命令刪掉下面的用戶。 [root@deep]# userdel adm [root@deep]# userdel lp [root@deep]# userdel sync [root@deep]# userdel shutdown [root@deep]# userdel halt [root@deep]# userdel mail 如果你不用sendmail服務器,procmail.mailx,就刪除這個帳號。 [root@deep]# userdel news [root@deep]# userdel uucp [root@deep]# userdel operator [root@deep]# userdel games 如果你不用X windows 服務器,就刪掉這個帳號。 [root@deep]# userdel gopher [root@deep]# userdel ftp 如果你不允許匿名FTP,就刪掉這個用戶帳號。 打入下面的命令刪除組帳號 [root@deep]# groupdel adm [root@deep]# groupdel lp [root@deep]# groupdel mail 如不用Sendmail服務器,刪除這個組帳號 [root@deep]# groupdel news [root@deep]# groupdel uucp [root@deep]# groupdel games 如你不用X Windows,刪除這個組帳號 [root@deep]# groupdel dip [root@deep]# groupdel pppusers [root@deep]# groupdel popusers 如果你不用POP



打入下面的命令刪除組帳號 [root@deep]# groupdel adm [root@deep]# groupdel lp [root@deep]# groupdel mail 如不用Sendmail服務器,刪除這個組帳號 [root@deep]# groupdel news [root@deep]# groupdel uucp [root@deep]# groupdel games 如你不用X Windows,刪除這個組帳號 [root@deep]# groupdel dip [root@deep]# groupdel pppusers [root@deep]# groupdel popusers 如果你不用POP



[root@deep]# groupdel popusers 如果你不用POP



Copyright © Linux教程網 All Rights Reserved