為了保證伺服器的安全,嚴格限制開放的埠是非常必要的,一般來講,非必要的埠/服務都應該關閉。
首先要檢測一下哪些埠是開放的:
執行: netstat -tunlp
在我的centos 6主機上的結果如下:
可以看到這個linux伺服器上4個埠是開放的。– 前4條是ipv4的表示, 後面4條是給ipv6用的。
其中25號埠只有本地(127.0.0.1)才可以連線。
sshd 當然不能關閉,否則無法ssh登入了。
mysqld也不可一關閉,否則資料庫就無法連線了。
但ftp(vsftp)應該是不需要的, 幾乎在所有的情況下,都可以用sftp (ssh ftp)來代替傳統的ftp。因此我們需要把ftp服務關閉。
1
chkconfig vsftp off
2
3
/etc/init.d/vsftp stop
如果你的列表中有服務是你不希望開放的,你可以通過service *** stop 以及 chkconfig來關閉這些服務
但有個問題,我希望mysql只接收localhost的連線,拒絕任何外部連線。如何設定呢?
最簡單的方法: 通過設定/etc/my.cnf來實現:
在my.cnf配置檔案中[mysqld]部分加上
1
bind-address=127.0.0.1
然後 重新啟動mysqld 的服務。
1
sudo /etc/init.d/mysqld restart
我們再次執行 netstat -tunlp ,結果如下
這表明mysql目前確實只監聽 來自localhost(127.0.0.1)的請求了。
是不是這樣可以了呢? 那防火牆還有沒有必要設定了呢?
事實上,這樣設定並沒有徹底向外界關閉3306埠, 一些埠探測工具仍然會檢測到你的伺服器上的3306埠是open的,並可以向這個埠發包,只是這些試圖連線和攻擊的資料報會被mysql服務拒絕而已。 因此我們還是需要配置相應的防火牆來徹底阻斷外界的攻擊。
關閉Linux系統下不必要的服務
chkconfig list 顯示。chkconfig service off 關閉其中乙個服務。守候程序名字功能對照表。amd 自動安裝nfs 網路檔案系統 守侯程序。apmd 高階電源管理。arpwatch 記錄日誌並構建乙個在lan介面上看到的乙太網位址和ip位址對資料庫。autofs 自動安...
linux安全 移除不必要的服務
鳥哥的 一 關閉服務 關閉的方法有很多,通常我是使用 usr sbin setup 來關閉的,只是用這樣的方式來關閉的話,需要重新啟動 linux 比較麻煩一些些,如果您是使用我們這個網頁的 redhat6.1 系統的話,那就執行 usr sbin setup 吧!然後選擇 system servi...
避免到伺服器的不必要的往返過程
雖然您很可能希望盡量多地使用 web 窗體頁框架的那些節省時間和 的功能,但在某些情況下卻不宜使用 asp.伺服器控制項和回發事件處理。通常,只有在檢索或儲存資料時,您才需要啟動到伺服器的往返過程。多數資料操作可在這些往返過程間的客戶端上進行。例如,從 html 窗體驗證使用者輸入經常可在資料提交到...